gnu: Add r-moonbook.
[jackhill/guix/guix.git] / gnu / packages / haskell.scm
... / ...
CommitLineData
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
7;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
9;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages haskell)
36 #:use-module (gnu packages)
37 #:use-module (gnu packages base)
38 #:use-module (gnu packages bootstrap)
39 #:use-module (gnu packages check)
40 #:use-module (gnu packages compression)
41 #:use-module (gnu packages elf)
42 #:use-module (gnu packages gcc)
43 #:use-module (gnu packages ghostscript)
44 #:use-module (gnu packages gl)
45 #:use-module (gnu packages graphviz)
46 #:use-module (gnu packages haskell-check)
47 #:use-module (gnu packages haskell-crypto)
48 #:use-module (gnu packages haskell-web)
49 #:use-module (gnu packages libffi)
50 #:use-module (gnu packages linux)
51 #:use-module (gnu packages lisp)
52 #:use-module (gnu packages lua)
53 #:use-module (gnu packages maths)
54 #:use-module (gnu packages multiprecision)
55 #:use-module (gnu packages ncurses)
56 #:use-module (gnu packages pcre)
57 #:use-module (gnu packages perl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages sdl)
61 #:use-module (gnu packages tls)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
64 #:use-module (guix build-system gnu)
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
67 #:use-module (guix git-download)
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages)
70 #:use-module (guix utils)
71 #:use-module (ice-9 regex)
72 #:use-module ((srfi srfi-1) #:select (alist-delete)))
73
74(define-public cl-yale-haskell
75 (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
76 (revision "1"))
77 (package
78 (name "cl-yale-haskell")
79 (version (string-append "2.0.5-" revision "." (string-take commit 9)))
80 (source (origin
81 (method git-fetch)
82 (uri (git-reference
83 (url "https://git.elephly.net/software/yale-haskell.git")
84 (commit commit)))
85 (file-name (string-append "yale-haskell-" commit "-checkout"))
86 (sha256
87 (base32
88 "0bal3m6ryrjamz5p93bhs9rp5msk8k7lpcqr44wd7xs9b9k8w74g"))))
89 (build-system gnu-build-system)
90 (arguments
91 `(#:tests? #f ; no tests
92 ;; Stripping binaries leads to a broken executable lisp system image.
93 #:strip-binaries? #f
94 #:make-flags
95 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
96 #:phases
97 (modify-phases %standard-phases
98 (replace 'configure
99 (lambda _
100 (setenv "PRELUDE" "./progs/prelude")
101 (setenv "HASKELL_LIBRARY" "./progs/lib")
102 (setenv "PRELUDEBIN" "./progs/prelude/clisp")
103 (setenv "HASKELLPROG" "./bin/clisp-haskell")
104 #t)))))
105 (inputs
106 `(("clisp" ,clisp)))
107 (home-page "https://git.elephly.net/software/yale-haskell.git")
108 (synopsis "Port of the Yale Haskell system to CLISP")
109 (description "This package provides the Yale Haskell system running on
110top of CLISP.")
111 (license license:bsd-4))))
112
113(define ghc-bootstrap-x86_64-7.8.4
114 (origin
115 (method url-fetch)
116 (uri
117 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
118 (sha256
119 (base32
120 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
121
122(define ghc-bootstrap-i686-7.8.4
123 (origin
124 (method url-fetch)
125 (uri
126 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
127 (sha256
128 (base32
129 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
130
131;; 43 tests out of 3965 fail.
132;;
133;; Most of them do not appear to be serious:
134;;
135;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
136;; figured out how these references are generated.
137;;
138;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
139;;
140;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
141;; Data.Vector, Control.Monad.State.
142;;
143;; - Test posix010 tries to check the existence of a user on the system:
144;; getUserEntryForName: does not exist (no such user)
145(define-public ghc-7
146 (package
147 (name "ghc")
148 (version "7.10.2")
149 (source
150 (origin
151 (method url-fetch)
152 (uri (string-append "https://www.haskell.org/ghc/dist/"
153 version "/" name "-" version "-src.tar.xz"))
154 (sha256
155 (base32
156 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
157 (build-system gnu-build-system)
158 (supported-systems '("i686-linux" "x86_64-linux"))
159 (outputs '("out" "doc"))
160 (inputs
161 `(("gmp" ,gmp)
162 ("ncurses" ,ncurses)
163 ("libffi" ,libffi)
164 ("ghc-testsuite"
165 ,(origin
166 (method url-fetch)
167 (uri (string-append
168 "https://www.haskell.org/ghc/dist/"
169 version "/" name "-" version "-testsuite.tar.xz"))
170 (sha256
171 (base32
172 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
173 (native-inputs
174 `(("perl" ,perl)
175 ("python" ,python-2) ; for tests (fails with python-3)
176 ("ghostscript" ,ghostscript) ; for tests
177 ("patchelf" ,patchelf)
178 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
179 ("ghc-binary"
180 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
181 ghc-bootstrap-x86_64-7.8.4
182 ghc-bootstrap-i686-7.8.4))))
183 (arguments
184 `(#:test-target "test"
185 ;; We get a smaller number of test failures by disabling parallel test
186 ;; execution.
187 #:parallel-tests? #f
188
189 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
190 ;; gremlin) doesn't support it yet, so skip this phase.
191 #:validate-runpath? #f
192
193 ;; Don't pass --build=<triplet>, because the configure script
194 ;; auto-detects slightly different triplets for --host and --target and
195 ;; then complains that they don't match.
196 #:build #f
197
198 #:modules ((guix build gnu-build-system)
199 (guix build utils)
200 (guix build rpath)
201 (srfi srfi-26)
202 (srfi srfi-1))
203 #:imported-modules (,@%gnu-build-system-modules
204 (guix build rpath))
205 #:configure-flags
206 (list
207 (string-append "--with-gmp-libraries="
208 (assoc-ref %build-inputs "gmp") "/lib")
209 (string-append "--with-gmp-includes="
210 (assoc-ref %build-inputs "gmp") "/include")
211 "--with-system-libffi"
212 (string-append "--with-ffi-libraries="
213 (assoc-ref %build-inputs "libffi") "/lib")
214 (string-append "--with-ffi-includes="
215 (assoc-ref %build-inputs "libffi") "/include"))
216 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
217 ;; Currently we do not have the last one.
218 ;; #:make-flags
219 ;; (list "BUILD_DOCBOOK_HTML = YES")
220 #:phases
221 (let* ((ghc-bootstrap-path
222 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
223 (ghc-bootstrap-prefix
224 (string-append ghc-bootstrap-path "/usr" )))
225 (alist-cons-after
226 'unpack-bin 'unpack-testsuite-and-fix-bins
227 (lambda* (#:key inputs outputs #:allow-other-keys)
228 (with-directory-excursion ".."
229 (copy-file (assoc-ref inputs "ghc-testsuite")
230 "ghc-testsuite.tar.xz")
231 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
232 (substitute*
233 (list "testsuite/timeout/Makefile"
234 "testsuite/timeout/timeout.py"
235 "testsuite/timeout/timeout.hs"
236 "testsuite/tests/rename/prog006/Setup.lhs"
237 "testsuite/tests/programs/life_space_leak/life.test"
238 "libraries/process/System/Process/Internals.hs"
239 "libraries/unix/cbits/execvpe.c")
240 (("/bin/sh") (which "sh"))
241 (("/bin/rm") "rm"))
242 #t)
243 (alist-cons-after
244 'unpack 'unpack-bin
245 (lambda* (#:key inputs outputs #:allow-other-keys)
246 (mkdir-p ghc-bootstrap-prefix)
247 (with-directory-excursion ghc-bootstrap-path
248 (copy-file (assoc-ref inputs "ghc-binary")
249 "ghc-bin.tar.xz")
250 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
251 (alist-cons-before
252 'install-bin 'configure-bin
253 (lambda* (#:key inputs outputs #:allow-other-keys)
254 (let* ((binaries
255 (list
256 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
257 "./utils/hpc/dist-install/build/tmp/hpc"
258 "./utils/haddock/dist/build/tmp/haddock"
259 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
260 "./utils/runghc/dist-install/build/tmp/runghc"
261 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
262 "./utils/hp2ps/dist/build/tmp/hp2ps"
263 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
264 "./utils/unlit/dist/build/tmp/unlit"
265 "./ghc/stage2/build/tmp/ghc-stage2"))
266 (gmp (assoc-ref inputs "gmp"))
267 (gmp-lib (string-append gmp "/lib"))
268 (gmp-include (string-append gmp "/include"))
269 (ncurses-lib
270 (string-append (assoc-ref inputs "ncurses") "/lib"))
271 (ld-so (string-append (assoc-ref inputs "libc")
272 ,(glibc-dynamic-linker)))
273 (libtinfo-dir
274 (string-append ghc-bootstrap-prefix
275 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
276 (with-directory-excursion
277 (string-append ghc-bootstrap-path "/ghc-7.8.4")
278 (setenv "CONFIG_SHELL" (which "bash"))
279 (setenv "LD_LIBRARY_PATH" gmp-lib)
280 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
281 (for-each
282 (cut system* "patchelf" "--set-interpreter" ld-so <>)
283 binaries)
284 ;; The binaries include a reference to libtinfo.so.5 which
285 ;; is a subset of libncurses.so.5. We create a symlink in a
286 ;; directory included in the bootstrap binaries rpath.
287 (mkdir-p libtinfo-dir)
288 (symlink
289 (string-append ncurses-lib "/libncursesw.so."
290 ;; Extract "6.0" from "6.0-20170930" if a
291 ;; dash-separated version tag exists.
292 ,(let* ((v (package-version ncurses))
293 (d (or (string-index v #\-)
294 (string-length v))))
295 (version-major+minor (string-take v d))))
296 (string-append libtinfo-dir "/libtinfo.so.5"))
297
298 (setenv "PATH"
299 (string-append (getenv "PATH") ":"
300 ghc-bootstrap-prefix "/bin"))
301 (system*
302 (string-append (getcwd) "/configure")
303 (string-append "--prefix=" ghc-bootstrap-prefix)
304 (string-append "--with-gmp-libraries=" gmp-lib)
305 (string-append "--with-gmp-includes=" gmp-include)))))
306 (alist-cons-before
307 'configure 'install-bin
308 (lambda* (#:key inputs outputs #:allow-other-keys)
309 (with-directory-excursion
310 (string-append ghc-bootstrap-path "/ghc-7.8.4")
311 (zero? (system* "make" "install"))))
312 %standard-phases)))))))
313 (native-search-paths (list (search-path-specification
314 (variable "GHC_PACKAGE_PATH")
315 (files (list
316 (string-append "lib/ghc-" version)))
317 (file-pattern ".*\\.conf\\.d$")
318 (file-type 'directory))))
319 (home-page "https://www.haskell.org/ghc")
320 (synopsis "The Glasgow Haskell Compiler")
321 (description
322 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
323interactive environment for the functional language Haskell.")
324 (license license:bsd-3)))
325
326(define-public ghc-8.0
327 (package
328 (name "ghc")
329 (version "8.0.2")
330 (source
331 (origin
332 (method url-fetch)
333 (uri (string-append "https://www.haskell.org/ghc/dist/"
334 version "/" name "-" version "-src.tar.xz"))
335 (sha256
336 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
337 (patches
338 (search-patches
339 "ghc-dont-pass-linker-flags-via-response-files.patch"
340 "ghc-8.0-fall-back-to-madv_dontneed.patch"))))
341 (build-system gnu-build-system)
342 (supported-systems '("i686-linux" "x86_64-linux"))
343 (outputs '("out" "doc"))
344 (inputs
345 `(("gmp" ,gmp)
346 ("ncurses" ,ncurses)
347 ("libffi" ,libffi)
348 ("ghc-testsuite"
349 ,(origin
350 (method url-fetch)
351 (uri (string-append
352 "https://www.haskell.org/ghc/dist/"
353 version "/" name "-" version "-testsuite.tar.xz"))
354 (sha256
355 (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
356 (native-inputs
357 `(("perl" ,perl)
358 ("python" ,python-2) ; for tests
359 ("ghostscript" ,ghostscript) ; for tests
360 ;; GHC is built with GHC.
361 ("ghc-bootstrap" ,ghc-7)))
362 (arguments
363 `(#:test-target "test"
364 ;; We get a smaller number of test failures by disabling parallel test
365 ;; execution.
366 #:parallel-tests? #f
367
368 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
369 ;; gremlin) doesn't support it yet, so skip this phase.
370 #:validate-runpath? #f
371
372 ;; Don't pass --build=<triplet>, because the configure script
373 ;; auto-detects slightly different triplets for --host and --target and
374 ;; then complains that they don't match.
375 #:build #f
376
377 #:configure-flags
378 (list
379 (string-append "--with-gmp-libraries="
380 (assoc-ref %build-inputs "gmp") "/lib")
381 (string-append "--with-gmp-includes="
382 (assoc-ref %build-inputs "gmp") "/include")
383 "--with-system-libffi"
384 (string-append "--with-ffi-libraries="
385 (assoc-ref %build-inputs "libffi") "/lib")
386 (string-append "--with-ffi-includes="
387 (assoc-ref %build-inputs "libffi") "/include")
388 (string-append "--with-curses-libraries="
389 (assoc-ref %build-inputs "ncurses") "/lib")
390 (string-append "--with-curses-includes="
391 (assoc-ref %build-inputs "ncurses") "/include"))
392 #:phases
393 (modify-phases %standard-phases
394 (add-after 'unpack 'unpack-testsuite
395 (lambda* (#:key inputs #:allow-other-keys)
396 (with-directory-excursion ".."
397 (copy-file (assoc-ref inputs "ghc-testsuite")
398 "ghc-testsuite.tar.xz")
399 (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")))))
400 (add-before 'build 'fix-lib-paths
401 (lambda _
402 (substitute*
403 (list "libraries/process/System/Process/Posix.hs"
404 "libraries/process/tests/process001.hs"
405 "libraries/process/tests/process002.hs"
406 "libraries/unix/cbits/execvpe.c")
407 (("/bin/sh") (which "sh"))
408 (("/bin/ls") (which "ls")))
409 #t))
410 (add-before 'build 'fix-environment
411 (lambda _
412 (unsetenv "GHC_PACKAGE_PATH")
413 (setenv "CONFIG_SHELL" (which "bash"))
414 #t))
415 (add-before 'check 'fix-testsuite
416 (lambda _
417 (substitute*
418 (list "testsuite/timeout/Makefile"
419 "testsuite/timeout/timeout.py"
420 "testsuite/timeout/timeout.hs"
421 "testsuite/tests/programs/life_space_leak/life.test")
422 (("/bin/sh") (which "sh"))
423 (("/bin/rm") "rm"))
424 #t)))))
425 (native-search-paths (list (search-path-specification
426 (variable "GHC_PACKAGE_PATH")
427 (files (list
428 (string-append "lib/ghc-" version)))
429 (file-pattern ".*\\.conf\\.d$")
430 (file-type 'directory))))
431 (home-page "https://www.haskell.org/ghc")
432 (synopsis "The Glasgow Haskell Compiler")
433 (description
434 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
435interactive environment for the functional language Haskell.")
436 (license license:bsd-3)))
437
438(define-public ghc-8
439 (package (inherit ghc-8.0)
440 (name "ghc")
441 (version "8.4.3")
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append "https://www.haskell.org/ghc/dist/"
446 version "/" name "-" version "-src.tar.xz"))
447 (sha256
448 (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf"))))
449 (inputs
450 `(("gmp" ,gmp)
451 ("ncurses" ,ncurses)
452 ("libffi" ,libffi)
453 ("target-binutils" ,binutils)
454 ("target-gcc" ,gcc)
455 ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
456 #:binutils binutils))))
457 (native-inputs
458 `(("perl" ,perl)
459 ("python" ,python) ; for tests
460 ("ghostscript" ,ghostscript) ; for tests
461 ;; GHC 8.4.3 is built with GHC 8.
462 ("ghc-bootstrap" ,ghc-8.0)
463 ("ghc-testsuite"
464 ,(origin
465 (method url-fetch)
466 (uri (string-append
467 "https://www.haskell.org/ghc/dist/"
468 version "/" name "-" version "-testsuite.tar.xz"))
469 (sha256
470 (base32
471 "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz"))))))
472 (arguments
473 `(#:test-target "test"
474 ;; We get a smaller number of test failures by disabling parallel test
475 ;; execution.
476 #:parallel-tests? #f
477
478 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
479 ;; gremlin) doesn't support it yet, so skip this phase.
480 #:validate-runpath? #f
481
482 ;; Don't pass --build=<triplet>, because the configure script
483 ;; auto-detects slightly different triplets for --host and --target and
484 ;; then complains that they don't match.
485 #:build #f
486
487 #:configure-flags
488 (list
489 (string-append "--with-gmp-libraries="
490 (assoc-ref %build-inputs "gmp") "/lib")
491 (string-append "--with-gmp-includes="
492 (assoc-ref %build-inputs "gmp") "/include")
493 "--with-system-libffi"
494 (string-append "--with-ffi-libraries="
495 (assoc-ref %build-inputs "libffi") "/lib")
496 (string-append "--with-ffi-includes="
497 (assoc-ref %build-inputs "libffi") "/include")
498 (string-append "--with-curses-libraries="
499 (assoc-ref %build-inputs "ncurses") "/lib")
500 (string-append "--with-curses-includes="
501 (assoc-ref %build-inputs "ncurses") "/include"))
502 #:phases
503 (modify-phases %standard-phases
504 (add-after 'unpack 'unpack-testsuite
505 (lambda* (#:key inputs #:allow-other-keys)
506 (invoke "tar" "xvf"
507 (assoc-ref inputs "ghc-testsuite")
508 "--strip-components=1")
509 #t))
510 (add-after 'unpack-testsuite 'fix-shell-wrappers
511 (lambda _
512 (substitute* '("driver/ghci/ghc.mk"
513 "utils/mkdirhier/ghc.mk"
514 "rules/shell-wrapper.mk")
515 (("echo '#!/bin/sh'")
516 (format #f "echo '#!~a'" (which "sh"))))
517 #t))
518 ;; This is necessary because the configure system no longer uses
519 ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the
520 ;; plain command names.
521 (add-before 'configure 'set-target-programs
522 (lambda* (#:key inputs #:allow-other-keys)
523 (let ((binutils (assoc-ref inputs "target-binutils"))
524 (gcc (assoc-ref inputs "target-gcc"))
525 (ld-wrapper (assoc-ref inputs "target-ld-wrapper")))
526 (setenv "CC" (string-append gcc "/bin/gcc"))
527 (setenv "CXX" (string-append gcc "/bin/g++"))
528 (setenv "LD" (string-append ld-wrapper "/bin/ld"))
529 (setenv "NM" (string-append binutils "/bin/nm"))
530 (setenv "RANLIB" (string-append binutils "/bin/ranlib"))
531 (setenv "STRIP" (string-append binutils "/bin/strip"))
532 ;; The 'ar' command does not follow the same pattern.
533 (setenv "fp_prog_ar" (string-append binutils "/bin/ar"))
534 #t)))
535 (add-before 'build 'fix-references
536 (lambda _
537 (substitute* '("testsuite/timeout/Makefile"
538 "testsuite/timeout/timeout.py"
539 "testsuite/timeout/timeout.hs"
540 "testsuite/tests/programs/life_space_leak/life.test"
541 ;; libraries
542 "libraries/process/System/Process/Posix.hs"
543 "libraries/process/tests/process001.hs"
544 "libraries/process/tests/process002.hs"
545 "libraries/unix/cbits/execvpe.c")
546 (("/bin/sh") (which "sh"))
547 (("/bin/ls") (which "ls"))
548 (("/bin/rm") "rm"))
549 #t))
550 (add-before 'build 'fix-environment
551 (lambda _
552 (unsetenv "GHC_PACKAGE_PATH")
553 (setenv "CONFIG_SHELL" (which "bash"))
554 #t)))))
555 (native-search-paths (list (search-path-specification
556 (variable "GHC_PACKAGE_PATH")
557 (files (list
558 (string-append "lib/ghc-" version)))
559 (file-pattern ".*\\.conf\\.d$")
560 (file-type 'directory))))))
561
562(define-public ghc ghc-8.0)
563
564(define-public ghc-hostname
565 (package
566 (name "ghc-hostname")
567 (version "1.0")
568 (source
569 (origin
570 (method url-fetch)
571 (uri (string-append "https://hackage.haskell.org/package/hostname/"
572 "hostname-" version ".tar.gz"))
573 (sha256
574 (base32
575 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
576 (build-system haskell-build-system)
577 (home-page "https://hackage.haskell.org/package/hostname")
578 (synopsis "Hostname in Haskell")
579 (description "Network.HostName is a simple package providing a means to
580determine the hostname.")
581 (license license:bsd-3)))
582
583(define-public ghc-convertible
584 (package
585 (name "ghc-convertible")
586 (version "1.1.1.0")
587 (source
588 (origin
589 (method url-fetch)
590 (uri (string-append "https://hackage.haskell.org/package/convertible/"
591 "convertible-" version ".tar.gz"))
592 (sha256
593 (base32
594 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
595 (build-system haskell-build-system)
596 (inputs
597 `(("ghc-old-time" ,ghc-old-time)
598 ("ghc-old-locale" ,ghc-old-locale)
599 ("ghc-mtl" ,ghc-mtl)
600 ("ghc-text" ,ghc-text)))
601 (home-page "https://hackage.haskell.org/package/convertible")
602 (synopsis "Typeclasses and instances for converting between types")
603 (description
604 "This package provides a typeclass with a single function that is
605designed to help convert between different types: numeric values, dates and
606times, and the like. The conversions perform bounds checking and return a
607pure @code{Either} value. This means that you need not remember which specific
608function performs the conversion you desire.")
609 (license license:bsd-3)))
610
611(define-public ghc-double-conversion
612 (package
613 (name "ghc-double-conversion")
614 (version "2.0.2.0")
615 (source
616 (origin
617 (method url-fetch)
618 (uri (string-append "https://hackage.haskell.org/package/"
619 "double-conversion/double-conversion-"
620 version ".tar.gz"))
621 (sha256
622 (base32
623 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
624 (build-system haskell-build-system)
625 (inputs `(("ghc-text" ,ghc-text)))
626 (native-inputs
627 `(("ghc-hunit" ,ghc-hunit)
628 ("ghc-test-framework" ,ghc-test-framework)
629 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
630 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
631 (home-page "https://github.com/bos/double-conversion")
632 (synopsis "Fast conversion between double precision floating point and text")
633 (description
634 "This package provides a library that performs fast, accurate conversion
635between double precision floating point and text.")
636 (license license:bsd-3)))
637
638(define-public ghc-libxml
639 (package
640 (name "ghc-libxml")
641 (version "0.1.1")
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "https://hackage.haskell.org/package/libxml/"
646 "libxml-" version ".tar.gz"))
647 (sha256
648 (base32
649 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
650 (build-system haskell-build-system)
651 (inputs
652 `(("ghc-mtl" ,ghc-mtl)
653 ("libxml2" ,libxml2)))
654 (arguments
655 `(#:configure-flags
656 `(,(string-append "--extra-include-dirs="
657 (assoc-ref %build-inputs "libxml2")
658 "/include/libxml2"))))
659 (home-page "https://hackage.haskell.org/package/libxml")
660 (synopsis "Haskell bindings to libxml2")
661 (description
662 "This library provides minimal Haskell binding to libxml2.")
663 (license license:bsd-3)))
664
665(define-public ghc-prelude-extras
666 (package
667 (name "ghc-prelude-extras")
668 (version "0.4.0.3")
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append
673 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
674 version
675 ".tar.gz"))
676 (sha256
677 (base32
678 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
679 (build-system haskell-build-system)
680 (home-page "https://github.com/ekmett/prelude-extras")
681 (synopsis "Higher order versions of Prelude classes")
682 (description "This library provides higher order versions of
683@code{Prelude} classes to ease programming with polymorphic recursion and
684reduce @code{UndecidableInstances}.")
685 (license license:bsd-3)))
686
687(define-public ghc-data-default
688 (package
689 (name "ghc-data-default")
690 (version "0.7.1.1")
691 (source
692 (origin
693 (method url-fetch)
694 (uri (string-append
695 "https://hackage.haskell.org/package/data-default/data-default-"
696 version
697 ".tar.gz"))
698 (sha256
699 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
700 (build-system haskell-build-system)
701 (inputs
702 `(("ghc-data-default-class"
703 ,ghc-data-default-class)
704 ("ghc-data-default-instances-base"
705 ,ghc-data-default-instances-base)
706 ("ghc-data-default-instances-containers"
707 ,ghc-data-default-instances-containers)
708 ("ghc-data-default-instances-dlist"
709 ,ghc-data-default-instances-dlist)
710 ("ghc-data-default-instances-old-locale"
711 ,ghc-data-default-instances-old-locale)))
712 (home-page "https://hackage.haskell.org/package/data-default")
713 (synopsis "Types with default values")
714 (description
715 "This package defines a class for types with a default value, and
716provides instances for types from the base, containers, dlist and old-locale
717packages.")
718 (license license:bsd-3)))
719
720(define-public ghc-data-default-class
721 (package
722 (name "ghc-data-default-class")
723 (version "0.1.2.0")
724 (source
725 (origin
726 (method url-fetch)
727 (uri (string-append
728 "https://hackage.haskell.org/package/data-default-class/"
729 "data-default-class-" version ".tar.gz"))
730 (sha256
731 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
732 (build-system haskell-build-system)
733 (home-page "https://hackage.haskell.org/package/data-default-class")
734 (synopsis "Types with default values")
735 (description
736 "This package defines a class for types with default values.")
737 (license license:bsd-3)))
738
739(define-public ghc-data-default-instances-base
740 (package
741 (name "ghc-data-default-instances-base")
742 (version "0.1.0.1")
743 (source
744 (origin
745 (method url-fetch)
746 (uri (string-append
747 "https://hackage.haskell.org/package/"
748 "data-default-instances-base/"
749 "data-default-instances-base-" version ".tar.gz"))
750 (sha256
751 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
752 (build-system haskell-build-system)
753 (inputs
754 `(("ghc-data-default-class" ,ghc-data-default-class)))
755 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
756 (synopsis "Default instances for types in base")
757 (description
758 "This package provides default instances for types from the base
759package.")
760 (license license:bsd-3)))
761
762(define-public ghc-data-default-instances-containers
763 (package
764 (name "ghc-data-default-instances-containers")
765 (version "0.0.1")
766 (source
767 (origin
768 (method url-fetch)
769 (uri (string-append
770 "https://hackage.haskell.org/package/"
771 "data-default-instances-containers/"
772 "data-default-instances-containers-" version ".tar.gz"))
773 (sha256
774 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
775 (build-system haskell-build-system)
776 (inputs
777 `(("ghc-data-default-class" ,ghc-data-default-class)))
778 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
779 (synopsis "Default instances for types in containers")
780 (description "Provides default instances for types from the containers
781package.")
782 (license license:bsd-3)))
783
784(define-public ghc-data-default-instances-dlist
785 (package
786 (name "ghc-data-default-instances-dlist")
787 (version "0.0.1")
788 (source
789 (origin
790 (method url-fetch)
791 (uri (string-append
792 "https://hackage.haskell.org/package/"
793 "data-default-instances-dlist/"
794 "data-default-instances-dlist-" version ".tar.gz"))
795 (sha256
796 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
797 (build-system haskell-build-system)
798 (inputs
799 `(("ghc-data-default-class" ,ghc-data-default-class)
800 ("ghc-dlist" ,ghc-dlist)))
801 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
802 (synopsis "Default instances for types in dlist")
803 (description "Provides default instances for types from the dlist
804package.")
805 (license license:bsd-3)))
806
807(define-public ghc-code-page
808 (package
809 (name "ghc-code-page")
810 (version "0.1.3")
811 (source
812 (origin
813 (method url-fetch)
814 (uri (string-append
815 "https://hackage.haskell.org/package/code-page/code-page-"
816 version ".tar.gz"))
817 (sha256
818 (base32
819 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
820 (build-system haskell-build-system)
821 (home-page "https://github.com/RyanGlScott/code-page")
822 (synopsis "Windows code page library for Haskell")
823 (description "A cross-platform library with functions for adjusting
824code pages on Windows. On all other operating systems, the library does
825nothing.")
826 (license license:bsd-3)))
827
828(define-public ghc-haddock-library
829 (package
830 (name "ghc-haddock-library")
831 (version "1.4.3")
832 (source
833 (origin
834 (method url-fetch)
835 (uri (string-append
836 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
837 version
838 ".tar.gz"))
839 (sha256
840 (base32
841 "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p"))))
842 (build-system haskell-build-system)
843 (inputs
844 `(("ghc-base-compat" ,ghc-base-compat)))
845 (native-inputs
846 `(("hspec-discover" ,hspec-discover)
847 ("ghc-hspec" ,ghc-hspec)
848 ("ghc-quickcheck" ,ghc-quickcheck)))
849 (home-page "https://www.haskell.org/haddock/")
850 (synopsis "Library exposing some functionality of Haddock")
851 (description
852 "Haddock is a documentation-generation tool for Haskell libraries. These
853modules expose some functionality of it without pulling in the GHC dependency.
854Please note that the API is likely to change so specify upper bounds in your
855project if you can't release often. For interacting with Haddock itself, see
856the ‘haddock’ package.")
857 (license license:bsd-3)))
858
859(define-public ghc-haddock-api
860 (package
861 (name "ghc-haddock-api")
862 ;; This is the last version to be supported by Cabal < 2.0
863 (version "2.17.4")
864 (source
865 (origin
866 (method url-fetch)
867 (uri (string-append
868 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
869 version
870 ".tar.gz"))
871 (sha256
872 (base32
873 "00fn6pzgg8xjbaw12d76jdqh2dbc5xy7miyz0x6kidvvar7i35ss"))))
874 (build-system haskell-build-system)
875 (inputs
876 `(("ghc-paths" ,ghc-paths)
877 ("ghc-haddock-library" ,ghc-haddock-library)))
878 (native-inputs
879 `(("ghc-quickcheck" ,ghc-quickcheck)
880 ("ghc-hspec" ,ghc-hspec)
881 ("hspec-discover" ,hspec-discover)))
882 (home-page "https://www.haskell.org/haddock/")
883 (synopsis "API for documentation-generation tool Haddock")
884 (description "This package provides an API to Haddock, the
885documentation-generation tool for Haskell libraries.")
886 (license license:bsd-3)))
887
888(define-public ghc-haddock-test
889 (package
890 (name "ghc-haddock-test")
891 (version "0.0.1")
892 (source
893 (origin
894 (method url-fetch)
895 (uri (string-append "https://hackage.haskell.org/package/"
896 "haddock-test/haddock-test-"
897 version ".tar.gz"))
898 (sha256
899 (base32
900 "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
901 (build-system haskell-build-system)
902 (inputs
903 `(("ghc-xml" ,ghc-xml)
904 ("ghc-syb" ,ghc-syb)))
905 (home-page "http://www.haskell.org/haddock/")
906 (synopsis "Test utilities for Haddock")
907 (description "This package provides test utilities for Haddock.")
908 (license license:bsd-3)))
909
910(define-public ghc-haddock
911 (package
912 (name "ghc-haddock")
913 (version "2.17.4")
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
918 "https://hackage.haskell.org/package/haddock/haddock-"
919 version
920 ".tar.gz"))
921 (sha256
922 (base32
923 "1z3h3v7w84dzsm47iavdppc2w899mr4c1agq9fzghgz902i0a655"))))
924 (build-system haskell-build-system)
925 ;; FIXME: Tests fail with this error:
926 ;; driver-test/Main.hs:4:1: error:
927 ;; Failed to load interface for ‘ResponseFileSpec’
928 (arguments `(#:tests? #f))
929 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
930 (native-inputs
931 `(("ghc-hspec" ,ghc-hspec)
932 ("ghc-haddock-test" ,ghc-haddock-test)))
933 (home-page "https://www.haskell.org/haddock/")
934 (synopsis
935 "Documentation-generation tool for Haskell libraries")
936 (description
937 "Haddock is a documentation-generation tool for Haskell libraries.")
938 (license license:bsd-3)))
939
940(define-public ghc-simple-reflect
941 (package
942 (name "ghc-simple-reflect")
943 (version "0.3.2")
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append
948 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
949 version
950 ".tar.gz"))
951 (sha256
952 (base32
953 "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"))))
954 (build-system haskell-build-system)
955 (home-page
956 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
957 (synopsis
958 "Simple reflection of expressions containing variables")
959 (description
960 "This package allows simple reflection of expressions containing
961variables. Reflection here means that a Haskell expression is turned into a
962string. The primary aim of this package is teaching and understanding; there
963are no options for manipulating the reflected expressions beyond showing
964them.")
965 (license license:bsd-3)))
966
967(define-public ghc-haskell-src
968 (package
969 (name "ghc-haskell-src")
970 (version "1.0.2.0")
971 (source
972 (origin
973 (method url-fetch)
974 (uri (string-append
975 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
976 version
977 ".tar.gz"))
978 (sha256
979 (base32
980 "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a"))))
981 (build-system haskell-build-system)
982 (inputs
983 `(("ghc-happy" ,ghc-happy)
984 ("ghc-syb" ,ghc-syb)))
985 (home-page
986 "https://hackage.haskell.org/package/haskell-src")
987 (synopsis
988 "Support for manipulating Haskell source code")
989 (description
990 "The 'haskell-src' package provides support for manipulating Haskell
991source code. The package provides a lexer, parser and pretty-printer, and a
992definition of a Haskell abstract syntax tree (AST). Common uses of this
993package are to parse or generate Haskell 98 code.")
994 (license license:bsd-3)))
995
996(define-public ghc-alex
997 (package
998 (name "ghc-alex")
999 (version "3.2.3")
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
1004 "https://hackage.haskell.org/package/alex/alex-"
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
1009 "0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs"))))
1010 (build-system haskell-build-system)
1011 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
1012 (home-page "https://www.haskell.org/alex/")
1013 (synopsis
1014 "Tool for generating lexical analysers in Haskell")
1015 (description
1016 "Alex is a tool for generating lexical analysers in Haskell. It takes a
1017description of tokens based on regular expressions and generates a Haskell
1018module containing code for scanning text efficiently. It is similar to the
1019tool lex or flex for C/C++.")
1020 (license license:bsd-3)))
1021
1022(define-public ghc-cgi
1023 (package
1024 (name "ghc-cgi")
1025 (version "3001.3.0.2")
1026 (source
1027 (origin
1028 (method url-fetch)
1029 (uri (string-append
1030 "https://hackage.haskell.org/package/cgi/cgi-"
1031 version
1032 ".tar.gz"))
1033 (sha256
1034 (base32
1035 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
1036 (build-system haskell-build-system)
1037 (arguments
1038 `(#:configure-flags (list "--allow-newer=QuickCheck")))
1039 (inputs
1040 `(("ghc-parsec" ,ghc-parsec)
1041 ("ghc-exceptions" ,ghc-exceptions)
1042 ("ghc-multipart" ,ghc-multipart)
1043 ("ghc-network-uri" ,ghc-network-uri)
1044 ("ghc-network" ,ghc-network)
1045 ("ghc-mtl" ,ghc-mtl)))
1046 (native-inputs
1047 `(("ghc-doctest" ,ghc-doctest)
1048 ("ghc-quickcheck" ,ghc-quickcheck)))
1049 (home-page
1050 "https://github.com/cheecheeo/haskell-cgi")
1051 (synopsis "Library for writing CGI programs")
1052 (description
1053 "This is a Haskell library for writing CGI programs.")
1054 (license license:bsd-3)))
1055
1056(define-public ghc-cmdargs
1057 (package
1058 (name "ghc-cmdargs")
1059 (version "0.10.18")
1060 (source
1061 (origin
1062 (method url-fetch)
1063 (uri (string-append
1064 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1065 version ".tar.gz"))
1066 (sha256
1067 (base32
1068 "1lnmcsf6p9yrwwz1zvrw5lbc32xpff7b70yz4ylawaflnlz6wrlh"))))
1069 (build-system haskell-build-system)
1070 (home-page
1071 "http://community.haskell.org/~ndm/cmdargs/")
1072 (synopsis "Command line argument processing")
1073 (description
1074 "This library provides an easy way to define command line parsers.")
1075 (license license:bsd-3)))
1076
1077(define-public ghc-concatenative
1078 (package
1079 (name "ghc-concatenative")
1080 (version "1.0.1")
1081 (source (origin
1082 (method url-fetch)
1083 (uri (string-append
1084 "https://hackage.haskell.org/package/concatenative/concatenative-"
1085 version ".tar.gz"))
1086 (sha256
1087 (base32
1088 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1089 (build-system haskell-build-system)
1090 (home-page
1091 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1092 (synopsis "Library for postfix control flow")
1093 (description
1094 "Concatenative gives Haskell Factor-style combinators and arrows for
1095postfix notation. For more information on stack based languages, see
1096@uref{https://concatenative.org}.")
1097 (license license:bsd-3)))
1098
1099(define-public ghc-happy
1100 (package
1101 (name "ghc-happy")
1102 (version "1.19.8")
1103 (source
1104 (origin
1105 (method url-fetch)
1106 (uri (string-append
1107 "https://hackage.haskell.org/package/happy/happy-"
1108 version
1109 ".tar.gz"))
1110 (sha256
1111 (base32
1112 "186ky3bly0i3cc56qk3r7j7pxh2108aackq4n2lli7jmbnb3kxsd"))))
1113 (build-system haskell-build-system)
1114 (inputs
1115 `(("ghc-mtl" ,ghc-mtl)))
1116 (home-page "https://hackage.haskell.org/package/happy")
1117 (synopsis "Parser generator for Haskell")
1118 (description "Happy is a parser generator for Haskell. Given a grammar
1119specification in BNF, Happy generates Haskell code to parse the grammar.
1120Happy works in a similar way to the yacc tool for C.")
1121 (license license:bsd-3)))
1122
1123(define-public ghc-haskell-lexer
1124 (package
1125 (name "ghc-haskell-lexer")
1126 (version "1.0.1")
1127 (source
1128 (origin
1129 (method url-fetch)
1130 (uri (string-append
1131 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
1132 version ".tar.gz"))
1133 (sha256
1134 (base32
1135 "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
1136 (build-system haskell-build-system)
1137 (home-page "http://hackage.haskell.org/package/haskell-lexer")
1138 (synopsis "Fully compliant Haskell 98 lexer")
1139 (description
1140 "This package provides a fully compliant Haskell 98 lexer.")
1141 (license license:bsd-3)))
1142
1143(define-public ghc-pretty-show
1144 (package
1145 (name "ghc-pretty-show")
1146 (version "1.6.12")
1147 (source
1148 (origin
1149 (method url-fetch)
1150 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1151 "pretty-show-" version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "1fblcxw4z4ry14brin1mvwccs6hqqlhi7xhwv1f23szjq25cjacn"))))
1155 (build-system haskell-build-system)
1156 (inputs
1157 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
1158 ("ghc-happy" ,ghc-happy)))
1159 (home-page "http://wiki.github.com/yav/pretty-show")
1160 (synopsis "Tools for working with derived `Show` instances")
1161 (description
1162 "This package provides a library and an executable for working with
1163derived @code{Show} instances. By using the library, derived @code{Show}
1164instances can be parsed into a generic data structure. The @code{ppsh} tool
1165uses the library to produce human-readable versions of @code{Show} instances,
1166which can be quite handy for debugging Haskell programs. We can also render
1167complex generic values into an interactive Html page, for easier
1168examination.")
1169 (license license:expat)))
1170
1171(define-public ghc-pretty-show-for-haskell-src-exts
1172 (package (inherit ghc-pretty-show)
1173 (name "ghc-pretty-show")
1174 (version "1.6.10")
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1179 "pretty-show-" version ".tar.gz"))
1180 (sha256
1181 (base32
1182 "133s4l1gk46saf6ycm785rswycy8g3j0qqrv93b5wp8cp50kd0ww"))))))
1183
1184(define-public ghc-haskell-src-exts
1185 (package
1186 (name "ghc-haskell-src-exts")
1187 (version "1.20.1")
1188 (source
1189 (origin
1190 (method url-fetch)
1191 (uri (string-append
1192 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
1193 version
1194 ".tar.gz"))
1195 (sha256
1196 (base32
1197 "1jsjl9hja2dpcfq4mzlfpwyr6axwnwgacfb7aa070kz4lbygzaa8"))))
1198 (build-system haskell-build-system)
1199 (inputs
1200 `(("cpphs" ,cpphs)
1201 ("ghc-happy" ,ghc-happy)
1202 ("ghc-mtl" ,ghc-mtl)
1203 ("ghc-pretty-show" ,ghc-pretty-show-for-haskell-src-exts)))
1204 (native-inputs
1205 `(("ghc-smallcheck" ,ghc-smallcheck)
1206 ("ghc-tasty" ,ghc-tasty)
1207 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
1208 ("ghc-tasty-golden" ,ghc-tasty-golden)))
1209 (home-page "https://github.com/haskell-suite/haskell-src-exts")
1210 (synopsis "Library for manipulating Haskell source")
1211 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
1212extension of the standard @code{haskell-src} package, and handles most
1213registered syntactic extensions to Haskell. All extensions implemented in GHC
1214are supported. Apart from these standard extensions, it also handles regular
1215patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
1216 (license license:bsd-3)))
1217
1218(define-public ghc-haskell-src-exts-util
1219 (package
1220 (name "ghc-haskell-src-exts-util")
1221 (version "0.2.2")
1222 (source
1223 (origin
1224 (method url-fetch)
1225 (uri (string-append "https://hackage.haskell.org/package/"
1226 "haskell-src-exts-util/haskell-src-exts-util-"
1227 version ".tar.gz"))
1228 (sha256
1229 (base32
1230 "14rhwcrdz3kfb69c64qn8kybl7wnpajrjlfz5p95ca4bva4mwclg"))))
1231 (build-system haskell-build-system)
1232 (inputs
1233 `(("ghc-data-default" ,ghc-data-default)
1234 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1235 ("ghc-semigroups" ,ghc-semigroups)
1236 ("ghc-uniplate" ,ghc-uniplate)))
1237 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
1238 (synopsis "Helper functions for working with haskell-src-exts trees")
1239 (description
1240 "This package provides helper functions for working with
1241@code{haskell-src-exts} trees.")
1242 (license license:bsd-3)))
1243
1244(define-public ghc-refact
1245 (package
1246 (name "ghc-refact")
1247 (version "0.3.0.2")
1248 (source
1249 (origin
1250 (method url-fetch)
1251 (uri (string-append "https://hackage.haskell.org/package/"
1252 "refact/refact-"
1253 version ".tar.gz"))
1254 (sha256
1255 (base32
1256 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
1257 (build-system haskell-build-system)
1258 (home-page "http://hackage.haskell.org/package/refact")
1259 (synopsis "Specify refactorings to perform with apply-refact")
1260 (description
1261 "This library provides a datatype which can be interpreted by
1262@code{apply-refact}. It exists as a separate library so that applications can
1263specify refactorings without depending on GHC.")
1264 (license license:bsd-3)))
1265
1266(define-public hlint
1267 (package
1268 (name "hlint")
1269 (version "2.1.1")
1270 (source
1271 (origin
1272 (method url-fetch)
1273 (uri (string-append
1274 "https://hackage.haskell.org/package/" name
1275 "/" name "-" version ".tar.gz"))
1276 (sha256
1277 (base32
1278 "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4"))))
1279 (build-system haskell-build-system)
1280 (inputs
1281 `(("cpphs" ,cpphs)
1282 ("ghc-unordered-containers" ,ghc-unordered-containers)
1283 ("ghc-yaml" ,ghc-yaml)
1284 ("ghc-vector" ,ghc-vector)
1285 ("ghc-text" ,ghc-text)
1286 ("ghc-data-default" ,ghc-data-default)
1287 ("ghc-cmdargs" ,ghc-cmdargs)
1288 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1289 ("ghc-haskell-src-exts-util" ,ghc-haskell-src-exts-util)
1290 ("ghc-uniplate" ,ghc-uniplate)
1291 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1292 ("ghc-extra" ,ghc-extra)
1293 ("ghc-refact" ,ghc-refact)
1294 ("ghc-aeson" ,ghc-aeson)
1295 ("hscolour" ,hscolour)))
1296 (home-page "http://community.haskell.org/~ndm/hlint/")
1297 (synopsis "Suggest improvements for Haskell source code")
1298 (description "HLint reads Haskell programs and suggests changes that
1299hopefully make them easier to read. HLint also makes it easy to disable
1300unwanted suggestions, and to add your own custom suggestions.")
1301 (license license:bsd-3)))
1302
1303(define-public ghc-resourcet
1304 (package
1305 (name "ghc-resourcet")
1306 (version "1.2.1")
1307 (source
1308 (origin
1309 (method url-fetch)
1310 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
1311 "resourcet-" version ".tar.gz"))
1312 (sha256
1313 (base32
1314 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
1315 (build-system haskell-build-system)
1316 (inputs
1317 `(("ghc-transformers-base" ,ghc-transformers-base)
1318 ("ghc-monad-control" ,ghc-monad-control)
1319 ("ghc-transformers-compat" ,ghc-transformers-compat)
1320 ("ghc-mtl" ,ghc-mtl)
1321 ("ghc-mmorph" ,ghc-mmorph)
1322 ("ghc-exceptions" ,ghc-exceptions)
1323 ("ghc-unliftio-core" ,ghc-unliftio-core)))
1324 (native-inputs
1325 `(("ghc-lifted-base" ,ghc-lifted-base)
1326 ("ghc-hspec" ,ghc-hspec)))
1327 (home-page "https://github.com/snoyberg/conduit")
1328 (synopsis "Deterministic allocation and freeing of scarce resources")
1329 (description "ResourceT is a monad transformer which creates a region of
1330code where you can safely allocate resources.")
1331 (license license:bsd-3)))
1332
1333(define-public ghc-objectname
1334 (package
1335 (name "ghc-objectname")
1336 (version "1.1.0.1")
1337 (source
1338 (origin
1339 (method url-fetch)
1340 (uri (string-append
1341 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
1342 version
1343 ".tar.gz"))
1344 (sha256
1345 (base32
1346 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
1347 (build-system haskell-build-system)
1348 (home-page "https://hackage.haskell.org/package/ObjectName")
1349 (synopsis "Helper library for Haskell OpenGL")
1350 (description "This tiny package contains the class ObjectName, which
1351corresponds to the general notion of explicitly handled identifiers for API
1352objects, e.g. a texture object name in OpenGL or a buffer object name in
1353OpenAL.")
1354 (license license:bsd-3)))
1355
1356(define-public ghc-sdl
1357 (package
1358 (name "ghc-sdl")
1359 (version "0.6.5.1")
1360 (source
1361 (origin
1362 (method url-fetch)
1363 (uri (string-append
1364 "https://hackage.haskell.org/package/SDL/SDL-"
1365 version
1366 ".tar.gz"))
1367 (sha256
1368 (base32
1369 "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46"))))
1370 (build-system haskell-build-system)
1371 (inputs
1372 `(("sdl" ,sdl)))
1373 (home-page "https://hackage.haskell.org/package/SDL")
1374 (synopsis "LibSDL for Haskell")
1375 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
1376multimedia library designed to provide low level access to audio, keyboard,
1377mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
1378by MPEG playback software, emulators, and many popular games, including the
1379award winning Linux port of \"Civilization: Call To Power.\"")
1380 (license license:bsd-3)))
1381
1382(define-public ghc-sdl-mixer
1383 (package
1384 (name "ghc-sdl-mixer")
1385 (version "0.6.2.0")
1386 (source
1387 (origin
1388 (method url-fetch)
1389 (uri (string-append
1390 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
1391 version
1392 ".tar.gz"))
1393 (sha256
1394 (base32
1395 "1fhray79d80dk2aj9mx3ks05mm48sd832g8zgxli226jx471fs8r"))))
1396 (build-system haskell-build-system)
1397 (arguments
1398 `(#:configure-flags
1399 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
1400 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
1401 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
1402 (inputs
1403 `(("ghc-sdl" ,ghc-sdl)
1404 ("sdl-mixer" ,sdl-mixer)))
1405 (home-page "https://hackage.haskell.org/package/SDL-mixer")
1406 (synopsis "Haskell bindings to libSDL_mixer")
1407 (description "SDL_mixer is a sample multi-channel audio mixer library. It
1408supports any number of simultaneously playing channels of 16 bit stereo audio,
1409plus a single channel of music, mixed by the popular MikMod MOD, Timidity
1410MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
1411 (license license:bsd-3)))
1412
1413(define-public ghc-sdl-image
1414 (package
1415 (name "ghc-sdl-image")
1416 (version "0.6.1.2")
1417 (source
1418 (origin
1419 (method url-fetch)
1420 (uri (string-append
1421 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
1422 version
1423 ".tar.gz"))
1424 (sha256
1425 (base32
1426 "1ybdwlqi5nqzpsbh2md5mxhwmjn910iqysf6nykwjxlmvhcjk281"))))
1427 (build-system haskell-build-system)
1428 (arguments
1429 `(#:configure-flags
1430 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1431 (sdl-image-include (string-append sdl-image "/include/SDL")))
1432 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
1433 (inputs
1434 `(("ghc-sdl" ,ghc-sdl)
1435 ("sdl-image" ,sdl-image)))
1436 (home-page "https://hackage.haskell.org/package/SDL-image")
1437 (synopsis "Haskell bindings to libSDL_image")
1438 (description "SDL_image is an image file loading library. It loads images
1439as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1440PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
1441 (license license:bsd-3)))
1442
1443(define-public ghc-half
1444 (package
1445 (name "ghc-half")
1446 (version "0.2.2.3")
1447 (source
1448 (origin
1449 (method url-fetch)
1450 (uri (string-append
1451 "https://hackage.haskell.org/package/half/half-"
1452 version ".tar.gz"))
1453 (sha256
1454 (base32
1455 "0p4sb7vv9cljv48wlx65wgdnkryrk5d6yfh7g4yrm20w1p449hl5"))))
1456 (build-system haskell-build-system)
1457 (home-page "https://github.com/ekmett/half")
1458 (synopsis "Half-precision floating-point computations")
1459 (description "This library provides a half-precision floating-point
1460computation library for Haskell.")
1461 (license license:bsd-3)))
1462
1463(define-public ghc-fixed
1464 (package
1465 (name "ghc-fixed")
1466 (version "0.2.1.1")
1467 (source
1468 (origin
1469 (method url-fetch)
1470 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
1471 version ".tar.gz"))
1472 (sha256
1473 (base32
1474 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
1475 (build-system haskell-build-system)
1476 (home-page "https://github.com/ekmett/fixed")
1477 (synopsis "Signed 15.16 precision fixed point arithmetic")
1478 (description
1479 "This package provides functions for signed 15.16 precision fixed point
1480arithmetic.")
1481 (license license:bsd-3)))
1482
1483(define-public ghc-openglraw
1484 (package
1485 (name "ghc-openglraw")
1486 (version "3.2.7.0")
1487 (source
1488 (origin
1489 (method url-fetch)
1490 (uri (string-append
1491 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
1492 version
1493 ".tar.gz"))
1494 (sha256
1495 (base32
1496 "024aln102d1mmsdalq9jd5mmwjbnrb8gxcak73lybrc7q87kswk2"))))
1497 (build-system haskell-build-system)
1498 (inputs
1499 `(("ghc-half" ,ghc-half)
1500 ("ghc-fixed" ,ghc-fixed)
1501 ("glu" ,glu)
1502 ("ghc-text" ,ghc-text)))
1503 (home-page "https://www.haskell.org/haskellwiki/Opengl")
1504 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1505 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1506graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1507of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1508offers access to all necessary functions, tokens and types plus a general
1509facility for loading extension entries. The module hierarchy closely mirrors
1510the naming structure of the OpenGL extensions, making it easy to find the
1511right module to import. All API entries are loaded dynamically, so no special
1512C header files are needed for building this package. If an API entry is not
1513found at runtime, a userError is thrown.")
1514 (license license:bsd-3)))
1515
1516(define-public ghc-glut
1517 (package
1518 (name "ghc-glut")
1519 (version "2.7.0.10")
1520 (source
1521 (origin
1522 (method url-fetch)
1523 (uri (string-append
1524 "https://hackage.haskell.org/package/GLUT/GLUT-"
1525 version
1526 ".tar.gz"))
1527 (sha256
1528 (base32
1529 "0sbm943bg896nf3qjmlnsg3zzrr3pl330rzh9g0hwv47nzwwn4ab"))))
1530 (build-system haskell-build-system)
1531 (inputs
1532 `(("ghc-statevar" ,ghc-statevar)
1533 ("ghc-opengl" ,ghc-opengl)
1534 ("ghc-openglraw" ,ghc-openglraw)
1535 ("freeglut" ,freeglut)))
1536 (home-page "https://www.haskell.org/haskellwiki/Opengl")
1537 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1538 (description "This library provides Haskell bindings for the OpenGL
1539Utility Toolkit, a window system-independent toolkit for writing OpenGL
1540programs.")
1541 (license license:bsd-3)))
1542
1543(define-public ghc-gluraw
1544 (package
1545 (name "ghc-gluraw")
1546 (version "2.0.0.2")
1547 (source
1548 (origin
1549 (method url-fetch)
1550 (uri (string-append
1551 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
1552 version
1553 ".tar.gz"))
1554 (sha256
1555 (base32
1556 "1phmvxr0kkxq89ykmr8rj77inj8dvcxd6h72z1ncdgdazfz3sjw8"))))
1557 (build-system haskell-build-system)
1558 (inputs
1559 `(("ghc-openglraw" ,ghc-openglraw)))
1560 (home-page "https://www.haskell.org/haskellwiki/Opengl")
1561 (synopsis "Raw Haskell bindings GLU")
1562 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1563utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1564basis for a nicer interface.")
1565 (license license:bsd-3)))
1566
1567(define-public ghc-opengl
1568 (package
1569 (name "ghc-opengl")
1570 (version "3.0.1.0")
1571 (source
1572 (origin
1573 (method url-fetch)
1574 (uri (string-append
1575 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
1576 version
1577 ".tar.gz"))
1578 (sha256
1579 (base32
1580 "1nm2mzrn1h2nnfs9vl5p088hqpll7rdvcsyqsn8q641im9jhqp7l"))))
1581 (build-system haskell-build-system)
1582 (inputs
1583 `(("ghc-text" ,ghc-text)
1584 ("ghc-objectname" ,ghc-objectname)
1585 ("ghc-gluraw" ,ghc-gluraw)
1586 ("ghc-statevar" ,ghc-statevar)
1587 ("ghc-openglraw" ,ghc-openglraw)))
1588 (home-page "https://www.haskell.org/haskellwiki/Opengl")
1589 (synopsis "Haskell bindings for the OpenGL graphics system")
1590 (description "This package provides Haskell bindings for the OpenGL
1591graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1592version 1.3).")
1593 (license license:bsd-3)))
1594
1595(define-public ghc-streaming-commons
1596 (package
1597 (name "ghc-streaming-commons")
1598 (version "0.2.1.0")
1599 (source
1600 (origin
1601 (method url-fetch)
1602 (uri (string-append "https://hackage.haskell.org/package/"
1603 "streaming-commons/streaming-commons-"
1604 version ".tar.gz"))
1605 (sha256
1606 (base32
1607 "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
1608 (build-system haskell-build-system)
1609 (inputs
1610 `(("ghc-async" ,ghc-async)
1611 ("ghc-blaze-builder" ,ghc-blaze-builder)
1612 ("ghc-network" ,ghc-network)
1613 ("ghc-random" ,ghc-random)
1614 ("ghc-stm" ,ghc-stm)
1615 ("ghc-text" ,ghc-text)
1616 ("ghc-zlib" ,ghc-zlib)))
1617 (native-inputs
1618 `(("ghc-quickcheck" ,ghc-quickcheck)
1619 ("ghc-hspec" ,ghc-hspec)
1620 ("hspec-discover" ,hspec-discover)))
1621 (home-page "https://hackage.haskell.org/package/streaming-commons")
1622 (synopsis "Conduit and pipes needed by some streaming data libraries")
1623 (description "This package provides low-dependency functionality commonly
1624needed by various Haskell streaming data libraries, such as @code{conduit} and
1625@code{pipe}s.")
1626 (license license:expat)))
1627
1628(define-public cpphs
1629 (package
1630 (name "cpphs")
1631 (version "1.20.8")
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (string-append
1636 "https://hackage.haskell.org/package/" name "/"
1637 name "-" version ".tar.gz"))
1638 (sha256
1639 (base32
1640 "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
1641 (build-system haskell-build-system)
1642 (inputs
1643 `(("ghc-polyparse" ,ghc-polyparse)
1644 ("ghc-old-locale" ,ghc-old-locale)
1645 ("ghc-old-time" ,ghc-old-time)))
1646 (home-page "http://projects.haskell.org/cpphs/")
1647 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1648 (description "Cpphs is a re-implementation of the C pre-processor that is
1649both more compatible with Haskell, and itself written in Haskell so that it
1650can be distributed with compilers. This version of the C pre-processor is
1651pretty-much feature-complete and compatible with traditional (K&R)
1652pre-processors. Additional features include: a plain-text mode; an option to
1653unlit literate code files; and an option to turn off macro-expansion.")
1654 (license (list license:lgpl2.1+ license:gpl3+))))
1655
1656(define-public ghc-reflection
1657 (package
1658 (name "ghc-reflection")
1659 (version "2.1.2")
1660 (source
1661 (origin
1662 (method url-fetch)
1663 (uri (string-append
1664 "https://hackage.haskell.org/package/reflection/reflection-"
1665 version
1666 ".tar.gz"))
1667 (sha256
1668 (base32
1669 "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9"))))
1670 (build-system haskell-build-system)
1671 (inputs `(("ghc-tagged" ,ghc-tagged)))
1672 (home-page "https://github.com/ekmett/reflection")
1673 (synopsis "Reify arbitrary terms into types that can be reflected back
1674into terms")
1675 (description "This package addresses the 'configuration problem' which is
1676propogating configurations that are available at run-time, allowing multiple
1677configurations to coexist without resorting to mutable global variables or
1678@code{System.IO.Unsafe.unsafePerformIO}.")
1679 (license license:bsd-3)))
1680
1681(define-public ghc-old-locale
1682 (package
1683 (name "ghc-old-locale")
1684 (version "1.0.0.7")
1685 (source
1686 (origin
1687 (method url-fetch)
1688 (uri (string-append
1689 "https://hackage.haskell.org/package/old-locale/old-locale-"
1690 version
1691 ".tar.gz"))
1692 (sha256
1693 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
1694 (build-system haskell-build-system)
1695 (arguments
1696 `(#:configure-flags (list "--allow-newer=base")))
1697 (home-page "https://hackage.haskell.org/package/old-locale")
1698 (synopsis "Adapt to locale conventions")
1699 (description
1700 "This package provides the ability to adapt to locale conventions such as
1701date and time formats.")
1702 (license license:bsd-3)))
1703
1704(define-public ghc-old-time
1705 (package
1706 (name "ghc-old-time")
1707 (version "1.1.0.3")
1708 (source
1709 (origin
1710 (method url-fetch)
1711 (uri (string-append
1712 "https://hackage.haskell.org/package/old-time/old-time-"
1713 version
1714 ".tar.gz"))
1715 (sha256
1716 (base32
1717 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1718 (build-system haskell-build-system)
1719 (arguments
1720 `(#:configure-flags (list "--allow-newer=base")))
1721 (inputs
1722 `(("ghc-old-locale" ,ghc-old-locale)))
1723 (home-page "https://hackage.haskell.org/package/old-time")
1724 (synopsis "Time compatibility library for Haskell")
1725 (description "Old-time is a package for backwards compatibility with the
1726old @code{time} library. For new projects, the newer
1727@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
1728 (license license:bsd-3)))
1729
1730(define-public ghc-data-default-instances-old-locale
1731 (package
1732 (name "ghc-data-default-instances-old-locale")
1733 (version "0.0.1")
1734 (source
1735 (origin
1736 (method url-fetch)
1737 (uri (string-append
1738 "https://hackage.haskell.org/package/"
1739 "data-default-instances-old-locale/"
1740 "data-default-instances-old-locale-" version ".tar.gz"))
1741 (sha256
1742 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1743 (build-system haskell-build-system)
1744 (inputs
1745 `(("ghc-data-default-class" ,ghc-data-default-class)
1746 ("ghc-old-locale" ,ghc-old-locale)))
1747 (home-page
1748 "https://hackage.haskell.org/package/data-default-instances-old-locale")
1749 (synopsis "Default instances for types in old-locale")
1750 (description "Provides Default instances for types from the old-locale
1751 package.")
1752 (license license:bsd-3)))
1753
1754(define-public ghc-dlist
1755 (package
1756 (name "ghc-dlist")
1757 (version "0.8.0.4")
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append
1762 "https://hackage.haskell.org/package/dlist/dlist-"
1763 version
1764 ".tar.gz"))
1765 (sha256
1766 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
1767 (build-system haskell-build-system)
1768 (inputs
1769 `(("ghc-quickcheck" ,ghc-quickcheck)))
1770 (home-page "https://github.com/spl/dlist")
1771 (synopsis "Difference lists")
1772 (description
1773 "Difference lists are a list-like type supporting O(1) append. This is
1774particularly useful for efficient logging and pretty printing (e.g. with the
1775Writer monad), where list append quickly becomes too expensive.")
1776 (license license:bsd-3)))
1777
1778(define-public ghc-extensible-exceptions
1779 (package
1780 (name "ghc-extensible-exceptions")
1781 (version "0.1.1.4")
1782 (source
1783 (origin
1784 (method url-fetch)
1785 (uri (string-append "https://hackage.haskell.org/package/"
1786 "extensible-exceptions/extensible-exceptions-"
1787 version ".tar.gz"))
1788 (sha256
1789 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1790 (build-system haskell-build-system)
1791 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
1792 (synopsis "Extensible exceptions for Haskell")
1793 (description
1794 "This package provides extensible exceptions for both new and old
1795versions of GHC (i.e., < 6.10).")
1796 (license license:bsd-3)))
1797
1798(define-public cabal-install
1799 (package
1800 (name "cabal-install")
1801 (version "1.22.6.0")
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
1807 version
1808 ".tar.gz"))
1809 (sha256
1810 (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
1811 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
1812 (build-system haskell-build-system)
1813 (inputs
1814 `(("ghc-http" ,ghc-http)
1815 ("ghc-mtl" ,ghc-mtl)
1816 ("ghc-network-uri" ,ghc-network-uri)
1817 ("ghc-network" ,ghc-network)
1818 ("ghc-random" ,ghc-random)
1819 ("ghc-stm" ,ghc-stm)
1820 ("ghc-zlib" ,ghc-zlib)))
1821 (home-page "https://www.haskell.org/cabal/")
1822 (synopsis "Command-line interface for Cabal and Hackage")
1823 (description
1824 "The cabal command-line program simplifies the process of managing
1825Haskell software by automating the fetching, configuration, compilation and
1826installation of Haskell libraries and programs.")
1827 (license license:bsd-3)))
1828
1829(define-public cabal-doctest
1830 (package
1831 (name "cabal-doctest")
1832 (version "1.0.6")
1833 (source
1834 (origin
1835 (method url-fetch)
1836 (uri (string-append "https://hackage.haskell.org/package/"
1837 "cabal-doctest/cabal-doctest-"
1838 version ".tar.gz"))
1839 (sha256
1840 (base32
1841 "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
1842 (build-system haskell-build-system)
1843 (home-page "https://github.com/phadej/cabal-doctest")
1844 (synopsis "Setup.hs helper for running doctests")
1845 (description
1846 "To properly work, the @code{doctest} package needs plenty of
1847configuration. This library provides the common bits for writing custom
1848@file{Setup.hs} files.")
1849 (license license:bsd-3)))
1850
1851(define-public ghc-mtl
1852 (package
1853 (name "ghc-mtl")
1854 (version "2.2.1")
1855 (outputs '("out" "doc"))
1856 (source
1857 (origin
1858 (method url-fetch)
1859 (uri (string-append
1860 "https://hackage.haskell.org/package/mtl/mtl-"
1861 version
1862 ".tar.gz"))
1863 (sha256
1864 (base32
1865 "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa"))))
1866 (build-system haskell-build-system)
1867 ;; This is an official revision, relaxing the requirement transformers ==
1868 ;; 0.4 to transformers >= 0.4 && < 0.6; see
1869 ;; https://hackage.haskell.org/package/mtl-2.2.1/revision/1.cabal
1870 (arguments
1871 `(#:configure-flags (list "--allow-newer=transformers")))
1872 (home-page "https://github.com/ekmett/mtl")
1873 (synopsis
1874 "Monad classes, using functional dependencies")
1875 (description "Monad classes using functional dependencies, with instances
1876for various monad transformers, inspired by the paper 'Functional Programming
1877with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced
1878School of Functional Programming', 1995. See
1879@uref{https://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
1880 (license license:bsd-3)))
1881
1882(define-public ghc-parsec-numbers
1883 (package
1884 (name "ghc-parsec-numbers")
1885 (version "0.1.0")
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append "https://hackage.haskell.org/package/"
1890 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
1891 (sha256
1892 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
1893 (build-system haskell-build-system)
1894 (inputs
1895 `(("ghc-parsec" ,ghc-parsec)))
1896 (home-page "https://hackage.haskell.org/package/parsec-numbers")
1897 (synopsis "Utilities for parsing numbers from strings")
1898 (description
1899 "This package provides the number parsers without the need to use a large
1900(and unportable) token parser.")
1901 (license license:bsd-3)))
1902
1903(define-public ghc-paths
1904 (package
1905 (name "ghc-paths")
1906 (version "0.1.0.9")
1907 (outputs '("out" "doc"))
1908 (source
1909 (origin
1910 (method url-fetch)
1911 (uri (string-append
1912 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
1913 version
1914 ".tar.gz"))
1915 (sha256
1916 (base32
1917 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
1918 (build-system haskell-build-system)
1919 (home-page "https://github.com/simonmar/ghc-paths")
1920 (synopsis
1921 "Knowledge of GHC's installation directories")
1922 (description
1923 "Knowledge of GHC's installation directories.")
1924 (license license:bsd-3)))
1925
1926(define-public ghc-utf8-string
1927 (package
1928 (name "ghc-utf8-string")
1929 (version "1.0.1.1")
1930 (source
1931 (origin
1932 (method url-fetch)
1933 (uri (string-append
1934 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
1935 version
1936 ".tar.gz"))
1937 (sha256
1938 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
1939 (build-system haskell-build-system)
1940 (arguments
1941 `(#:configure-flags (list "--allow-newer=base")))
1942 (home-page "https://github.com/glguy/utf8-string/")
1943 (synopsis "Support for reading and writing UTF8 Strings")
1944 (description
1945 "A UTF8 layer for Strings. The utf8-string package provides operations
1946for encoding UTF8 strings to Word8 lists and back, and for reading and writing
1947UTF8 without truncation.")
1948 (license license:bsd-3)))
1949
1950(define-public ghc-setenv
1951 (package
1952 (name "ghc-setenv")
1953 (version "0.1.1.3")
1954 (source
1955 (origin
1956 (method url-fetch)
1957 (uri (string-append
1958 "https://hackage.haskell.org/package/setenv/setenv-"
1959 version
1960 ".tar.gz"))
1961 (sha256
1962 (base32
1963 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
1964 (build-system haskell-build-system)
1965 (home-page "https://hackage.haskell.org/package/setenv")
1966 (synopsis "Library for setting environment variables")
1967 (description "This package provides a Haskell library for setting
1968environment variables.")
1969 (license license:expat)))
1970
1971(define-public ghc-setlocale
1972 (package
1973 (name "ghc-setlocale")
1974 (version "1.0.0.6")
1975 (source (origin
1976 (method url-fetch)
1977 (uri (string-append
1978 "https://hackage.haskell.org/package/setlocale-"
1979 version "/setlocale-" version ".tar.gz"))
1980 (sha256
1981 (base32
1982 "1rl8qb8vzv8fdbczy2dxwgn4cb68lfrjdxf2w8nn9wy1acqzcyjq"))))
1983 (build-system haskell-build-system)
1984 (home-page "https://hackage.haskell.org/package/setlocale")
1985 (synopsis "Haskell bindings to setlocale")
1986 (description "This package provides Haskell bindings to the
1987@code{setlocale} C function.")
1988 (license license:bsd-3)))
1989
1990(define-public ghc-x11
1991 (package
1992 (name "ghc-x11")
1993 (version "1.8")
1994 (source
1995 (origin
1996 (method url-fetch)
1997 (uri (string-append "https://hackage.haskell.org/package/X11/"
1998 "X11-" version ".tar.gz"))
1999 (sha256
2000 (base32 "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl"))))
2001 (build-system haskell-build-system)
2002 (inputs
2003 `(("libx11" ,libx11)
2004 ("libxrandr" ,libxrandr)
2005 ("libxinerama" ,libxinerama)
2006 ("libxscrnsaver" ,libxscrnsaver)
2007 ("ghc-data-default" ,ghc-data-default)))
2008 (home-page "https://github.com/haskell-pkg-janitors/X11")
2009 (synopsis "Bindings to the X11 graphics library")
2010 (description
2011 "This package provides Haskell bindings to the X11 graphics library. The
2012bindings are a direct translation of the C bindings.")
2013 (license license:bsd-3)))
2014
2015(define-public ghc-x11-xft
2016 (package
2017 (name "ghc-x11-xft")
2018 (version "0.3.1")
2019 (source
2020 (origin
2021 (method url-fetch)
2022 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
2023 "X11-xft-" version ".tar.gz"))
2024 (sha256
2025 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
2026 (inputs
2027 `(("ghc-x11" ,ghc-x11)
2028 ("ghc-utf8-string" ,ghc-utf8-string)
2029 ("libx11" ,libx11)
2030 ("libxft" ,libxft)
2031 ("xorgproto" ,xorgproto)))
2032 (native-inputs
2033 `(("pkg-config" ,pkg-config)))
2034 (build-system haskell-build-system)
2035 (home-page "https://hackage.haskell.org/package/X11-xft")
2036 (synopsis "Bindings to Xft")
2037 (description
2038 "Bindings to the Xft, X Free Type interface library, and some Xrender
2039parts.")
2040 (license license:lgpl2.1)))
2041
2042(define-public ghc-stringbuilder
2043 (package
2044 (name "ghc-stringbuilder")
2045 (version "0.5.0")
2046 (source
2047 (origin
2048 (method url-fetch)
2049 (uri (string-append
2050 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
2051 version
2052 ".tar.gz"))
2053 (sha256
2054 (base32
2055 "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9"))))
2056 (build-system haskell-build-system)
2057 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
2058 ; enabled
2059 (home-page "https://hackage.haskell.org/package/stringbuilder")
2060 (synopsis "Writer monad for multi-line string literals")
2061 (description "This package provides a writer monad for multi-line string
2062literals.")
2063 (license license:expat)))
2064
2065(define-public ghc-zlib
2066 (package
2067 (name "ghc-zlib")
2068 (version "0.6.2")
2069 (outputs '("out" "doc"))
2070 (source
2071 (origin
2072 (method url-fetch)
2073 (uri (string-append
2074 "https://hackage.haskell.org/package/zlib/zlib-"
2075 version
2076 ".tar.gz"))
2077 (sha256
2078 (base32
2079 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
2080 (build-system haskell-build-system)
2081 (arguments `(#:configure-flags (list "--allow-newer=tasty")))
2082 (inputs `(("zlib" ,zlib)))
2083 (native-inputs
2084 `(("ghc-quickcheck" ,ghc-quickcheck)
2085 ("ghc-tasty" ,ghc-tasty)
2086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2088 (home-page "https://hackage.haskell.org/package/zlib")
2089 (synopsis
2090 "Compression and decompression in the gzip and zlib formats")
2091 (description
2092 "This package provides a pure interface for compressing and decompressing
2093streams of data represented as lazy 'ByteString's. It uses the zlib C library
2094so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
2095compression formats. It provides a convenient high level API suitable for
2096most tasks and for the few cases where more control is needed it provides
2097access to the full zlib feature set.")
2098 (license license:bsd-3)))
2099
2100(define-public ghc-stm
2101 (package
2102 (name "ghc-stm")
2103 (version "2.4.5.0")
2104 (outputs '("out" "doc"))
2105 (source
2106 (origin
2107 (method url-fetch)
2108 (uri (string-append
2109 "https://hackage.haskell.org/package/stm/stm-"
2110 version
2111 ".tar.gz"))
2112 (sha256
2113 (base32
2114 "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri"))))
2115 (build-system haskell-build-system)
2116 (home-page "https://hackage.haskell.org/package/stm")
2117 (synopsis "Software Transactional Memory")
2118 (description
2119 "Software Transactional Memory, or STM, is an abstraction for concurrent
2120communication. The main benefits of STM are composability and modularity.
2121That is, using STM you can write concurrent abstractions that can be easily
2122composed with any other abstraction built using STM, without exposing the
2123details of how your abstraction ensures safety. This is typically not the
2124case with other forms of concurrent communication, such as locks or
2125@code{MVar}s.")
2126 (license license:bsd-3)))
2127
2128(define-public ghc-parallel
2129 (package
2130 (name "ghc-parallel")
2131 (version "3.2.1.0")
2132 (outputs '("out" "doc"))
2133 (source
2134 (origin
2135 (method url-fetch)
2136 (uri (string-append
2137 "https://hackage.haskell.org/package/parallel/parallel-"
2138 version
2139 ".tar.gz"))
2140 (sha256
2141 (base32
2142 "09l52k1gsn667lmv0pp052cbwkzkbhfivp51f2xkrlfzf6xwvqsd"))))
2143 (build-system haskell-build-system)
2144 (home-page "https://hackage.haskell.org/package/parallel")
2145 (synopsis "Parallel programming library")
2146 (description
2147 "This package provides a library for parallel programming.")
2148 (license license:bsd-3)))
2149
2150(define-public ghc-safesemaphore
2151 (package
2152 (name "ghc-safesemaphore")
2153 (version "0.10.1")
2154 (source
2155 (origin
2156 (method url-fetch)
2157 (uri (string-append "https://hackage.haskell.org/package/"
2158 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
2159 (sha256
2160 (base32
2161 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
2162 (build-system haskell-build-system)
2163 (inputs
2164 `(("ghc-stm" ,ghc-stm)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)))
2167 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
2168 (synopsis "Exception safe semaphores")
2169 (description "This library provides exception safe semaphores that can be
2170used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
2171are not exception safe and can be broken by @code{killThread}.")
2172 (license license:bsd-3)))
2173
2174(define-public ghc-text
2175 (package
2176 (name "ghc-text")
2177 (version "1.2.2.2")
2178 (outputs '("out" "doc"))
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append
2183 "https://hackage.haskell.org/package/text/text-"
2184 version
2185 ".tar.gz"))
2186 (sha256
2187 (base32
2188 "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii"))))
2189 (build-system haskell-build-system)
2190 ;; The test dependencies depend on ghc-text: ghc-test-framework -> ghc-xml -> ghc-text
2191 (arguments `(#:tests? #f))
2192 (inputs
2193 `(("ghc-random" ,ghc-random)))
2194 (home-page "https://github.com/bos/text")
2195 (synopsis "Efficient packed Unicode text type library")
2196 (description
2197 "An efficient packed, immutable Unicode text type (both strict and
2198lazy), with a powerful loop fusion optimization framework.
2199
2200The 'Text' type represents Unicode character strings, in a time and
2201space-efficient manner. This package provides text processing
2202capabilities that are optimized for performance critical use, both
2203in terms of large data quantities and high speed.")
2204 (license license:bsd-3)))
2205
2206(define-public ghc-text-binary
2207 (package
2208 (name "ghc-text-binary")
2209 (version "0.2.1.1")
2210 (source
2211 (origin
2212 (method url-fetch)
2213 (uri (string-append "https://hackage.haskell.org/package/"
2214 "text-binary/text-binary-"
2215 version ".tar.gz"))
2216 (sha256
2217 (base32
2218 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
2219 (build-system haskell-build-system)
2220 (inputs `(("ghc-text" ,ghc-text)))
2221 (home-page "https://github.com/kawu/text-binary")
2222 (synopsis "Binary instances for text types")
2223 (description
2224 "This package provides a compatibility layer providing @code{Binary}
2225instances for strict and lazy text types for versions older than 1.2.1 of the
2226text package.")
2227 (license license:bsd-2)))
2228
2229(define-public ghc-strict
2230 (package
2231 (name "ghc-strict")
2232 (version "0.3.2")
2233 (source
2234 (origin
2235 (method url-fetch)
2236 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
2237 version ".tar.gz"))
2238 (sha256
2239 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
2240 (build-system haskell-build-system)
2241 (home-page "https://hackage.haskell.org/package/strict")
2242 (synopsis "Strict data types and String IO")
2243 (description
2244 "This package provides strict versions of some standard Haskell data
2245types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
2246IO operations.")
2247 (license license:bsd-3)))
2248
2249(define-public ghc-hashable
2250 (package
2251 (name "ghc-hashable")
2252 (version "1.2.6.1")
2253 (outputs '("out" "doc"))
2254 (source
2255 (origin
2256 (method url-fetch)
2257 (uri (string-append
2258 "https://hackage.haskell.org/package/hashable/hashable-"
2259 version
2260 ".tar.gz"))
2261 (sha256
2262 (base32
2263 "0ymv2mcrrgbdc2w39rib171fwnhg7fgp0sy4h8amrh1vw64qgjll"))))
2264 (build-system haskell-build-system)
2265 (inputs
2266 `(("ghc-text" ,ghc-text)
2267 ("ghc-random" ,ghc-random)))
2268 (native-inputs
2269 `(("ghc-test-framework" ,ghc-test-framework)
2270 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2271 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2272 ("ghc-hunit" ,ghc-hunit)
2273 ("ghc-quickcheck" ,ghc-quickcheck)))
2274 (home-page "https://github.com/tibbe/hashable")
2275 (synopsis "Class for types that can be converted to a hash value")
2276 (description
2277 "This package defines a class, @code{Hashable}, for types that can be
2278converted to a hash value. This class exists for the benefit of hashing-based
2279data structures. The package provides instances for basic types and a way to
2280combine hash values.")
2281 (license license:bsd-3)))
2282
2283(define-public ghc-hashable-time
2284 (package
2285 (name "ghc-hashable-time")
2286 (version "0.2.0.1")
2287 (source
2288 (origin
2289 (method url-fetch)
2290 (uri (string-append
2291 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
2292 version
2293 ".tar.gz"))
2294 (sha256
2295 (base32
2296 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
2297 (build-system haskell-build-system)
2298 (inputs `(("ghc-hashable" ,ghc-hashable)))
2299 (home-page "http://hackage.haskell.org/package/hashable-time")
2300 (synopsis "Hashable instances for Data.Time")
2301 (description
2302 "This package provides @code{Hashable} instances for types in
2303@code{Data.Time}.")
2304 (license license:bsd-3)))
2305
2306(define-public ghc-data-hash
2307 (package
2308 (name "ghc-data-hash")
2309 (version "0.2.0.1")
2310 (source
2311 (origin
2312 (method url-fetch)
2313 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2314 "/data-hash-" version ".tar.gz"))
2315 (sha256
2316 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2317 (build-system haskell-build-system)
2318 (inputs
2319 `(("ghc-quickcheck" ,ghc-quickcheck)
2320 ("ghc-test-framework" ,ghc-test-framework)
2321 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2322 (home-page "https://hackage.haskell.org/package/data-hash")
2323 (synopsis "Combinators for building fast hashing functions")
2324 (description
2325 "This package provides combinators for building fast hashing functions.
2326It includes hashing functions for all basic Haskell98 types.")
2327 (license license:bsd-3)))
2328
2329(define-public ghc-murmur-hash
2330 (package
2331 (name "ghc-murmur-hash")
2332 (version "0.1.0.9")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
2337 "/murmur-hash-" version ".tar.gz"))
2338 (sha256
2339 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
2340 (build-system haskell-build-system)
2341 (home-page "https://github.com/nominolo/murmur-hash")
2342 (synopsis "MurmurHash2 implementation for Haskell")
2343 (description
2344 "This package provides an implementation of MurmurHash2, a good, fast,
2345general-purpose, non-cryptographic hashing function. See
2346@url{https://sites.google.com/site/murmurhash/} for details. This
2347implementation is pure Haskell, so it might be a bit slower than a C FFI
2348binding.")
2349 (license license:bsd-3)))
2350
2351(define-public ghc-random
2352 (package
2353 (name "ghc-random")
2354 (version "1.1")
2355 (outputs '("out" "doc"))
2356 (source
2357 (origin
2358 (method url-fetch)
2359 (uri (string-append
2360 "https://hackage.haskell.org/package/random/random-"
2361 version
2362 ".tar.gz"))
2363 (sha256
2364 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
2365 (build-system haskell-build-system)
2366 (home-page "https://hackage.haskell.org/package/random")
2367 (synopsis "Random number library")
2368 (description "This package provides a basic random number generation
2369library, including the ability to split random number generators.")
2370 (license license:bsd-3)))
2371
2372(define-public ghc-primitive
2373 (package
2374 (name "ghc-primitive")
2375 (version "0.6.3.0")
2376 (outputs '("out" "doc"))
2377 (source
2378 (origin
2379 (method url-fetch)
2380 (uri (string-append
2381 "https://hackage.haskell.org/package/primitive/primitive-"
2382 version
2383 ".tar.gz"))
2384 (sha256
2385 (base32
2386 "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd"))))
2387 (build-system haskell-build-system)
2388 (home-page
2389 "https://github.com/haskell/primitive")
2390 (synopsis "Primitive memory-related operations")
2391 (description
2392 "This package provides various primitive memory-related operations.")
2393 (license license:bsd-3)))
2394
2395(define-public ghc-tf-random
2396 (package
2397 (name "ghc-tf-random")
2398 (version "0.5")
2399 (outputs '("out" "doc"))
2400 (source
2401 (origin
2402 (method url-fetch)
2403 (uri (string-append
2404 "https://hackage.haskell.org/package/tf-random/tf-random-"
2405 version
2406 ".tar.gz"))
2407 (sha256
2408 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
2409 (build-system haskell-build-system)
2410 (inputs
2411 `(("ghc-primitive" ,ghc-primitive)
2412 ("ghc-random" ,ghc-random)))
2413 (home-page "https://hackage.haskell.org/package/tf-random")
2414 (synopsis "High-quality splittable pseudorandom number generator")
2415 (description "This package contains an implementation of a high-quality
2416splittable pseudorandom number generator. The generator is based on a
2417cryptographic hash function built on top of the ThreeFish block cipher. See
2418the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
2419Hashing\" by Claessen, Pałka for details and the rationale of the design.")
2420 (license license:bsd-3)))
2421
2422(define-public ghc-transformers-base
2423 (package
2424 (name "ghc-transformers-base")
2425 (version "0.4.4")
2426 (source
2427 (origin
2428 (method url-fetch)
2429 (uri (string-append
2430 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
2431 version
2432 ".tar.gz"))
2433 (sha256
2434 (base32
2435 "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va"))))
2436 (build-system haskell-build-system)
2437 (inputs
2438 `(("ghc-stm" ,ghc-stm)
2439 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2440 (home-page
2441 "https://hackage.haskell.org/package/transformers-compat")
2442 (synopsis
2443 "Backported transformer library")
2444 (description
2445 "Backported versions of types that were added to transformers in
2446transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
2447compatibility to run on old versions of the platform.")
2448 (license license:bsd-3)))
2449
2450(define-public ghc-transformers-compat
2451 (package
2452 (name "ghc-transformers-compat")
2453 (version "0.5.1.4")
2454 (source
2455 (origin
2456 (method url-fetch)
2457 (uri (string-append
2458 "https://hackage.haskell.org/package/transformers-compat"
2459 "/transformers-compat-" version ".tar.gz"))
2460 (sha256
2461 (base32
2462 "17yam0199fh9ndsn9n69jx9nvbsmymzzwbi23dck3dk4q57fz0fq"))))
2463 (build-system haskell-build-system)
2464 (home-page "https://github.com/ekmett/transformers-compat/")
2465 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
2466 (description "This package includes backported versions of types that were
2467added to transformers in transformers 0.3 and 0.4 for users who need strict
2468transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
2469but also need those types.")
2470 (license license:bsd-3)))
2471
2472(define-public ghc-unix-time
2473 (package
2474 (name "ghc-unix-time")
2475 (version "0.3.7")
2476 (source
2477 (origin
2478 (method url-fetch)
2479 (uri (string-append
2480 "https://hackage.haskell.org/package/unix-time/unix-time-"
2481 version
2482 ".tar.gz"))
2483 (sha256
2484 (base32
2485 "1qdlc9raih8s0m3x8x3n7q3ngh4faw2alv9l78sp6gnx648k0c8i"))))
2486 (build-system haskell-build-system)
2487 (arguments
2488 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
2489 ; is weird, that should be provided by GHC 7.10.2.
2490 (inputs
2491 `(("ghc-old-time" ,ghc-old-time)
2492 ("ghc-old-locale" ,ghc-old-locale)))
2493 (home-page "https://hackage.haskell.org/package/unix-time")
2494 (synopsis "Unix time parser/formatter and utilities")
2495 (description "This library provides fast parsing and formatting utilities
2496for Unix time in Haskell.")
2497 (license license:bsd-3)))
2498
2499(define-public ghc-unix-compat
2500 (package
2501 (name "ghc-unix-compat")
2502 (version "0.4.2.0")
2503 (source
2504 (origin
2505 (method url-fetch)
2506 (uri (string-append
2507 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
2508 version
2509 ".tar.gz"))
2510 (sha256
2511 (base32
2512 "036nv05w0yjxc3rfpar60ddjrlzc40mdgr5k6ihvwlvqfmq1gw9m"))))
2513 (build-system haskell-build-system)
2514 (home-page
2515 "https://github.com/jystic/unix-compat")
2516 (synopsis "Portable POSIX-compatibility layer")
2517 (description
2518 "This package provides portable implementations of parts of the unix
2519package. This package re-exports the unix package when available. When it
2520isn't available, portable implementations are used.")
2521 (license license:bsd-3)))
2522
2523(define-public ghc-indents
2524 (package
2525 (name "ghc-indents")
2526 (version "0.3.3")
2527 (source (origin
2528 (method url-fetch)
2529 (uri (string-append
2530 "https://hackage.haskell.org/package/indents/indents-"
2531 version ".tar.gz"))
2532 (sha256
2533 (base32
2534 "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn"))))
2535 (build-system haskell-build-system)
2536 (inputs
2537 `(("ghc-parsec" ,ghc-parsec)
2538 ("ghc-concatenative" ,ghc-concatenative)
2539 ("ghc-mtl" ,ghc-mtl)))
2540 (home-page "http://patch-tag.com/r/salazar/indents")
2541 (synopsis "Indentation sensitive parser-combinators for parsec")
2542 (description
2543 "This library provides functions for use in parsing indentation sensitive
2544contexts. It parses blocks of lines all indented to the same level as well as
2545lines continued at an indented level below.")
2546 (license license:bsd-3)))
2547
2548(define-public ghc-iproute
2549 (package
2550 (name "ghc-iproute")
2551 (version "1.7.1")
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/iproute/iproute-"
2557 version
2558 ".tar.gz"))
2559 (sha256
2560 (base32
2561 "1viyxq3m1aifl05w0hxwrhhhcfpmvwz4ymil2gngi4nfm0yd1f2p"))))
2562 (build-system haskell-build-system)
2563 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2564 ; exported by ghc-byteorder. Doctest issue.
2565 (inputs
2566 `(("ghc-appar" ,ghc-appar)
2567 ("ghc-byteorder" ,ghc-byteorder)
2568 ("ghc-network" ,ghc-network)
2569 ("ghc-safe" ,ghc-safe)))
2570 (home-page "https://www.mew.org/~kazu/proj/iproute/")
2571 (synopsis "IP routing table")
2572 (description "IP Routing Table is a tree of IP ranges to search one of
2573them on the longest match base. It is a kind of TRIE with one way branching
2574removed. Both IPv4 and IPv6 are supported.")
2575 (license license:bsd-3)))
2576
2577(define-public ghc-iwlib
2578 (package
2579 (name "ghc-iwlib")
2580 (version "0.1.0")
2581 (source
2582 (origin
2583 (method url-fetch)
2584 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
2585 version ".tar.gz"))
2586 (sha256
2587 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
2588 (build-system haskell-build-system)
2589 (inputs
2590 `(("wireless-tools" ,wireless-tools)))
2591 (home-page "https://github.com/jaor/iwlib")
2592 (synopsis "Haskell binding to the iw wireless networking library")
2593 (description
2594 "IWlib is a thin Haskell binding to the iw C library. It provides
2595information about the current wireless network connections, and adapters on
2596supported systems.")
2597 (license license:bsd-3)))
2598
2599(define-public ghc-regex-base
2600 (package
2601 (name "ghc-regex-base")
2602 (version "0.93.2")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append
2607 "https://hackage.haskell.org/package/regex-base/regex-base-"
2608 version
2609 ".tar.gz"))
2610 (sha256
2611 (base32
2612 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2613 (build-system haskell-build-system)
2614 (inputs
2615 `(("ghc-mtl" ,ghc-mtl)))
2616 (home-page
2617 "https://sourceforge.net/projects/lazy-regex")
2618 (synopsis "Replaces/Enhances Text.Regex")
2619 (description "@code{Text.Regex.Base} provides the interface API for
2620regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
2621 (license license:bsd-3)))
2622
2623(define-public ghc-regex-posix
2624 (package
2625 (name "ghc-regex-posix")
2626 (version "0.95.2")
2627 (source
2628 (origin
2629 (method url-fetch)
2630 (uri (string-append
2631 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
2632 version
2633 ".tar.gz"))
2634 (sha256
2635 (base32
2636 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2637 (build-system haskell-build-system)
2638 (inputs
2639 `(("ghc-regex-base" ,ghc-regex-base)))
2640 (home-page "https://sourceforge.net/projects/lazy-regex")
2641 (synopsis "POSIX regular expressions for Haskell")
2642 (description "This library provides the POSIX regex backend used by the
2643Haskell library @code{regex-base}.")
2644 (license license:bsd-3)))
2645
2646(define-public ghc-regex-compat
2647 (package
2648 (name "ghc-regex-compat")
2649 (version "0.95.1")
2650 (source
2651 (origin
2652 (method url-fetch)
2653 (uri (string-append
2654 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
2655 version
2656 ".tar.gz"))
2657 (sha256
2658 (base32
2659 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2660 (build-system haskell-build-system)
2661 (inputs
2662 `(("ghc-regex-base" ,ghc-regex-base)
2663 ("ghc-regex-posix" ,ghc-regex-posix)))
2664 (home-page "https://sourceforge.net/projects/lazy-regex")
2665 (synopsis "Replaces/Enhances Text.Regex")
2666 (description "This library provides one module layer over
2667@code{regex-posix} to replace @code{Text.Regex}.")
2668 (license license:bsd-3)))
2669
2670(define-public ghc-regex-tdfa-rc
2671 (package
2672 (name "ghc-regex-tdfa-rc")
2673 (version "1.1.8.3")
2674 (source
2675 (origin
2676 (method url-fetch)
2677 (uri (string-append
2678 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
2679 version
2680 ".tar.gz"))
2681 (sha256
2682 (base32
2683 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2684 (build-system haskell-build-system)
2685 (inputs
2686 `(("ghc-regex-base" ,ghc-regex-base)
2687 ("ghc-parsec" ,ghc-parsec)
2688 ("ghc-mtl" ,ghc-mtl)))
2689 (home-page
2690 "https://hackage.haskell.org/package/regex-tdfa")
2691 (synopsis "Tagged DFA regex engine for Haskell")
2692 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2693@code{libtre} (fork by Roman Cheplyaka).")
2694 (license license:bsd-3)))
2695
2696(define-public ghc-regex-tdfa-text
2697 (package
2698 (name "ghc-regex-tdfa-text")
2699 (version "1.0.0.3")
2700 (source
2701 (origin
2702 (method url-fetch)
2703 (uri (string-append
2704 "https://hackage.haskell.org/package/regex-tdfa-text/"
2705 "regex-tdfa-text-" version ".tar.gz"))
2706 (sha256
2707 (base32
2708 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
2709 (build-system haskell-build-system)
2710 (inputs
2711 `(("ghc-text" ,ghc-text)
2712 ("ghc-regex-base" ,ghc-regex-base)
2713 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
2714 (home-page
2715 "http://hackage.haskell.org/package/regex-tdfa-text")
2716 (synopsis "Text interface for regex-tdfa")
2717 (description
2718 "This provides an extra text interface for regex-tdfa.")
2719 (license license:bsd-3)))
2720
2721(define-public ghc-regex
2722 (package
2723 (name "ghc-regex")
2724 (version "1.0.1.3")
2725 (source
2726 (origin
2727 (method url-fetch)
2728 (uri (string-append "https://hackage.haskell.org/package/regex/"
2729 "regex-" version ".tar.gz"))
2730 (sha256
2731 (base32
2732 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
2733 (build-system haskell-build-system)
2734 (inputs
2735 `(("ghc-base-compat" ,ghc-base-compat)
2736 ("ghc-hashable" ,ghc-hashable)
2737 ("ghc-regex-base" ,ghc-regex-base)
2738 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
2739 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
2740 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
2741 ("ghc-text" ,ghc-text)
2742 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
2743 ("ghc-unordered-containers" ,ghc-unordered-containers)
2744 ("ghc-utf8-string" ,ghc-utf8-string)))
2745 (home-page "http://regex.uk")
2746 (synopsis "Toolkit for regex-base")
2747 (description
2748 "This package provides a regular expression toolkit for @code{regex-base}
2749with compile-time checking of regular expression syntax, data types for
2750matches and captures, a text replacement toolkit, portable options, high-level
2751AWK-like tools for building text processing apps, regular expression macros
2752with parsers and test bench, comprehensive documentation, tutorials and
2753copious examples.")
2754 (license license:bsd-3)))
2755
2756(define-public ghc-parsers
2757 (package
2758 (name "ghc-parsers")
2759 (version "0.12.4")
2760 (source
2761 (origin
2762 (method url-fetch)
2763 (uri (string-append
2764 "https://hackage.haskell.org/package/parsers/parsers-"
2765 version
2766 ".tar.gz"))
2767 (sha256
2768 (base32
2769 "07najh7f9y3ahh42z96sw4hnd0kc4x3wm0xlf739y0gh81ys5097"))))
2770 (build-system haskell-build-system)
2771 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2772 ; -package attoparsec-0.13.0.1"
2773 (inputs
2774 `(("ghc-base-orphans" ,ghc-base-orphans)
2775 ("ghc-attoparsec" ,ghc-attoparsec)
2776 ("ghc-parsec" ,ghc-parsec)
2777 ("ghc-scientific" ,ghc-scientific)
2778 ("ghc-charset" ,ghc-charset)
2779 ("ghc-text" ,ghc-text)
2780 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2781 (home-page "https://github.com/ekmett/parsers/")
2782 (synopsis "Parsing combinators")
2783 (description "This library provides convenient combinators for working
2784with and building parsing combinator libraries. Given a few simple instances,
2785you get access to a large number of canned definitions. Instances exist for
2786the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
2787@code{Text.Read}.")
2788 (license license:bsd-3)))
2789
2790(define-public ghc-trifecta
2791 (package
2792 (name "ghc-trifecta")
2793 (version "1.7.1.1")
2794 (source (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/package/trifecta/"
2798 "trifecta-" version ".tar.gz"))
2799 (sha256
2800 (base32
2801 "13n6a3fdxngnzsjnhfrzigv1c2g0xm6lqkjcnirpc37sd0rpby31"))))
2802 (build-system haskell-build-system)
2803 (inputs
2804 `(("ghc-doctest" ,ghc-doctest-0.13)
2805 ("ghc-reducers" ,ghc-reducers)
2806 ("ghc-semigroups" ,ghc-semigroups)
2807 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
2808 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2809 ("ghc-blaze-builder" ,ghc-blaze-builder)
2810 ("ghc-blaze-html" ,ghc-blaze-html)
2811 ("ghc-blaze-markup" ,ghc-blaze-markup)
2812 ("ghc-charset" ,ghc-charset)
2813 ("ghc-comonad" ,ghc-comonad)
2814 ("ghc-doctest" ,ghc-doctest)
2815 ("ghc-fingertree" ,ghc-fingertree)
2816 ("ghc-hashable" ,ghc-hashable)
2817 ("ghc-lens" ,ghc-lens)
2818 ("ghc-mtl" ,ghc-mtl)
2819 ("ghc-parsers" ,ghc-parsers)
2820 ("ghc-profunctors" ,ghc-profunctors)
2821 ("ghc-quickcheck" ,ghc-quickcheck)
2822 ("ghc-unordered-containers" ,ghc-unordered-containers)
2823 ("ghc-utf8-string" ,ghc-utf8-string)))
2824 (native-inputs
2825 `(("cabal-doctest" ,cabal-doctest)))
2826 (home-page "https://github.com/ekmett/trifecta/")
2827 (synopsis "Parser combinator library with convenient diagnostics")
2828 (description "Trifecta is a modern parser combinator library for Haskell,
2829with slicing and Clang-style colored diagnostics.")
2830 (license license:bsd-3)))
2831
2832(define-public ghc-time-locale-compat
2833 (package
2834 (name "ghc-time-locale-compat")
2835 (version "0.1.1.3")
2836 (source
2837 (origin
2838 (method url-fetch)
2839 (uri (string-append "https://hackage.haskell.org/package/"
2840 "time-locale-compat/time-locale-compat-"
2841 version ".tar.gz"))
2842 (sha256
2843 (base32
2844 "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i"))))
2845 (build-system haskell-build-system)
2846 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
2847 (home-page "https://github.com/khibino/haskell-time-locale-compat")
2848 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
2849 (description "This package contains a wrapped name module for
2850@code{TimeLocale}.")
2851 (license license:bsd-3)))
2852
2853(define-public ghc-attoparsec
2854 (package
2855 (name "ghc-attoparsec")
2856 (version "0.13.2.2")
2857 (source
2858 (origin
2859 (method url-fetch)
2860 (uri (string-append
2861 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
2862 version
2863 ".tar.gz"))
2864 (sha256
2865 (base32
2866 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
2867 (build-system haskell-build-system)
2868 ;; FIXME: at least on test fails with QuickCheck > 2.9.2. Once upstream
2869 ;; has updated the tests to work with a later version of QuickCheck we can
2870 ;; re-enable them.
2871 (arguments `(#:tests? #f))
2872 (inputs
2873 `(("ghc-scientific-bootstrap" ,ghc-scientific-bootstrap)
2874 ("ghc-text" ,ghc-text)))
2875 (native-inputs
2876 `(("ghc-tasty" ,ghc-tasty)
2877 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2878 ("ghc-quickcheck" ,ghc-quickcheck)
2879 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
2880 ("ghc-vector" ,ghc-vector)))
2881 (home-page "https://github.com/bos/attoparsec")
2882 (synopsis "Fast combinator parsing for bytestrings and text")
2883 (description "This library provides a fast parser combinator library,
2884aimed particularly at dealing efficiently with network protocols and
2885complicated text/binary file formats.")
2886 (license license:bsd-3)))
2887
2888(define ghc-attoparsec-bootstrap
2889 (package
2890 (inherit ghc-attoparsec)
2891 (name "ghc-attoparsec-bootstrap")
2892 (arguments '(#:tests? #f))
2893 (native-inputs '())))
2894
2895(define-public ghc-zip-archive
2896 (package
2897 (name "ghc-zip-archive")
2898 (version "0.3.0.5")
2899 (source
2900 (origin
2901 (method url-fetch)
2902 (uri (string-append
2903 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
2904 version
2905 ".tar.gz"))
2906 (sha256
2907 (base32
2908 "1iwpzjck4jg9bz1yqky051i2wljsqc14q5zbi10dydfp8ip3d0yw"))))
2909 (build-system haskell-build-system)
2910 (inputs
2911 `(("ghc-old-time" ,ghc-old-time)
2912 ("ghc-digest" ,ghc-digest)
2913 ("zip" ,zip)
2914 ("ghc-mtl" ,ghc-mtl)
2915 ("ghc-temporary" ,ghc-temporary)
2916 ("ghc-text" ,ghc-text)
2917 ("ghc-zlib" ,ghc-zlib)))
2918 (native-inputs
2919 `(("ghc-hunit" ,ghc-hunit)))
2920 (home-page "https://hackage.haskell.org/package/zip-archive")
2921 (synopsis "Zip archive library for Haskell")
2922 (description "The zip-archive library provides functions for creating,
2923modifying, and extracting files from zip archives in Haskell.")
2924 (license license:bsd-3)))
2925
2926(define-public ghc-distributive
2927 (package
2928 (name "ghc-distributive")
2929 (version "0.5.3")
2930 (source
2931 (origin
2932 (method url-fetch)
2933 (uri (string-append
2934 "https://hackage.haskell.org/package/distributive/distributive-"
2935 version
2936 ".tar.gz"))
2937 (sha256
2938 (base32
2939 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
2940 (build-system haskell-build-system)
2941 (inputs
2942 `(("ghc-tagged" ,ghc-tagged)
2943 ("ghc-base-orphans" ,ghc-base-orphans)
2944 ("ghc-transformers-compat" ,ghc-transformers-compat)
2945 ("ghc-semigroups" ,ghc-semigroups)
2946 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2947 (native-inputs
2948 `(("cabal-doctest" ,cabal-doctest)
2949 ("ghc-doctest" ,ghc-doctest-0.12)
2950 ("ghc-hspec" ,ghc-hspec)
2951 ("hspec-discover" ,hspec-discover)))
2952 (home-page "https://github.com/ekmett/distributive/")
2953 (synopsis "Distributive functors for Haskell")
2954 (description "This package provides distributive functors for Haskell.
2955Dual to @code{Traversable}.")
2956 (license license:bsd-3)))
2957
2958(define-public ghc-cereal
2959 (package
2960 (name "ghc-cereal")
2961 (version "0.5.3.0")
2962 (source
2963 (origin
2964 (method url-fetch)
2965 (uri (string-append
2966 "https://hackage.haskell.org/package/cereal/cereal-"
2967 version
2968 ".tar.gz"))
2969 (sha256
2970 (base32
2971 "1x4aib7nnaf4x2b9zlndq5n5zsqniw78jifkf55nhnbmvryf05n3"))))
2972 (build-system haskell-build-system)
2973 (native-inputs
2974 `(("ghc-quickcheck" ,ghc-quickcheck)
2975 ("ghc-fail" ,ghc-fail)
2976 ("ghc-test-framework" ,ghc-test-framework)
2977 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2978 (home-page "https://hackage.haskell.org/package/cereal")
2979 (synopsis "Binary serialization library")
2980 (description "This package provides a binary serialization library,
2981similar to @code{binary}, that introduces an @code{isolate} primitive for
2982parser isolation, and labeled blocks for better error messages.")
2983 (license license:bsd-3)))
2984
2985(define-public ghc-comonad
2986 (package
2987 (name "ghc-comonad")
2988 (version "5")
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append
2993 "https://hackage.haskell.org/package/comonad/comonad-"
2994 version
2995 ".tar.gz"))
2996 (sha256
2997 (base32
2998 "0anb36m9z52y9xsipxzj9w1b41b2rj8r389cxd6d20dplnfv3rbq"))))
2999 (build-system haskell-build-system)
3000 (native-inputs
3001 `(("ghc-doctest" ,ghc-doctest)))
3002 (inputs
3003 `(("ghc-contravariant" ,ghc-contravariant)
3004 ("ghc-distributive" ,ghc-distributive)
3005 ("ghc-semigroups" ,ghc-semigroups)
3006 ("ghc-tagged" ,ghc-tagged)
3007 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3008 (home-page "https://github.com/ekmett/comonad/")
3009 (synopsis "Comonads for Haskell")
3010 (description "This library provides @code{Comonad}s for Haskell.")
3011 (license license:bsd-3)))
3012
3013(define-public hscolour
3014 (package
3015 (name "hscolour")
3016 (version "1.24.1")
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append
3021 "https://hackage.haskell.org/package/hscolour/hscolour-"
3022 version
3023 ".tar.gz"))
3024 (sha256
3025 (base32
3026 "1j3rpzjygh3igvnd1n2xn63bq68rs047cjxr2qi6xyfnivgf6vz4"))))
3027 (build-system haskell-build-system)
3028 (home-page "https://hackage.haskell.org/package/hscolour")
3029 (synopsis "Script to colourise Haskell code")
3030 (description "HSColour is a small Haskell script to colourise Haskell
3031code. It currently has six output formats: ANSI terminal codes (optionally
3032XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
3033with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
3034and mIRC chat codes.")
3035 (license license:bsd-3)))
3036
3037(define-public ghc-polyparse
3038 (package
3039 (name "ghc-polyparse")
3040 (version "1.12")
3041 (source
3042 (origin
3043 (method url-fetch)
3044 (uri (string-append
3045 "https://hackage.haskell.org/package/polyparse/polyparse-"
3046 version
3047 ".tar.gz"))
3048 (sha256
3049 (base32
3050 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
3051 (build-system haskell-build-system)
3052 (inputs
3053 `(("ghc-text" ,ghc-text)))
3054 (home-page
3055 "http://code.haskell.org/~malcolm/polyparse/")
3056 (synopsis
3057 "Alternative parser combinator libraries")
3058 (description
3059 "This package provides a variety of alternative parser combinator
3060libraries, including the original HuttonMeijer set. The Poly sets have
3061features like good error reporting, arbitrary token type, running state, lazy
3062parsing, and so on. Finally, Text.Parse is a proposed replacement for the
3063standard Read class, for better deserialisation of Haskell values from
3064Strings.")
3065 (license license:lgpl2.1)))
3066
3067(define-public ghc-extra
3068 (package
3069 (name "ghc-extra")
3070 (version "1.6.3")
3071 (source
3072 (origin
3073 (method url-fetch)
3074 (uri (string-append
3075 "https://hackage.haskell.org/package/extra/extra-"
3076 version
3077 ".tar.gz"))
3078 (sha256
3079 (base32
3080 "06ds0jlx6sljwdf63l154qbzia9mnsri79i9qm3xikky3nj9ia1m"))))
3081 (build-system haskell-build-system)
3082 (inputs
3083 `(("ghc-clock" ,ghc-clock)
3084 ("ghc-quickcheck" ,ghc-quickcheck)))
3085 (home-page "https://github.com/ndmitchell/extra")
3086 (synopsis "Extra Haskell functions")
3087 (description "This library provides extra functions for the standard
3088Haskell libraries. Most functions are simple additions, filling out missing
3089functionality. A few functions are available in later versions of GHC, but
3090this package makes them available back to GHC 7.2.")
3091 (license license:bsd-3)))
3092
3093(define-public ghc-profunctors
3094 (package
3095 (name "ghc-profunctors")
3096 (version "5.2.2")
3097 (source
3098 (origin
3099 (method url-fetch)
3100 (uri (string-append
3101 "https://hackage.haskell.org/package/profunctors/profunctors-"
3102 version
3103 ".tar.gz"))
3104 (sha256
3105 (base32
3106 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
3107 (build-system haskell-build-system)
3108 (inputs
3109 `(("ghc-base-orphans" ,ghc-base-orphans)
3110 ("ghc-bifunctors" ,ghc-bifunctors)
3111 ("ghc-comonad" ,ghc-comonad)
3112 ("ghc-contravariant" ,ghc-contravariant)
3113 ("ghc-distributive" ,ghc-distributive)
3114 ("ghc-semigroups" ,ghc-semigroups)
3115 ("ghc-tagged" ,ghc-tagged)))
3116 (home-page "https://github.com/ekmett/profunctors/")
3117 (synopsis "Profunctors for Haskell")
3118 (description "This library provides profunctors for Haskell.")
3119 (license license:bsd-3)))
3120
3121(define-public ghc-reducers
3122 (package
3123 (name "ghc-reducers")
3124 (version "3.12.2")
3125 (source
3126 (origin
3127 (method url-fetch)
3128 (uri (string-append
3129 "https://hackage.haskell.org/package/reducers/reducers-"
3130 version
3131 ".tar.gz"))
3132 (sha256
3133 (base32
3134 "1gbaa5x4zbvnbklcb0d4q4m8hk6w0gz4s0c4m288czi1nw43dl65"))))
3135 (build-system haskell-build-system)
3136 (inputs
3137 `(("ghc-fingertree" ,ghc-fingertree)
3138 ("ghc-hashable" ,ghc-hashable)
3139 ("ghc-text" ,ghc-text)
3140 ("ghc-unordered-containers" ,ghc-unordered-containers)
3141 ("ghc-semigroupoids" ,ghc-semigroupoids)
3142 ("ghc-semigroups" ,ghc-semigroups)))
3143 (home-page "https://github.com/ekmett/reducers/")
3144 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
3145 (description "This library provides various semigroups, specialized
3146containers and a general map/reduce framework for Haskell.")
3147 (license license:bsd-3)))
3148
3149(define-public ghc-appar
3150 (package
3151 (name "ghc-appar")
3152 (version "0.1.4")
3153 (source
3154 (origin
3155 (method url-fetch)
3156 (uri (string-append
3157 "https://hackage.haskell.org/package/appar/appar-"
3158 version
3159 ".tar.gz"))
3160 (sha256
3161 (base32
3162 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
3163 (build-system haskell-build-system)
3164 (home-page
3165 "https://hackage.haskell.org/package/appar")
3166 (synopsis "Simple applicative parser")
3167 (description "This package provides a simple applicative parser in Parsec
3168style.")
3169 (license license:bsd-3)))
3170
3171(define-public ghc-safe
3172 (package
3173 (name "ghc-safe")
3174 (version "0.3.9")
3175 (source
3176 (origin
3177 (method url-fetch)
3178 (uri (string-append
3179 "https://hackage.haskell.org/package/safe/safe-"
3180 version
3181 ".tar.gz"))
3182 (sha256
3183 (base32
3184 "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
3185 (build-system haskell-build-system)
3186 (home-page "https://github.com/ndmitchell/safe#readme")
3187 (synopsis "Library of safe (exception free) functions")
3188 (description "This library provides wrappers around @code{Prelude} and
3189@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
3190exceptions.")
3191 (license license:bsd-3)))
3192
3193(define-public ghc-generic-deriving
3194 (package
3195 (name "ghc-generic-deriving")
3196 (version "1.11.1")
3197 (source
3198 (origin
3199 (method url-fetch)
3200 (uri (string-append
3201 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3202 version
3203 ".tar.gz"))
3204 (sha256
3205 (base32
3206 "1sdh5hpcwvh3b6zvgfk3pr3hla8p88l82njnih880c0gk5zl53dk"))))
3207 (build-system haskell-build-system)
3208 (native-inputs
3209 `(("ghc-hspec" ,ghc-hspec)
3210 ("hspec-discover" ,hspec-discover)))
3211 (home-page "https://hackage.haskell.org/package/generic-deriving")
3212 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3213 (description "This package provides functionality for generalising the
3214deriving mechanism in Haskell to arbitrary classes.")
3215 (license license:bsd-3)))
3216
3217(define-public ghc-pcre-light
3218 (package
3219 (name "ghc-pcre-light")
3220 (version "0.4.0.4")
3221 (source
3222 (origin
3223 (method url-fetch)
3224 (uri (string-append
3225 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
3226 version
3227 ".tar.gz"))
3228 (sha256
3229 (base32
3230 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
3231 (build-system haskell-build-system)
3232 (inputs
3233 `(("pcre" ,pcre)))
3234 (native-inputs
3235 `(("pkg-config" ,pkg-config)))
3236 (home-page "https://github.com/Daniel-Diaz/pcre-light")
3237 (synopsis "Haskell library for Perl 5 compatible regular expressions")
3238 (description "This package provides a small, efficient, and portable regex
3239library for Perl 5 compatible regular expressions. The PCRE library is a set
3240of functions that implement regular expression pattern matching using the same
3241syntax and semantics as Perl 5.")
3242 (license license:bsd-3)))
3243
3244(define-public ghc-logict
3245 (package
3246 (name "ghc-logict")
3247 (version "0.6.0.2")
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
3252 "https://hackage.haskell.org/package/logict/logict-"
3253 version
3254 ".tar.gz"))
3255 (sha256
3256 (base32
3257 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
3258 (build-system haskell-build-system)
3259 (inputs `(("ghc-mtl" ,ghc-mtl)))
3260 (home-page "http://code.haskell.org/~dolio/")
3261 (synopsis "Backtracking logic-programming monad")
3262 (description "This library provides a continuation-based, backtracking,
3263logic programming monad. An adaptation of the two-continuation implementation
3264found in the paper \"Backtracking, Interleaving, and Terminating Monad
3265Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
3266online}.")
3267 (license license:bsd-3)))
3268
3269(define-public ghc-xml
3270 (package
3271 (name "ghc-xml")
3272 (version "1.3.14")
3273 (source
3274 (origin
3275 (method url-fetch)
3276 (uri (string-append
3277 "https://hackage.haskell.org/package/xml/xml-"
3278 version
3279 ".tar.gz"))
3280 (sha256
3281 (base32
3282 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
3283 (build-system haskell-build-system)
3284 (inputs
3285 `(("ghc-text" ,ghc-text)))
3286 (home-page "http://code.galois.com")
3287 (synopsis "Simple XML library for Haskell")
3288 (description "This package provides a simple XML library for Haskell.")
3289 (license license:bsd-3)))
3290
3291(define-public ghc-feed
3292 (package
3293 (name "ghc-feed")
3294 (version "0.3.12.0")
3295 (source
3296 (origin
3297 (method url-fetch)
3298 (uri (string-append "https://hackage.haskell.org/package/"
3299 "feed/feed-" version ".tar.gz"))
3300 (sha256
3301 (base32
3302 "0hkrsinspg70bbm3hwqdrvivws6zya1hyk0a3awpaz82j4xnlbfc"))))
3303 (build-system haskell-build-system)
3304 (inputs
3305 `(("ghc-old-locale" ,ghc-old-locale)
3306 ("ghc-old-time" ,ghc-old-time)
3307 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3308 ("ghc-utf8-string" ,ghc-utf8-string)
3309 ("ghc-xml" ,ghc-xml)))
3310 (native-inputs
3311 `(("ghc-hunit" ,ghc-hunit)
3312 ("ghc-test-framework" ,ghc-test-framework)
3313 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3314 (home-page "https://github.com/bergmark/feed")
3315 (synopsis "Haskell package for handling various syndication formats")
3316 (description "This Haskell package includes tools for generating and
3317consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3318 (license license:bsd-3)))
3319
3320(define-public ghc-exceptions
3321 (package
3322 (name "ghc-exceptions")
3323 (version "0.8.3")
3324 (source
3325 (origin
3326 (method url-fetch)
3327 (uri (string-append
3328 "https://hackage.haskell.org/package/exceptions/exceptions-"
3329 version
3330 ".tar.gz"))
3331 (sha256
3332 (base32
3333 "1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd"))))
3334 (build-system haskell-build-system)
3335 (arguments
3336 `(#:configure-flags (list "--allow-newer=QuickCheck")))
3337 (native-inputs
3338 `(("ghc-test-framework" ,ghc-test-framework)
3339 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3340 (inputs
3341 `(("ghc-stm" ,ghc-stm)
3342 ("ghc-mtl" ,ghc-mtl)
3343 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3344 (home-page "https://github.com/ekmett/exceptions/")
3345 (synopsis "Extensible optionally-pure exceptions")
3346 (description "This library provides extensible optionally-pure exceptions
3347for Haskell.")
3348 (license license:bsd-3)))
3349
3350(define-public ghc-temporary
3351 (package
3352 (name "ghc-temporary")
3353 (version "1.2.0.4")
3354 (source
3355 (origin
3356 (method url-fetch)
3357 (uri (string-append
3358 "https://hackage.haskell.org/package/temporary/temporary-"
3359 version
3360 ".tar.gz"))
3361 (sha256
3362 (base32
3363 "0qk741yqnpd69sksgks2vb7zi50rglp9m498lzw4sh268a017rsi"))))
3364 (build-system haskell-build-system)
3365 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
3366 (home-page "https://www.github.com/batterseapower/temporary")
3367 (synopsis "Temporary file and directory support")
3368 (description "The functions for creating temporary files and directories
3369in the Haskelll base library are quite limited. This library just repackages
3370the Cabal implementations of its own temporary file and folder functions so
3371that you can use them without linking against Cabal or depending on it being
3372installed.")
3373 (license license:bsd-3)))
3374
3375(define-public ghc-temporary-rc
3376 (package
3377 (name "ghc-temporary-rc")
3378 (version "1.2.0.3")
3379 (source
3380 (origin
3381 (method url-fetch)
3382 (uri (string-append
3383 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
3384 version
3385 ".tar.gz"))
3386 (sha256
3387 (base32
3388 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
3389 (build-system haskell-build-system)
3390 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
3391 (home-page
3392 "https://www.github.com/feuerbach/temporary")
3393 (synopsis
3394 "Portable temporary file and directory support")
3395 (description
3396 "The functions for creating temporary files and directories in the base
3397library are quite limited. The unixutils package contains some good ones, but
3398they aren't portable to Windows. This library just repackages the Cabal
3399implementations of its own temporary file and folder functions so that you can
3400use them without linking against Cabal or depending on it being installed.
3401This is a better maintained fork of the \"temporary\" package.")
3402 (license license:bsd-3)))
3403
3404(define-public ghc-smallcheck
3405 (package
3406 (name "ghc-smallcheck")
3407 (version "1.1.5")
3408 (source
3409 (origin
3410 (method url-fetch)
3411 (uri (string-append
3412 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
3413 version
3414 ".tar.gz"))
3415 (sha256
3416 (base32
3417 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
3418 (build-system haskell-build-system)
3419 (inputs
3420 `(("ghc-logict" ,ghc-logict)
3421 ("ghc-mtl" ,ghc-mtl)))
3422 (home-page
3423 "https://github.com/feuerbach/smallcheck")
3424 (synopsis "Property-based testing library")
3425 (description "SmallCheck is a testing library that allows to verify
3426properties for all test cases up to some depth. The test cases are generated
3427automatically by SmallCheck.")
3428 (license license:bsd-3)))
3429
3430(define-public ghc-silently
3431 (package
3432 (name "ghc-silently")
3433 (version "1.2.5")
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (string-append
3438 "https://hackage.haskell.org/package/silently/silently-"
3439 version
3440 ".tar.gz"))
3441 (sha256
3442 (base32
3443 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
3444 (build-system haskell-build-system)
3445 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
3446 ;; (inputs
3447 ;; `(("ghc-temporary" ,ghc-temporary)))
3448 (home-page "https://github.com/hspec/silently")
3449 (synopsis "Prevent writing to stdout")
3450 (description "This package provides functions to prevent or capture
3451writing to stdout and other handles.")
3452 (license license:bsd-3)))
3453
3454(define-public ghc-case-insensitive
3455 (package
3456 (name "ghc-case-insensitive")
3457 (version "1.2.0.7")
3458 (outputs '("out" "doc"))
3459 (source
3460 (origin
3461 (method url-fetch)
3462 (uri (string-append
3463 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
3464 version
3465 ".tar.gz"))
3466 (sha256
3467 (base32
3468 "1j6ahvrz1g5q89y2difyk838yhwjc8z67zr0v2z512qdznc3h38n"))))
3469 (build-system haskell-build-system)
3470 (inputs
3471 `(("ghc-hunit" ,ghc-hunit)))
3472 ;; these inputs are necessary to use this library
3473 (inputs
3474 `(("ghc-text" ,ghc-text)
3475 ("ghc-hashable" ,ghc-hashable)))
3476 (arguments
3477 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3478 (home-page
3479 "https://github.com/basvandijk/case-insensitive")
3480 (synopsis "Case insensitive string comparison")
3481 (description
3482 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3483which can be parameterised by a string-like type like: 'String', 'ByteString',
3484'Text', etc.. Comparisons of values of the resulting type will be insensitive
3485to cases.")
3486 (license license:bsd-3)))
3487
3488(define-public ghc-syb
3489 (package
3490 (name "ghc-syb")
3491 (version "0.6")
3492 (outputs '("out" "doc"))
3493 (source
3494 (origin
3495 (method url-fetch)
3496 (uri (string-append
3497 "https://hackage.haskell.org/package/syb/syb-"
3498 version
3499 ".tar.gz"))
3500 (sha256
3501 (base32
3502 "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
3503 (build-system haskell-build-system)
3504 (inputs
3505 `(("ghc-hunit" ,ghc-hunit)
3506 ("ghc-mtl" ,ghc-mtl)))
3507 (home-page
3508 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3509 (synopsis "Scrap Your Boilerplate")
3510 (description "This package contains the generics system described in the
3511/Scrap Your Boilerplate/ papers (see
3512@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3513defines the 'Data' class of types permitting folding and unfolding of
3514constructor applications, instances of this class for primitive types, and a
3515variety of traversals.")
3516 (license license:bsd-3)))
3517
3518(define-public ghc-fgl
3519 (package
3520 (name "ghc-fgl")
3521 (version "5.6.0.0")
3522 (outputs '("out" "doc"))
3523 (source
3524 (origin
3525 (method url-fetch)
3526 (uri (string-append
3527 "https://hackage.haskell.org/package/fgl/fgl-"
3528 version
3529 ".tar.gz"))
3530 (sha256
3531 (base32
3532 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
3533 (build-system haskell-build-system)
3534 (arguments
3535 `(#:configure-flags (list "--allow-newer=QuickCheck"
3536 "--allow-newer=hspec")))
3537 (inputs
3538 `(("ghc-mtl" ,ghc-mtl)
3539 ("ghc-hspec" ,ghc-hspec)
3540 ("ghc-quickcheck" ,ghc-quickcheck)))
3541 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3542 (synopsis
3543 "Martin Erwig's Functional Graph Library")
3544 (description "The functional graph library, FGL, is a collection of type
3545and function definitions to address graph problems. The basis of the library
3546is an inductive definition of graphs in the style of algebraic data types that
3547encourages inductive, recursive definitions of graph algorithms.")
3548 (license license:bsd-3)))
3549
3550(define-public ghc-chasingbottoms
3551 (package
3552 (name "ghc-chasingbottoms")
3553 (version "1.3.1.3")
3554 (source
3555 (origin
3556 (method url-fetch)
3557 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
3558 "ChasingBottoms-" version ".tar.gz"))
3559 (sha256
3560 (base32
3561 "04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q"))))
3562 (build-system haskell-build-system)
3563 (inputs
3564 `(("ghc-mtl" ,ghc-mtl)
3565 ("ghc-quickcheck" ,ghc-quickcheck)
3566 ("ghc-random" ,ghc-random)
3567 ("ghc-syb" ,ghc-syb)))
3568 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
3569 (synopsis "Testing of partial and infinite values in Haskell")
3570 (description
3571 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3572 ;; rendered properly.
3573 "This is a library for testing code involving bottoms or infinite values.
3574For the underlying theory and a larger example involving use of QuickCheck,
3575see the article
3576@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3577\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3578Partial and Infinite Values\"}.")
3579 (license license:expat)))
3580
3581(define-public ghc-unordered-containers
3582 (package
3583 (name "ghc-unordered-containers")
3584 (version "0.2.7.1")
3585 (outputs '("out" "doc"))
3586 (source
3587 (origin
3588 (method url-fetch)
3589 (uri (string-append
3590 "https://hackage.haskell.org/package/unordered-containers"
3591 "/unordered-containers-" version ".tar.gz"))
3592 (sha256
3593 (base32
3594 "00npqiphivjp2d7ryqsdavfn4m5v3w1lq2azhdsrfh0wsvqpg4ig"))))
3595 (build-system haskell-build-system)
3596 (inputs
3597 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3598 ("ghc-hunit" ,ghc-hunit)
3599 ("ghc-quickcheck" ,ghc-quickcheck)
3600 ("ghc-test-framework" ,ghc-test-framework)
3601 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3602 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3603 ("ghc-hashable" ,ghc-hashable)))
3604 (home-page
3605 "https://github.com/tibbe/unordered-containers")
3606 (synopsis
3607 "Efficient hashing-based container types")
3608 (description
3609 "Efficient hashing-based container types. The containers have been
3610optimized for performance critical use, both in terms of large data quantities
3611and high speed.")
3612 (license license:bsd-3)))
3613
3614(define-public ghc-uniplate
3615 (package
3616 (name "ghc-uniplate")
3617 (version "1.6.12")
3618 (source
3619 (origin
3620 (method url-fetch)
3621 (uri (string-append
3622 "https://hackage.haskell.org/package/uniplate/uniplate-"
3623 version
3624 ".tar.gz"))
3625 (sha256
3626 (base32
3627 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3628 (build-system haskell-build-system)
3629 (inputs
3630 `(("ghc-syb" ,ghc-syb)
3631 ("ghc-hashable" ,ghc-hashable)
3632 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3633 (home-page "http://community.haskell.org/~ndm/uniplate/")
3634 (synopsis "Simple, concise and fast generic operations")
3635 (description "Uniplate is a library for writing simple and concise generic
3636operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3637work, but is substantially simpler and faster.")
3638 (license license:bsd-3)))
3639
3640(define-public ghc-base64-bytestring
3641 (package
3642 (name "ghc-base64-bytestring")
3643 (version "1.0.0.1")
3644 (source
3645 (origin
3646 (method url-fetch)
3647 (uri (string-append
3648 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3649 version
3650 ".tar.gz"))
3651 (sha256
3652 (base32
3653 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3654 (build-system haskell-build-system)
3655 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3656 (home-page "https://github.com/bos/base64-bytestring")
3657 (synopsis "Base64 encoding and decoding for ByteStrings")
3658 (description "This library provides fast base64 encoding and decoding for
3659Haskell @code{ByteString}s.")
3660 (license license:bsd-3)))
3661
3662(define-public ghc-annotated-wl-pprint
3663 (package
3664 (name "ghc-annotated-wl-pprint")
3665 (version "0.7.0")
3666 (source
3667 (origin
3668 (method url-fetch)
3669 (uri (string-append
3670 "https://hackage.haskell.org/package/annotated-wl-pprint"
3671 "/annotated-wl-pprint-" version
3672 ".tar.gz"))
3673 (sha256
3674 (base32
3675 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3676 (build-system haskell-build-system)
3677 (home-page
3678 "https://github.com/david-christiansen/annotated-wl-pprint")
3679 (synopsis
3680 "The Wadler/Leijen Pretty Printer, with annotation support")
3681 (description "This is a modified version of wl-pprint, which was based on
3682Wadler's paper \"A Prettier Printer\". This version allows the library user
3683to annotate the text with semantic information, which can later be rendered in
3684a variety of ways.")
3685 (license license:bsd-3)))
3686
3687(define-public ghc-wl-pprint
3688 (package
3689 (name "ghc-wl-pprint")
3690 (version "1.2")
3691 (source (origin
3692 (method url-fetch)
3693 (uri (string-append
3694 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
3695 version ".tar.gz"))
3696 (sha256
3697 (base32
3698 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3699 (build-system haskell-build-system)
3700 (home-page "https://hackage.haskell.org/package/wl-pprint")
3701 (synopsis "Wadler/Leijen pretty printer")
3702 (description
3703 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3704Printer}. This version allows the library user to declare overlapping
3705instances of the @code{Pretty} class.")
3706 (license license:bsd-3)))
3707
3708(define-public ghc-ansi-wl-pprint
3709 (package
3710 (name "ghc-ansi-wl-pprint")
3711 (version "0.6.8.2")
3712 (source
3713 (origin
3714 (method url-fetch)
3715 (uri (string-append "https://hackage.haskell.org/package/"
3716 "ansi-wl-pprint/ansi-wl-pprint-"
3717 version ".tar.gz"))
3718 (sha256
3719 (base32
3720 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
3721 (build-system haskell-build-system)
3722 (inputs
3723 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
3724 (home-page "https://github.com/ekmett/ansi-wl-pprint")
3725 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3726 (description "This is a pretty printing library based on Wadler's paper
3727\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3728colored output using the ansi-terminal package.")
3729 (license license:bsd-3)))
3730
3731(define-public ghc-split
3732 (package
3733 (name "ghc-split")
3734 (version "0.2.3.1")
3735 (outputs '("out" "doc"))
3736 (source
3737 (origin
3738 (method url-fetch)
3739 (uri (string-append
3740 "https://hackage.haskell.org/package/split/split-"
3741 version
3742 ".tar.gz"))
3743 (sha256
3744 (base32
3745 "12660m16c6sib3laaxn6w9s453pyx1b49myrmzfij372vq5bc5bn"))))
3746 (build-system haskell-build-system)
3747 (native-inputs
3748 `(("ghc-quickcheck" ,ghc-quickcheck)))
3749 (home-page "https://hackage.haskell.org/package/split")
3750 (synopsis "Combinator library for splitting lists")
3751 (description "This package provides a collection of Haskell functions for
3752splitting lists into parts, akin to the @code{split} function found in several
3753mainstream languages.")
3754 (license license:bsd-3)))
3755
3756(define-public ghc-parsec
3757 (package
3758 (name "ghc-parsec")
3759 (version "3.1.11")
3760 (outputs '("out" "doc"))
3761 (source
3762 (origin
3763 (method url-fetch)
3764 (uri (string-append
3765 "https://hackage.haskell.org/package/parsec/parsec-"
3766 version
3767 ".tar.gz"))
3768 (sha256
3769 (base32 "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg"))))
3770 (build-system haskell-build-system)
3771 (native-inputs
3772 `(("ghc-hunit" ,ghc-hunit)))
3773 (inputs
3774 `(("ghc-text" ,ghc-text)
3775 ("ghc-mtl" ,ghc-mtl)))
3776 (arguments
3777 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3778 (home-page
3779 "https://github.com/aslatter/parsec")
3780 (synopsis "Monadic parser combinators")
3781 (description "Parsec is a parser library. It is simple, safe, well
3782documented, has extensive libraries, good error messages, and is fast. It is
3783defined as a monad transformer that can be stacked on arbitrary monads, and it
3784is also parametric in the input stream type.")
3785 (license license:bsd-3)))
3786
3787(define-public ghc-parser-combinators
3788 (package
3789 (name "ghc-parser-combinators")
3790 (version "0.4.0")
3791 (source
3792 (origin
3793 (method url-fetch)
3794 (uri (string-append "https://hackage.haskell.org/package/"
3795 "parser-combinators/parser-combinators-"
3796 version ".tar.gz"))
3797 (sha256
3798 (base32
3799 "1azkz0a6ikym02s8wydjcklp7rz8k512bs4s9lp9g1g03m0yj95i"))))
3800 (build-system haskell-build-system)
3801 (home-page "https://github.com/mrkkrp/parser-combinators")
3802 (synopsis "Commonly useful parser combinators")
3803 (description
3804 "This is a lightweight package providing commonly useful parser
3805combinators.")
3806 (license license:bsd-3)))
3807
3808(define-public ghc-megaparsec
3809 (package
3810 (name "ghc-megaparsec")
3811 (version "6.4.0")
3812 (source
3813 (origin
3814 (method url-fetch)
3815 (uri (string-append "https://hackage.haskell.org/package/"
3816 "megaparsec/megaparsec-"
3817 version ".tar.gz"))
3818 (sha256
3819 (base32
3820 "0h9azhs0dfrc359vrbd1jljrg3yfdbwd4p62cxqkn7mnh8913jpd"))))
3821 (build-system haskell-build-system)
3822 (inputs
3823 `(("ghc-case-insensitive" ,ghc-case-insensitive)
3824 ("ghc-mtl" ,ghc-mtl)
3825 ("ghc-parser-combinators" ,ghc-parser-combinators)
3826 ("ghc-scientific" ,ghc-scientific)
3827 ("ghc-text" ,ghc-text)))
3828 (native-inputs
3829 `(("ghc-quickcheck" ,ghc-quickcheck)
3830 ("ghc-hspec" ,ghc-hspec)
3831 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3832 ("hspec-discover" ,hspec-discover)))
3833 (home-page "https://github.com/mrkkrp/megaparsec")
3834 (synopsis "Monadic parser combinators")
3835 (description
3836 "This is an industrial-strength monadic parser combinator library.
3837Megaparsec is a feature-rich package that strikes a nice balance between
3838speed, flexibility, and quality of parse errors.")
3839 (license license:bsd-2)))
3840
3841(define-public ghc-vector
3842 (package
3843 (name "ghc-vector")
3844 (version "0.12.0.1")
3845 (outputs '("out" "doc"))
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append
3850 "https://hackage.haskell.org/package/vector/vector-"
3851 version
3852 ".tar.gz"))
3853 (sha256
3854 (base32
3855 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
3856 (build-system haskell-build-system)
3857 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
3858 ;; disabled for now.
3859 (arguments `(#:tests? #f))
3860 (inputs
3861 `(("ghc-primitive" ,ghc-primitive)
3862 ("ghc-random" ,ghc-random)
3863 ("ghc-quickcheck" ,ghc-quickcheck)
3864 ;; ("ghc-hunit" ,ghc-hunit)
3865 ;; ("ghc-test-framework" ,ghc-test-framework)
3866 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3867 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3868 ))
3869 (home-page "https://github.com/haskell/vector")
3870 (synopsis "Efficient Arrays")
3871 (description "This library provides an efficient implementation of
3872Int-indexed arrays (both mutable and immutable), with a powerful loop
3873optimisation framework.")
3874 (license license:bsd-3)))
3875
3876(define-public ghc-vector-binary-instances
3877 (package
3878 (name "ghc-vector-binary-instances")
3879 (version "0.2.4")
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append
3884 "https://hackage.haskell.org/package/"
3885 "vector-binary-instances/vector-binary-instances-"
3886 version ".tar.gz"))
3887 (sha256
3888 (base32
3889 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-vector" ,ghc-vector)))
3893 (native-inputs
3894 `(("ghc-tasty" ,ghc-tasty)
3895 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3896 (home-page "https://github.com/bos/vector-binary-instances")
3897 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3898 (description "This library provides instances of @code{Binary} for the
3899types defined in the @code{vector} package, making it easy to serialize
3900vectors to and from disk. We use the generic interface to vectors, so all
3901vector types are supported. Specific instances are provided for unboxed,
3902boxed and storable vectors.")
3903 (license license:bsd-3)))
3904
3905(define-public ghc-bloomfilter
3906 (package
3907 (name "ghc-bloomfilter")
3908 (version "2.0.1.0")
3909 (source
3910 (origin
3911 (method url-fetch)
3912 (uri (string-append "https://hackage.haskell.org/package/"
3913 "bloomfilter/bloomfilter-" version ".tar.gz"))
3914 (sha256
3915 (base32
3916 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
3917 (build-system haskell-build-system)
3918 (native-inputs
3919 `(("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-random" ,ghc-random)
3921 ("ghc-test-framework" ,ghc-test-framework)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (home-page "https://github.com/bos/bloomfilter")
3924 (synopsis "Pure and impure Bloom filter implementations")
3925 (description "This package provides both mutable and immutable Bloom
3926filter data types, along with a family of hash functions and an easy-to-use
3927interface.")
3928 (license license:bsd-3)))
3929
3930(define-public ghc-network
3931 (package
3932 (name "ghc-network")
3933 (version "2.6.3.1")
3934 (outputs '("out" "doc"))
3935 (source
3936 (origin
3937 (method url-fetch)
3938 (uri (string-append
3939 "https://hackage.haskell.org/package/network/network-"
3940 version
3941 ".tar.gz"))
3942 (sha256
3943 (base32
3944 "1rl2gl37cf4k0ddsq93q15fwdz1l25nhl4w205krbh7d5dg5y12p"))))
3945 (build-system haskell-build-system)
3946 ;; The regression tests depend on an unpublished module.
3947 (arguments `(#:tests? #f))
3948 (native-inputs
3949 `(("ghc-hunit" ,ghc-hunit)
3950 ("ghc-doctest" ,ghc-doctest)
3951 ("ghc-test-framework" ,ghc-test-framework)
3952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3953 (home-page "https://github.com/haskell/network")
3954 (synopsis "Low-level networking interface")
3955 (description
3956 "This package provides a low-level networking interface.")
3957 (license license:bsd-3)))
3958
3959(define-public ghc-network-uri
3960 (package
3961 (name "ghc-network-uri")
3962 (version "2.6.1.0")
3963 (outputs '("out" "doc"))
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append
3968 "https://hackage.haskell.org/package/network-uri/network-uri-"
3969 version
3970 ".tar.gz"))
3971 (sha256
3972 (base32
3973 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
3974 (build-system haskell-build-system)
3975 (arguments
3976 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3977 (native-inputs
3978 `(("ghc-hunit" ,ghc-hunit)))
3979 (inputs
3980 `(("ghc-parsec" ,ghc-parsec)
3981 ("ghc-network" ,ghc-network)))
3982 (home-page
3983 "https://github.com/haskell/network-uri")
3984 (synopsis "Library for URI manipulation")
3985 (description "This package provides an URI manipulation interface. In
3986'network-2.6' the 'Network.URI' module was split off from the 'network'
3987package into this package.")
3988 (license license:bsd-3)))
3989
3990(define-public ghc-ansi-terminal
3991 (package
3992 (name "ghc-ansi-terminal")
3993 (version "0.6.2.3")
3994 (source
3995 (origin
3996 (method url-fetch)
3997 (uri (string-append
3998 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
3999 version
4000 ".tar.gz"))
4001 (sha256
4002 (base32
4003 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
4004 (build-system haskell-build-system)
4005 (home-page "https://github.com/feuerbach/ansi-terminal")
4006 (synopsis "ANSI terminal support for Haskell")
4007 (description "This package provides ANSI terminal support for Haskell. It
4008allows cursor movement, screen clearing, color output showing or hiding the
4009cursor, and changing the title.")
4010 (license license:bsd-3)))
4011
4012(define-public ghc-vault
4013 (package
4014 (name "ghc-vault")
4015 (version "0.3.0.6")
4016 (source
4017 (origin
4018 (method url-fetch)
4019 (uri (string-append
4020 "https://hackage.haskell.org/package/vault/vault-"
4021 version
4022 ".tar.gz"))
4023 (sha256
4024 (base32
4025 "0j7gcs440q7qlgzi2hn36crgp2c0w69k40g6vj9hxlm31zk3shqb"))))
4026 (build-system haskell-build-system)
4027 (inputs
4028 `(("ghc-unordered-containers" ,ghc-unordered-containers)
4029 ("ghc-hashable" ,ghc-hashable)))
4030 (home-page
4031 "https://github.com/HeinrichApfelmus/vault")
4032 (synopsis "Persistent store for arbitrary values")
4033 (description "This package provides vaults for Haskell. A vault is a
4034persistent store for values of arbitrary types. It's like having first-class
4035access to the storage space behind @code{IORefs}. The data structure is
4036analogous to a bank vault, where you can access different bank boxes with
4037different keys; hence the name. Also provided is a @code{locker} type,
4038representing a store for a single element.")
4039 (license license:bsd-3)))
4040
4041(define-public ghc-edisonapi
4042 (package
4043 (name "ghc-edisonapi")
4044 (version "1.3.1")
4045 (source
4046 (origin
4047 (method url-fetch)
4048 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
4049 "/EdisonAPI-" version ".tar.gz"))
4050 (sha256
4051 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
4052 (build-system haskell-build-system)
4053 (inputs `(("ghc-mtl" ,ghc-mtl)))
4054 (home-page "http://rwd.rdockins.name/edison/home/")
4055 (synopsis "Library of efficient, purely-functional data structures (API)")
4056 (description
4057 "Edison is a library of purely functional data structures written by
4058Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
4059value EDiSon (Efficient Data Structures). Edison provides several families of
4060abstractions, each with multiple implementations. The main abstractions
4061provided by Edison are: Sequences such as stacks, queues, and dequeues;
4062Collections such as sets, bags and heaps; and Associative Collections such as
4063finite maps and priority queues where the priority and element are distinct.")
4064 (license license:expat)))
4065
4066(define-public ghc-edisoncore
4067 (package
4068 (name "ghc-edisoncore")
4069 (version "1.3.1.1")
4070 (source
4071 (origin
4072 (method url-fetch)
4073 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
4074 "/EdisonCore-" version ".tar.gz"))
4075 (sha256
4076 (base32 "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry"))))
4077 (build-system haskell-build-system)
4078 (inputs
4079 `(("ghc-mtl" ,ghc-mtl)
4080 ("ghc-quickcheck" ,ghc-quickcheck)
4081 ("ghc-edisonapi" ,ghc-edisonapi)))
4082 (home-page "http://rwd.rdockins.name/edison/home/")
4083 (synopsis "Library of efficient, purely-functional data structures")
4084 (description
4085 "This package provides the core Edison data structure implementations,
4086including multiple sequence, set, bag, and finite map concrete implementations
4087with various performance characteristics.")
4088 (license license:expat)))
4089
4090(define-public ghc-mmorph
4091 (package
4092 (name "ghc-mmorph")
4093 (version "1.0.6")
4094 (source
4095 (origin
4096 (method url-fetch)
4097 (uri (string-append
4098 "https://hackage.haskell.org/package/mmorph/mmorph-"
4099 version
4100 ".tar.gz"))
4101 (sha256
4102 (base32
4103 "1i8dzrc5qi3ryc9vrrmpn3sihmramsbhhd592w4w2k5g26qr3hql"))))
4104 (build-system haskell-build-system)
4105 (inputs
4106 `(("ghc-mtl" ,ghc-mtl)
4107 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4108 (home-page "https://hackage.haskell.org/package/mmorph")
4109 (synopsis "Monad morphisms")
4110 (description
4111 "This library provides monad morphism utilities, most commonly used for
4112manipulating monad transformer stacks.")
4113 (license license:bsd-3)))
4114
4115(define-public ghc-ifelse
4116 (package
4117 (name "ghc-ifelse")
4118 (version "0.85")
4119 (source
4120 (origin
4121 (method url-fetch)
4122 (uri (string-append "https://hackage.haskell.org/package/"
4123 "IfElse/IfElse-" version ".tar.gz"))
4124 (sha256
4125 (base32
4126 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
4127 (build-system haskell-build-system)
4128 (inputs `(("ghc-mtl" ,ghc-mtl)))
4129 (home-page "http://hackage.haskell.org/package/IfElse")
4130 (synopsis "Monadic control flow with anaphoric variants")
4131 (description "This library provides functions for control flow inside of
4132monads with anaphoric variants on @code{if} and @code{when} and a C-like
4133@code{switch} function.")
4134 (license license:bsd-3)))
4135
4136(define-public ghc-monad-control
4137 (package
4138 (name "ghc-monad-control")
4139 (version "1.0.1.0")
4140 (source
4141 (origin
4142 (method url-fetch)
4143 (uri (string-append
4144 "https://hackage.haskell.org/package/monad-control"
4145 "/monad-control-" version ".tar.gz"))
4146 (sha256
4147 (base32
4148 "1x018gi5irznx5rgzmkr2nrgh26r8cvqwkcfc6n6y05pdjf21c6l"))))
4149 (build-system haskell-build-system)
4150 (inputs
4151 `(("ghc-stm" ,ghc-stm)
4152 ("ghc-transformers-base" ,ghc-transformers-base)
4153 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4154 (home-page "https://github.com/basvandijk/monad-control")
4155 (synopsis "Monad transformers to lift control operations like exception
4156catching")
4157 (description "This package defines the type class @code{MonadBaseControl},
4158a subset of @code{MonadBase} into which generic control operations such as
4159@code{catch} can be lifted from @code{IO} or any other base monad.")
4160 (license license:bsd-3)))
4161
4162(define-public ghc-fail
4163 (package
4164 (name "ghc-fail")
4165 (version "4.9.0.0")
4166 (source
4167 (origin
4168 (method url-fetch)
4169 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4170 version ".tar.gz"))
4171 (sha256
4172 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4173 (build-system haskell-build-system)
4174 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4175 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4176 (synopsis "Forward-compatible MonadFail class")
4177 (description
4178 "This package contains the @code{Control.Monad.Fail} module providing the
4179@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4180class that became available in
4181@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4182older @code{base} package versions. This package turns into an empty package
4183when used with GHC versions which already provide the
4184@code{Control.Monad.Fail} module.")
4185 (license license:bsd-3)))
4186
4187(define-public ghc-monadplus
4188 (package
4189 (name "ghc-monadplus")
4190 (version "1.4.2")
4191 (source
4192 (origin
4193 (method url-fetch)
4194 (uri (string-append "https://hackage.haskell.org/package/monadplus"
4195 "/monadplus-" version ".tar.gz"))
4196 (sha256
4197 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
4198 (build-system haskell-build-system)
4199 (home-page "https://hackage.haskell.org/package/monadplus")
4200 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
4201 (description
4202 "This package generalizes many common stream operations such as
4203@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
4204arbitrary @code{MonadPlus} instances.")
4205 (license license:bsd-3)))
4206
4207(define-public ghc-byteorder
4208 (package
4209 (name "ghc-byteorder")
4210 (version "1.0.4")
4211 (source
4212 (origin
4213 (method url-fetch)
4214 (uri (string-append
4215 "https://hackage.haskell.org/package/byteorder/byteorder-"
4216 version
4217 ".tar.gz"))
4218 (sha256
4219 (base32
4220 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
4221 (build-system haskell-build-system)
4222 (home-page
4223 "http://community.haskell.org/~aslatter/code/byteorder")
4224 (synopsis
4225 "Exposes the native endianness of the system")
4226 (description
4227 "This package is for working with the native byte-ordering of the
4228system.")
4229 (license license:bsd-3)))
4230
4231(define-public ghc-base-compat
4232 (package
4233 (name "ghc-base-compat")
4234 (version "0.10.4")
4235 (source
4236 (origin
4237 (method url-fetch)
4238 (uri (string-append
4239 "https://hackage.haskell.org/package/base-compat/base-compat-"
4240 version
4241 ".tar.gz"))
4242 (sha256
4243 (base32
4244 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
4245 (build-system haskell-build-system)
4246 (native-inputs
4247 `(("ghc-quickcheck" ,ghc-quickcheck)
4248 ("ghc-hspec" ,ghc-hspec)
4249 ("hspec-discover" ,hspec-discover)))
4250 (home-page "https://hackage.haskell.org/package/base-compat")
4251 (synopsis "Haskell compiler compatibility library")
4252 (description "This library provides functions available in later versions
4253of base to a wider range of compilers, without requiring the use of CPP
4254pragmas in your code.")
4255 (license license:bsd-3)))
4256
4257(define-public ghc-blaze-builder
4258 (package
4259 (name "ghc-blaze-builder")
4260 (version "0.4.0.2")
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
4265 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
4266 version
4267 ".tar.gz"))
4268 (sha256
4269 (base32
4270 "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws"))))
4271 (build-system haskell-build-system)
4272 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
4273 (inputs
4274 `(("ghc-text" ,ghc-text)
4275 ("ghc-utf8-string" ,ghc-utf8-string)))
4276 (home-page "https://github.com/lpsmith/blaze-builder")
4277 (synopsis "Efficient buffered output")
4278 (description "This library provides an implementation of the older
4279@code{blaze-builder} interface in terms of the new builder that shipped with
4280@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
4281bridge to the new builder, so that code that uses the old interface can
4282interoperate with code that uses the new implementation.")
4283 (license license:bsd-3)))
4284
4285(define-public ghc-blaze-markup
4286 (package
4287 (name "ghc-blaze-markup")
4288 (version "0.8.2.0")
4289 (source
4290 (origin
4291 (method url-fetch)
4292 (uri (string-append "https://hackage.haskell.org/package/"
4293 "blaze-markup/blaze-markup-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
4297 "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4"))))
4298 (build-system haskell-build-system)
4299 (inputs
4300 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4301 ("ghc-text" ,ghc-text)))
4302 (native-inputs
4303 `(("ghc-hunit" ,ghc-hunit)
4304 ("ghc-quickcheck" ,ghc-quickcheck)
4305 ("ghc-tasty" ,ghc-tasty)
4306 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4307 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4308 (home-page "https://jaspervdj.be/blaze")
4309 (synopsis "Fast markup combinator library for Haskell")
4310 (description "This library provides core modules of a markup combinator
4311library for Haskell.")
4312 (license license:bsd-3)))
4313
4314(define-public ghc-easy-file
4315 (package
4316 (name "ghc-easy-file")
4317 (version "0.2.1")
4318 (source
4319 (origin
4320 (method url-fetch)
4321 (uri (string-append
4322 "https://hackage.haskell.org/package/easy-file/easy-file-"
4323 version
4324 ".tar.gz"))
4325 (sha256
4326 (base32
4327 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
4328 (build-system haskell-build-system)
4329 (home-page
4330 "https://github.com/kazu-yamamoto/easy-file")
4331 (synopsis "File handling library for Haskell")
4332 (description "This library provides file handling utilities for Haskell.")
4333 (license license:bsd-3)))
4334
4335(define-public ghc-async
4336 (package
4337 (name "ghc-async")
4338 (version "2.1.1.1")
4339 (source
4340 (origin
4341 (method url-fetch)
4342 (uri (string-append
4343 "https://hackage.haskell.org/package/async/async-"
4344 version
4345 ".tar.gz"))
4346 (sha256
4347 (base32
4348 "1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd"))))
4349 (build-system haskell-build-system)
4350 (inputs
4351 `(("ghc-stm" ,ghc-stm)
4352 ("ghc-hunit" ,ghc-hunit)
4353 ("ghc-test-framework" ,ghc-test-framework)
4354 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4355 (home-page "https://github.com/simonmar/async")
4356 (synopsis "Library to run IO operations asynchronously")
4357 (description "Async provides a library to run IO operations
4358asynchronously, and wait for their results. It is a higher-level interface
4359over threads in Haskell, in which @code{Async a} is a concurrent thread that
4360will eventually deliver a value of type @code{a}.")
4361 (license license:bsd-3)))
4362
4363(define-public ghc-fingertree
4364 (package
4365 (name "ghc-fingertree")
4366 (version "0.1.3.0")
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append
4371 "https://hackage.haskell.org/package/fingertree/fingertree-"
4372 version ".tar.gz"))
4373 (sha256
4374 (base32
4375 "1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs"))))
4376 (build-system haskell-build-system)
4377 (native-inputs
4378 `(("ghc-hunit" ,ghc-hunit)
4379 ("ghc-quickcheck" ,ghc-quickcheck)
4380 ("ghc-test-framework" ,ghc-test-framework)
4381 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4382 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4383 (home-page "https://hackage.haskell.org/package/fingertree")
4384 (synopsis "Generic finger-tree structure")
4385 (description "This library provides finger trees, a general sequence
4386representation with arbitrary annotations, for use as a base for
4387implementations of various collection types. It includes examples, as
4388described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4389simple general-purpose data structure\".")
4390 (license license:bsd-3)))
4391
4392(define-public ghc-optparse-applicative
4393 (package
4394 (name "ghc-optparse-applicative")
4395 (version "0.14.2.0")
4396 (source
4397 (origin
4398 (method url-fetch)
4399 (uri (string-append
4400 "https://hackage.haskell.org/package/optparse-applicative"
4401 "/optparse-applicative-" version ".tar.gz"))
4402 (sha256
4403 (base32
4404 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
4405 (build-system haskell-build-system)
4406 (inputs
4407 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4408 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
4409 (native-inputs
4410 `(("ghc-quickcheck" ,ghc-quickcheck)))
4411 (home-page "https://github.com/pcapriotti/optparse-applicative")
4412 (synopsis "Utilities and combinators for parsing command line options")
4413 (description "This package provides utilities and combinators for parsing
4414command line options in Haskell.")
4415 (license license:bsd-3)))
4416
4417(define-public ghc-base-orphans
4418 (package
4419 (name "ghc-base-orphans")
4420 (version "0.6")
4421 (source
4422 (origin
4423 (method url-fetch)
4424 (uri (string-append
4425 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
4426 version
4427 ".tar.gz"))
4428 (sha256
4429 (base32
4430 "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67"))))
4431 (build-system haskell-build-system)
4432 (native-inputs
4433 `(("ghc-quickcheck" ,ghc-quickcheck)
4434 ("ghc-hspec" ,ghc-hspec)
4435 ("hspec-discover" ,hspec-discover)))
4436 (home-page "https://hackage.haskell.org/package/base-orphans")
4437 (synopsis "Orphan instances for backwards compatibility")
4438 (description "This package defines orphan instances that mimic instances
4439available in later versions of base to a wider (older) range of compilers.")
4440 (license license:bsd-3)))
4441
4442(define-public ghc-auto-update
4443 (package
4444 (name "ghc-auto-update")
4445 (version "0.1.4")
4446 (source
4447 (origin
4448 (method url-fetch)
4449 (uri (string-append
4450 "https://hackage.haskell.org/package/auto-update/auto-update-"
4451 version
4452 ".tar.gz"))
4453 (sha256
4454 (base32
4455 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
4456 (build-system haskell-build-system)
4457 (home-page "https://github.com/yesodweb/wai")
4458 (synopsis "Efficiently run periodic, on-demand actions")
4459 (description "This library provides mechanisms to efficiently run
4460periodic, on-demand actions in Haskell.")
4461 (license license:expat)))
4462
4463(define-public ghc-tagged
4464 (package
4465 (name "ghc-tagged")
4466 (version "0.8.5")
4467 (source
4468 (origin
4469 (method url-fetch)
4470 (uri (string-append
4471 "https://hackage.haskell.org/package/tagged/tagged-"
4472 version
4473 ".tar.gz"))
4474 (sha256
4475 (base32
4476 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
4477 (build-system haskell-build-system)
4478 (inputs
4479 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
4480 (home-page "https://hackage.haskell.org/package/tagged")
4481 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4482 (description "This library provides phantom types for Haskell 98, to avoid
4483having to unsafely pass dummy arguments.")
4484 (license license:bsd-3)))
4485
4486(define-public ghc-unbounded-delays
4487 (package
4488 (name "ghc-unbounded-delays")
4489 (version "0.1.0.9")
4490 (source
4491 (origin
4492 (method url-fetch)
4493 (uri (string-append
4494 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
4495 version
4496 ".tar.gz"))
4497 (sha256
4498 (base32
4499 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4500 (build-system haskell-build-system)
4501 (home-page "https://github.com/basvandijk/unbounded-delays")
4502 (synopsis "Unbounded thread delays and timeouts")
4503 (description "The @code{threadDelay} and @code{timeout} functions from the
4504Haskell base library use the bounded @code{Int} type for specifying the delay
4505or timeout period. This package provides alternative functions which use the
4506unbounded @code{Integer} type.")
4507 (license license:bsd-3)))
4508
4509(define-public ghc-clock
4510 (package
4511 (name "ghc-clock")
4512 (version "0.7.2")
4513 (source
4514 (origin
4515 (method url-fetch)
4516 (uri (string-append
4517 "https://hackage.haskell.org/package/"
4518 "clock/"
4519 "clock-" version ".tar.gz"))
4520 (sha256
4521 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
4522 (build-system haskell-build-system)
4523 (inputs
4524 `(("ghc-tasty" ,ghc-tasty)
4525 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4526 (home-page "https://hackage.haskell.org/package/clock")
4527 (synopsis "High-resolution clock for Haskell")
4528 (description "A package for convenient access to high-resolution clock and
4529timer functions of different operating systems via a unified API.")
4530 (license license:bsd-3)))
4531
4532(define-public ghc-charset
4533 (package
4534 (name "ghc-charset")
4535 (version "0.3.7.1")
4536 (source
4537 (origin
4538 (method url-fetch)
4539 (uri (string-append
4540 "https://hackage.haskell.org/package/charset/charset-"
4541 version
4542 ".tar.gz"))
4543 (sha256
4544 (base32
4545 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4546 (build-system haskell-build-system)
4547 (inputs
4548 `(("ghc-semigroups" ,ghc-semigroups)
4549 ("ghc-unordered-containers" ,ghc-unordered-containers)))
4550 (home-page "https://github.com/ekmett/charset")
4551 (synopsis "Fast unicode character sets for Haskell")
4552 (description "This package provides fast unicode character sets for
4553Haskell, based on complemented PATRICIA tries.")
4554 (license license:bsd-3)))
4555
4556(define-public ghc-bytestring-builder
4557 (package
4558 (name "ghc-bytestring-builder")
4559 (version "0.10.8.1.0")
4560 (source
4561 (origin
4562 (method url-fetch)
4563 (uri (string-append
4564 "https://hackage.haskell.org/package/bytestring-builder"
4565 "/bytestring-builder-" version ".tar.gz"))
4566 (sha256
4567 (base32
4568 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
4569 (build-system haskell-build-system)
4570 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4571 (home-page "https://hackage.haskell.org/package/bytestring-builder")
4572 (synopsis "The new bytestring builder, packaged outside of GHC")
4573 (description "This package provides the bytestring builder that is
4574debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4575Compatibility package for older packages.")
4576 (license license:bsd-3)))
4577
4578(define-public ghc-nats
4579 (package
4580 (name "ghc-nats")
4581 (version "1.1.1")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append
4586 "https://hackage.haskell.org/package/nats/nats-"
4587 version
4588 ".tar.gz"))
4589 (sha256
4590 (base32
4591 "1kfl2yy97nb7q0j17v96rl73xvi3z4db9bk0xychc76dax41n78k"))))
4592 (build-system haskell-build-system)
4593 (arguments `(#:haddock? #f))
4594 (inputs
4595 `(("ghc-hashable" ,ghc-hashable)))
4596 (home-page "https://hackage.haskell.org/package/nats")
4597 (synopsis "Natural numbers")
4598 (description "This library provides the natural numbers for Haskell.")
4599 (license license:bsd-3)))
4600
4601(define-public ghc-void
4602 (package
4603 (name "ghc-void")
4604 (version "0.7.1")
4605 (source
4606 (origin
4607 (method url-fetch)
4608 (uri (string-append
4609 "https://hackage.haskell.org/package/void/void-"
4610 version
4611 ".tar.gz"))
4612 (sha256
4613 (base32
4614 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4615 (build-system haskell-build-system)
4616 (inputs
4617 `(("ghc-semigroups" ,ghc-semigroups)
4618 ("ghc-hashable" ,ghc-hashable)))
4619 (home-page "https://github.com/ekmett/void")
4620 (synopsis
4621 "Logically uninhabited data type")
4622 (description
4623 "A Haskell 98 logically uninhabited data type, used to indicate that a
4624given term should not exist.")
4625 (license license:bsd-3)))
4626
4627(define-public ghc-kan-extensions
4628 (package
4629 (name "ghc-kan-extensions")
4630 (version "5.0.1")
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append
4635 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
4636 version
4637 ".tar.gz"))
4638 (sha256
4639 (base32
4640 "1qm0kf4krmyjbjynn96ab0h3q117vwcia5nin7n2b8b4f3jrzph1"))))
4641 (build-system haskell-build-system)
4642 (inputs
4643 `(("ghc-adjunctions" ,ghc-adjunctions)
4644 ("ghc-comonad" ,ghc-comonad)
4645 ("ghc-contravariant" ,ghc-contravariant)
4646 ("ghc-distributive" ,ghc-distributive)
4647 ("ghc-free" ,ghc-free)
4648 ("ghc-mtl" ,ghc-mtl)
4649 ("ghc-semigroupoids" ,ghc-semigroupoids)
4650 ("ghc-tagged" ,ghc-tagged)))
4651 (home-page "https://github.com/ekmett/kan-extensions/")
4652 (synopsis "Kan extensions library")
4653 (description "This library provides Kan extensions, Kan lifts, various
4654forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
4655 (license license:bsd-3)))
4656
4657(define-public ghc-call-stack
4658 (package
4659 (name "ghc-call-stack")
4660 (version "0.1.0")
4661 (source
4662 (origin
4663 (method url-fetch)
4664 (uri (string-append "https://hackage.haskell.org/package/"
4665 "call-stack/call-stack-"
4666 version ".tar.gz"))
4667 (sha256
4668 (base32
4669 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
4670 (build-system haskell-build-system)
4671 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
4672 (home-page "https://github.com/sol/call-stack#readme")
4673 (synopsis "Use GHC call-stacks in a backward compatible way")
4674 (description "This package provides a compatibility layer for using GHC
4675call stacks with different versions of the compiler.")
4676 (license license:expat)))
4677
4678;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
4679;; because it depends on ghc-nanospec, which depends on ghc-hunit.
4680(define-public ghc-call-stack-boot
4681 (package
4682 (inherit ghc-call-stack)
4683 (arguments '(#:tests? #f))
4684 (inputs '())))
4685
4686(define-public ghc-statevar
4687 (package
4688 (name "ghc-statevar")
4689 (version "1.1.0.4")
4690 (source
4691 (origin
4692 (method url-fetch)
4693 (uri (string-append
4694 "https://hackage.haskell.org/package/StateVar/StateVar-"
4695 version
4696 ".tar.gz"))
4697 (sha256
4698 (base32
4699 "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks"))))
4700 (build-system haskell-build-system)
4701 (inputs
4702 `(("ghc-stm" ,ghc-stm)))
4703 (home-page "https://hackage.haskell.org/package/StateVar")
4704 (synopsis "State variables for Haskell")
4705 (description "This package provides state variables, which are references
4706in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
4707 (license license:bsd-3)))
4708
4709(define-public ghc-lens
4710 (package
4711 (name "ghc-lens")
4712 (version "4.15.4")
4713 (source
4714 (origin
4715 (method url-fetch)
4716 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
4717 version ".tar.gz"))
4718 (sha256
4719 (base32
4720 "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl"))))
4721 (build-system haskell-build-system)
4722 (inputs
4723 `(("ghc-base-orphans" ,ghc-base-orphans)
4724 ("ghc-bifunctors" ,ghc-bifunctors)
4725 ("ghc-doctest" ,ghc-doctest-0.13)
4726 ("ghc-distributive" ,ghc-distributive)
4727 ("ghc-exceptions" ,ghc-exceptions)
4728 ("ghc-free" ,ghc-free)
4729 ("ghc-kan-extensions" ,ghc-kan-extensions)
4730 ("ghc-parallel" ,ghc-parallel)
4731 ("ghc-reflection" ,ghc-reflection)
4732 ("ghc-semigroupoids" ,ghc-semigroupoids)
4733 ("ghc-vector" ,ghc-vector)
4734 ("ghc-call-stack" ,ghc-call-stack)
4735 ("ghc-comonad" ,ghc-comonad)
4736 ("ghc-contravariant" ,ghc-contravariant)
4737 ("ghc-hashable" ,ghc-hashable)
4738 ("ghc-mtl" ,ghc-mtl)
4739 ("ghc-profunctors" ,ghc-profunctors)
4740 ("ghc-semigroups" ,ghc-semigroups)
4741 ("ghc-tagged" ,ghc-tagged)
4742 ("ghc-text" ,ghc-text)
4743 ("ghc-transformers-compat" ,ghc-transformers-compat)
4744 ("ghc-unordered-containers" ,ghc-unordered-containers)
4745 ("ghc-void" ,ghc-void)
4746 ("ghc-generic-deriving" ,ghc-generic-deriving)
4747 ("ghc-nats" ,ghc-nats)
4748 ("ghc-simple-reflect" ,ghc-simple-reflect)
4749 ("hlint" ,hlint)))
4750 (native-inputs
4751 `(("cabal-doctest" ,cabal-doctest)
4752 ("ghc-hunit" ,ghc-hunit)
4753 ("ghc-test-framework" ,ghc-test-framework)
4754 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4755 ("ghc-test-framework-th" ,ghc-test-framework-th)
4756 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4757 ("ghc-quickcheck" ,ghc-quickcheck)))
4758 (home-page "https://github.com/ekmett/lens/")
4759 (synopsis "Lenses, Folds and Traversals")
4760 (description "This library provides @code{Control.Lens}. The combinators
4761in @code{Control.Lens} provide a highly generic toolbox for composing families
4762of getters, folds, isomorphisms, traversals, setters and lenses and their
4763indexed variants.")
4764 (license license:bsd-3)))
4765
4766(define-public ghc-cheapskate
4767 (package
4768 (name "ghc-cheapskate")
4769 (version "0.1.1")
4770 (source
4771 (origin
4772 (method url-fetch)
4773 (uri (string-append
4774 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
4775 version
4776 ".tar.gz"))
4777 (sha256
4778 (base32
4779 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
4780 (build-system haskell-build-system)
4781 (inputs
4782 `(("ghc-mtl" ,ghc-mtl)
4783 ("ghc-text" ,ghc-text)
4784 ("ghc-blaze-html" ,ghc-blaze-html)
4785 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
4786 ("ghc-data-default" ,ghc-data-default)
4787 ("ghc-syb" ,ghc-syb)
4788 ("ghc-uniplate" ,ghc-uniplate)))
4789 (home-page "https://github.com/jgm/cheapskate")
4790 (synopsis "Experimental markdown processor")
4791 (description "Cheapskate is an experimental Markdown processor in pure
4792Haskell. It aims to process Markdown efficiently and in the most forgiving
4793possible way. It is designed to deal with any input, including garbage, with
4794linear performance. Output is sanitized by default for protection against
4795cross-site scripting (@dfn{XSS}) attacks.")
4796 (license license:bsd-3)))
4797
4798(define-public ghc-bifunctors
4799 (package
4800 (name "ghc-bifunctors")
4801 (version "5.5.2")
4802 (source
4803 (origin
4804 (method url-fetch)
4805 (uri (string-append
4806 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4807 version
4808 ".tar.gz"))
4809 (sha256
4810 (base32
4811 "04fbsysm6zl8kmvqgffmrqa9bxl9dl2gibrd51asqzg737mb4ark"))))
4812 (build-system haskell-build-system)
4813 (inputs
4814 `(("ghc-base-orphans" ,ghc-base-orphans)
4815 ("ghc-comonad" ,ghc-comonad)
4816 ("ghc-th-abstraction" ,ghc-th-abstraction)
4817 ("ghc-transformers-compat" ,ghc-transformers-compat)
4818 ("ghc-tagged" ,ghc-tagged)
4819 ("ghc-semigroups" ,ghc-semigroups)))
4820 (native-inputs
4821 `(("ghc-hspec" ,ghc-hspec)
4822 ("hspec-discover" ,hspec-discover)
4823 ("ghc-quickcheck" ,ghc-quickcheck)))
4824 (home-page "https://github.com/ekmett/bifunctors/")
4825 (synopsis "Bifunctors for Haskell")
4826 (description "This package provides bifunctors for Haskell.")
4827 (license license:bsd-3)))
4828
4829(define-public ghc-semigroupoids
4830 (package
4831 (name "ghc-semigroupoids")
4832 (version "5.1")
4833 (source
4834 (origin
4835 (method url-fetch)
4836 (uri (string-append
4837 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
4838 version
4839 ".tar.gz"))
4840 (sha256
4841 (base32
4842 "0dgqc59p4xx5cl8qkpm6sn4wd3n59rq7l6din76hf10bnklqrb0n"))))
4843 (build-system haskell-build-system)
4844 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4845 (inputs
4846 `(("ghc-base-orphans" ,ghc-base-orphans)
4847 ("ghc-transformers-compat" ,ghc-transformers-compat)
4848 ("ghc-bifunctors" ,ghc-bifunctors)
4849 ("ghc-comonad" ,ghc-comonad)
4850 ("ghc-contravariant" ,ghc-contravariant)
4851 ("ghc-distributive" ,ghc-distributive)
4852 ("ghc-semigroups" ,ghc-semigroups)
4853 ("ghc-tagged" ,ghc-tagged)))
4854 (home-page "https://github.com/ekmett/semigroupoids")
4855 (synopsis "Semigroupoids operations for Haskell")
4856 (description "This library provides a wide array of (semi)groupoids and
4857operations for working with them. A @code{Semigroupoid} is a @code{Category}
4858without the requirement of identity arrows for every object in the category.
4859A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4860Finally, to work with these weaker structures it is beneficial to have
4861containers that can provide stronger guarantees about their contents, so
4862versions of @code{Traversable} and @code{Foldable} that can be folded with
4863just a @code{Semigroup} are added.")
4864 (license license:bsd-3)))
4865
4866(define-public ghc-contravariant
4867 (package
4868 (name "ghc-contravariant")
4869 (version "1.4")
4870 (source
4871 (origin
4872 (method url-fetch)
4873 (uri (string-append
4874 "https://hackage.haskell.org/package/contravariant/contravariant-"
4875 version
4876 ".tar.gz"))
4877 (sha256
4878 (base32
4879 "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1"))))
4880 (build-system haskell-build-system)
4881 (inputs
4882 `(("ghc-void" ,ghc-void)
4883 ("ghc-transformers-compat" ,ghc-transformers-compat)
4884 ("ghc-statevar" ,ghc-statevar)
4885 ("ghc-semigroups" ,ghc-semigroups)))
4886 (home-page
4887 "https://github.com/ekmett/contravariant/")
4888 (synopsis "Contravariant functors")
4889 (description "Contravariant functors for Haskell.")
4890 (license license:bsd-3)))
4891
4892(define-public ghc-semigroups
4893 (package
4894 (name "ghc-semigroups")
4895 (version "0.18.2")
4896 (source
4897 (origin
4898 (method url-fetch)
4899 (uri (string-append
4900 "https://hackage.haskell.org/package/semigroups/semigroups-"
4901 version
4902 ".tar.gz"))
4903 (sha256
4904 (base32
4905 "1r6hsn3am3dpf4rprrj4m04d9318v9iq02bin0pl29dg4a3gzjax"))))
4906 (build-system haskell-build-system)
4907 (inputs
4908 `(("ghc-nats" ,ghc-nats)
4909 ("ghc-tagged" ,ghc-tagged)
4910 ("ghc-unordered-containers" ,ghc-unordered-containers)
4911 ("ghc-text" ,ghc-text)
4912 ("ghc-hashable" ,ghc-hashable)))
4913 (home-page "https://github.com/ekmett/semigroups/")
4914 (synopsis "Semigroup operations for Haskell")
4915 (description "This package provides semigroups for Haskell. In
4916mathematics, a semigroup is an algebraic structure consisting of a set
4917together with an associative binary operation. A semigroup generalizes a
4918monoid in that there might not exist an identity element. It
4919also (originally) generalized a group (a monoid with all inverses) to a type
4920where every element did not have to have an inverse, thus the name
4921semigroup.")
4922 (license license:bsd-3)))
4923
4924(define-public ghc-free
4925 (package
4926 (name "ghc-free")
4927 (version "4.12.4")
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append
4932 "https://hackage.haskell.org/package/free/free-"
4933 version
4934 ".tar.gz"))
4935 (sha256
4936 (base32
4937 "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9"))))
4938 (build-system haskell-build-system)
4939 (inputs
4940 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4941 ("ghc-profunctors" ,ghc-profunctors)
4942 ("ghc-exceptions" ,ghc-exceptions)
4943 ("ghc-bifunctors" ,ghc-bifunctors)
4944 ("ghc-comonad" ,ghc-comonad)
4945 ("ghc-distributive" ,ghc-distributive)
4946 ("ghc-mtl" ,ghc-mtl)
4947 ("ghc-semigroupoids" ,ghc-semigroupoids)
4948 ("ghc-semigroups" ,ghc-semigroups)))
4949 (home-page "https://github.com/ekmett/free/")
4950 (synopsis "Unrestricted monads for Haskell")
4951 (description "This library provides free monads, which are useful for many
4952tree-like structures and domain specific languages. If @code{f} is a
4953@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4954whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4955is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4956f} makes no constraining assumptions beyond those given by @code{f} and the
4957definition of @code{Monad}.")
4958 (license license:bsd-3)))
4959
4960(define-public ghc-adjunctions
4961 (package
4962 (name "ghc-adjunctions")
4963 (version "4.3")
4964 (source
4965 (origin
4966 (method url-fetch)
4967 (uri (string-append
4968 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
4969 version
4970 ".tar.gz"))
4971 (sha256
4972 (base32
4973 "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r"))))
4974 (build-system haskell-build-system)
4975 (inputs
4976 `(("ghc-profunctors" ,ghc-profunctors)
4977 ("ghc-comonad" ,ghc-comonad)
4978 ("ghc-contravariant" ,ghc-contravariant)
4979 ("ghc-distributive" ,ghc-distributive)
4980 ("ghc-free" ,ghc-free)
4981 ("ghc-mtl" ,ghc-mtl)
4982 ("ghc-tagged" ,ghc-tagged)
4983 ("ghc-semigroupoids" ,ghc-semigroupoids)
4984 ("ghc-semigroups" ,ghc-semigroups)
4985 ("ghc-void" ,ghc-void)))
4986 (home-page "https://github.com/ekmett/adjunctions/")
4987 (synopsis "Adjunctions and representable functors")
4988 (description "This library provides adjunctions and representable functors
4989for Haskell.")
4990 (license license:bsd-3)))
4991
4992(define-public ghc-equivalence
4993 (package
4994 (name "ghc-equivalence")
4995 (version "0.3.2")
4996 (source
4997 (origin
4998 (method url-fetch)
4999 (uri (string-append "https://hackage.haskell.org/package/equivalence"
5000 "/equivalence-" version ".tar.gz"))
5001 (sha256
5002 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
5003 (build-system haskell-build-system)
5004 (inputs
5005 `(("ghc-mtl" ,ghc-mtl)
5006 ("ghc-stmonadtrans" ,ghc-stmonadtrans)
5007 ("ghc-transformers-compat" ,ghc-transformers-compat)
5008 ("ghc-quickcheck" ,ghc-quickcheck)
5009 ("ghc-test-framework" ,ghc-test-framework)
5010 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5011 (home-page "https://github.com/pa-ba/equivalence")
5012 (synopsis "Maintaining an equivalence relation implemented as union-find")
5013 (description
5014 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
5015Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
501622(2), 1975) in order to maintain an equivalence relation. This
5017implementation is a port of the @code{union-find} package using the @code{ST}
5018monad transformer (instead of the IO monad).")
5019 (license license:bsd-3)))
5020
5021(define-public ghc-fast-logger
5022 (package
5023 (name "ghc-fast-logger")
5024 (version "2.4.11")
5025 (source
5026 (origin
5027 (method url-fetch)
5028 (uri (string-append
5029 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
5030 version
5031 ".tar.gz"))
5032 (sha256
5033 (base32
5034 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
5035 (build-system haskell-build-system)
5036 (inputs
5037 `(("ghc-auto-update" ,ghc-auto-update)
5038 ("ghc-easy-file" ,ghc-easy-file)
5039 ("ghc-text" ,ghc-text)
5040 ("ghc-unix-time" ,ghc-unix-time)))
5041 (native-inputs
5042 `(("hspec-discover" ,hspec-discover)
5043 ("ghc-hspec" ,ghc-hspec)))
5044 (home-page "https://hackage.haskell.org/package/fast-logger")
5045 (synopsis "Fast logging system")
5046 (description "This library provides a fast logging system for Haskell.")
5047 (license license:bsd-3)))
5048
5049(define-public ghc-doctest
5050 (package
5051 (name "ghc-doctest")
5052 (version "0.11.0")
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append
5057 "https://hackage.haskell.org/package/doctest/doctest-"
5058 version
5059 ".tar.gz"))
5060 (sha256
5061 (base32
5062 "0xv4vx1r3mk7cmiwywzrq25545cx3i7imhcx33mk47r88j5c49fj"))))
5063 (build-system haskell-build-system)
5064 (arguments `(#:tests? #f)) ; FIXME: missing test framework
5065 (inputs
5066 `(("ghc-syb" ,ghc-syb)
5067 ("ghc-paths" ,ghc-paths)
5068 ("ghc-base-compat" ,ghc-base-compat)
5069 ("ghc-hunit" ,ghc-hunit)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("ghc-quickcheck" ,ghc-quickcheck)
5072 ("ghc-stringbuilder" ,ghc-stringbuilder)
5073 ("ghc-silently" ,ghc-silently)
5074 ("ghc-setenv" ,ghc-setenv)))
5075 (home-page
5076 "https://github.com/sol/doctest#readme")
5077 (synopsis "Test interactive Haskell examples")
5078 (description "The doctest program checks examples in source code comments.
5079It is modeled after doctest for Python, see
5080@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
5081 (license license:expat)))
5082
5083(define-public ghc-doctest-0.12
5084 (package (inherit ghc-doctest)
5085 (name "ghc-doctest")
5086 (version "0.12.0")
5087 (source
5088 (origin
5089 (method url-fetch)
5090 (uri (string-append
5091 "https://hackage.haskell.org/package/doctest/doctest-"
5092 version
5093 ".tar.gz"))
5094 (sha256
5095 (base32
5096 "13h549cpgcvb7c54c7wif28g5wak84dxc3ais0hlqhzk1q6la91a"))))
5097 (inputs
5098 `(("ghc-code-page" ,ghc-code-page)
5099 ,@(package-inputs ghc-doctest)))))
5100
5101(define-public ghc-doctest-0.13
5102 (package (inherit ghc-doctest-0.12)
5103 (name "ghc-doctest")
5104 (version "0.13.0")
5105 (source
5106 (origin
5107 (method url-fetch)
5108 (uri (string-append "https://hackage.haskell.org/package/"
5109 "doctest/doctest-" version ".tar.gz"))
5110 (sha256
5111 (base32
5112 "08g3nmpqbnbkxc95d65hkhfabwax10qrq51vlynr342npn40mn2b"))))))
5113
5114(define-public ghc-lifted-base
5115 (package
5116 (name "ghc-lifted-base")
5117 (version "0.2.3.8")
5118 (source
5119 (origin
5120 (method url-fetch)
5121 (uri (string-append
5122 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5123 version
5124 ".tar.gz"))
5125 (sha256
5126 (base32
5127 "17yz4n7q96x4cp8vxai8csn2vmpigxvipkfh48arahf91f0xy18n"))))
5128 (build-system haskell-build-system)
5129 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5130 (inputs
5131 `(("ghc-transformers-base" ,ghc-transformers-base)
5132 ("ghc-monad-control" ,ghc-monad-control)
5133 ("ghc-transformers-compat" ,ghc-transformers-compat)
5134 ("ghc-hunit" ,ghc-hunit)))
5135 (home-page "https://github.com/basvandijk/lifted-base")
5136 (synopsis "Lifted IO operations from the base library")
5137 (description "Lifted-base exports IO operations from the @code{base}
5138library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5139Note that not all modules from @code{base} are converted yet. The package
5140includes a copy of the @code{monad-peel} test suite written by Anders
5141Kaseorg.")
5142 (license license:bsd-3)))
5143
5144(define-public ghc-word8
5145 (package
5146 (name "ghc-word8")
5147 (version "0.1.3")
5148 (source
5149 (origin
5150 (method url-fetch)
5151 (uri (string-append
5152 "https://hackage.haskell.org/package/word8/word8-"
5153 version
5154 ".tar.gz"))
5155 (sha256
5156 (base32
5157 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
5158 (build-system haskell-build-system)
5159 (native-inputs
5160 `(("ghc-hspec" ,ghc-hspec)
5161 ("hspec-discover" ,hspec-discover)))
5162 (home-page "https://hackage.haskell.org/package/word8")
5163 (synopsis "Word8 library for Haskell")
5164 (description "Word8 library to be used with @code{Data.ByteString}.")
5165 (license license:bsd-3)))
5166
5167(define-public ghc-stringsearch
5168 (package
5169 (name "ghc-stringsearch")
5170 (version "0.3.6.6")
5171 (source
5172 (origin
5173 (method url-fetch)
5174 (uri (string-append
5175 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
5176 version
5177 ".tar.gz"))
5178 (sha256
5179 (base32
5180 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
5181 (build-system haskell-build-system)
5182 (home-page "https://bitbucket.org/dafis/stringsearch")
5183 (synopsis "Fast searching, splitting and replacing of ByteStrings")
5184 (description "This package provides several functions to quickly search
5185for substrings in strict or lazy @code{ByteStrings}. It also provides
5186functions for breaking or splitting on substrings and replacing all
5187occurrences of a substring (the first in case of overlaps) with another.")
5188 (license license:bsd-3)))
5189
5190(define-public ghc-integer-logarithms
5191 (package
5192 (name "ghc-integer-logarithms")
5193 (version "1.0.2.1")
5194 (source
5195 (origin
5196 (method url-fetch)
5197 (uri (string-append "https://hackage.haskell.org/package/"
5198 "integer-logarithms/integer-logarithms-"
5199 version ".tar.gz"))
5200 (sha256
5201 (base32
5202 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
5203 (build-system haskell-build-system)
5204 (arguments
5205 `(#:configure-flags (list "--allow-newer=tasty")))
5206 (native-inputs
5207 `(("ghc-quickcheck" ,ghc-quickcheck)
5208 ("ghc-smallcheck" ,ghc-smallcheck)
5209 ("ghc-tasty" ,ghc-tasty)
5210 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5211 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5212 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5213 (home-page "https://github.com/Bodigrim/integer-logarithms")
5214 (synopsis "Integer logarithms")
5215 (description
5216 "This package provides the following modules:
5217@code{Math.NumberTheory.Logarithms} and
5218@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5219@code{GHC.Integer.Logarithms.Compat} and
5220@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5221in migrated modules.")
5222 (license license:expat)))
5223
5224(define ghc-integer-logarithms-bootstrap
5225 (package
5226 (inherit ghc-integer-logarithms)
5227 (name "ghc-integer-logarithms-bootstrap")
5228 (arguments `(#:tests? #f))
5229 (native-inputs '())))
5230
5231(define-public ghc-scientific
5232 (package
5233 (name "ghc-scientific")
5234 (version "0.3.6.2")
5235 (source
5236 (origin
5237 (method url-fetch)
5238 (uri (string-append
5239 "https://hackage.haskell.org/package/scientific/scientific-"
5240 version
5241 ".tar.gz"))
5242 (sha256
5243 (base32
5244 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
5245 (build-system haskell-build-system)
5246 (inputs
5247 `(("ghc-integer-logarithms-bootstrap" ,ghc-integer-logarithms-bootstrap)
5248 ("ghc-text" ,ghc-text)
5249 ("ghc-hashable" ,ghc-hashable)
5250 ("ghc-primitive" ,ghc-primitive)))
5251 (native-inputs
5252 `(("ghc-tasty" ,ghc-tasty)
5253 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
5254 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5255 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5256 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5257 ("ghc-smallcheck" ,ghc-smallcheck)
5258 ("ghc-quickcheck" ,ghc-quickcheck)))
5259 (home-page "https://github.com/basvandijk/scientific")
5260 (synopsis "Numbers represented using scientific notation")
5261 (description "This package provides @code{Data.Scientific}, which provides
5262the number type @code{Scientific}. Scientific numbers are arbitrary precision
5263and space efficient. They are represented using
5264@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
5265notation}.")
5266 (license license:bsd-3)))
5267
5268(define ghc-scientific-bootstrap
5269 (package
5270 (inherit ghc-scientific)
5271 (name "ghc-scientific-bootstrap")
5272 (arguments `(#:tests? #f))
5273 (native-inputs '())))
5274
5275(define-public ghc-boxes
5276 (package
5277 (name "ghc-boxes")
5278 (version "0.1.4")
5279 (source
5280 (origin
5281 (method url-fetch)
5282 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
5283 version ".tar.gz"))
5284 (sha256
5285 (base32 "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf"))))
5286 (build-system haskell-build-system)
5287 (inputs
5288 `(("ghc-split" ,ghc-split)
5289 ("ghc-quickcheck" ,ghc-quickcheck)))
5290 (home-page "https://hackage.haskell.org/package/boxes")
5291 (synopsis "2D text pretty-printing library")
5292 (description
5293 "Boxes is a pretty-printing library for laying out text in two dimensions,
5294using a simple box model.")
5295 (license license:bsd-3)))
5296
5297(define-public ghc-deepseq-generics
5298 (package
5299 (name "ghc-deepseq-generics")
5300 (version "0.2.0.0")
5301 (source (origin
5302 (method url-fetch)
5303 (uri (string-append "https://hackage.haskell.org/package/"
5304 "deepseq-generics/deepseq-generics-"
5305 version ".tar.gz"))
5306 (sha256
5307 (base32
5308 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
5309 (build-system haskell-build-system)
5310 (native-inputs
5311 `(("ghc-hunit" ,ghc-hunit)
5312 ("ghc-test-framework" ,ghc-test-framework)
5313 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5314 (home-page "https://github.com/hvr/deepseq-generics")
5315 (synopsis "Generic RNF implementation")
5316 (description
5317 "This package provides a @code{GHC.Generics}-based
5318@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5319providing an 'rnf' implementation.")
5320 (license license:bsd-3)))
5321
5322(define-public ghc-string-qq
5323 (package
5324 (name "ghc-string-qq")
5325 (version "0.0.2")
5326 (source
5327 (origin
5328 (method url-fetch)
5329 (uri (string-append
5330 "https://hackage.haskell.org/package/string-qq/string-qq-"
5331 version
5332 ".tar.gz"))
5333 (sha256
5334 (base32
5335 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
5336 (build-system haskell-build-system)
5337 (home-page "http://hackage.haskell.org/package/string-qq")
5338 (synopsis
5339 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
5340 (description
5341 "This package provides a quasiquoter for non-interpolated strings, texts
5342and bytestrings.")
5343 (license license:public-domain)))
5344
5345(define-public ghc-pandoc-types
5346 (package
5347 (name "ghc-pandoc-types")
5348 (version "1.17.5.1")
5349 (source (origin
5350 (method url-fetch)
5351 (uri (string-append "https://hackage.haskell.org/package/"
5352 "pandoc-types/pandoc-types-"
5353 version ".tar.gz"))
5354 (sha256
5355 (base32
5356 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
5357 (build-system haskell-build-system)
5358 (arguments
5359 `(#:configure-flags (list "--allow-newer=QuickCheck")))
5360 (inputs
5361 `(("ghc-syb" ,ghc-syb)
5362 ("ghc-aeson" ,ghc-aeson)
5363 ("ghc-string-qq" ,ghc-string-qq)))
5364 (native-inputs
5365 `(("ghc-quickcheck" ,ghc-quickcheck)
5366 ("ghc-test-framework" ,ghc-test-framework)
5367 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5368 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5369 ("ghc-hunit" ,ghc-hunit)))
5370 (home-page "http://johnmacfarlane.net/pandoc")
5371 (synopsis "Types for representing a structured document")
5372 (description
5373 "This module defines the @code{Pandoc} data structure, which is used by
5374pandoc to represent structured documents. It also provides functions for
5375building up, manipulating and serialising @code{Pandoc} structures.")
5376 (license license:bsd-3)))
5377
5378(define-public ghc-pandoc-types-for-pandoc-1
5379 (package (inherit ghc-pandoc-types)
5380 (version "1.17.0.5")
5381 (source (origin
5382 (method url-fetch)
5383 (uri (string-append "https://hackage.haskell.org/package/"
5384 "pandoc-types/pandoc-types-"
5385 version ".tar.gz"))
5386 (sha256
5387 (base32
5388 "1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8"))))
5389 (arguments
5390 `(#:configure-flags (list "--allow-newer=QuickCheck"
5391 "--allow-newer=HUnit")))
5392 (inputs
5393 `(("ghc-syb" ,ghc-syb)
5394 ("ghc-aeson" ,ghc-aeson-for-pandoc-1)
5395 ("ghc-string-qq" ,ghc-string-qq)))))
5396
5397(define-public ghc-texmath
5398 (package
5399 (name "ghc-texmath")
5400 (version "0.11.0.1")
5401 (source (origin
5402 (method url-fetch)
5403 (uri (string-append "https://hackage.haskell.org/package/"
5404 "texmath/texmath-" version ".tar.gz"))
5405 (sha256
5406 (base32
5407 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
5408 (build-system haskell-build-system)
5409 (inputs
5410 `(("ghc-syb" ,ghc-syb)
5411 ("ghc-network-uri" ,ghc-network-uri)
5412 ("ghc-split" ,ghc-split)
5413 ("ghc-temporary" ,ghc-temporary)
5414 ("ghc-utf8-string" ,ghc-utf8-string)
5415 ("ghc-xml" ,ghc-xml)
5416 ("ghc-parsec" ,ghc-parsec)
5417 ("ghc-mtl" ,ghc-mtl)
5418 ("ghc-pandoc-types" ,ghc-pandoc-types)))
5419 (home-page "https://github.com/jgm/texmath")
5420 (synopsis "Conversion between formats used to represent mathematics")
5421 (description
5422 "The texmath library provides functions to read and write TeX math,
5423presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5424Office). Support is also included for converting math formats to pandoc's
5425native format (allowing conversion, via pandoc, to a variety of different
5426markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5427it can parse and apply LaTeX macros.")
5428 (license license:gpl2+)))
5429
5430(define-public ghc-texmath-for-pandoc-1
5431 (package (inherit ghc-texmath)
5432 (version "0.9.4.4")
5433 (source (origin
5434 (method url-fetch)
5435 (uri (string-append "https://hackage.haskell.org/package/"
5436 "texmath/texmath-" version ".tar.gz"))
5437 (sha256
5438 (base32
5439 "129q33m56diiv35kdwfb07838wrg0mm88kxdqxfyl1zvf9nzkqkd"))))
5440 (inputs
5441 `(("ghc-mtl" ,ghc-mtl)
5442 ("ghc-network-uri" ,ghc-network-uri)
5443 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
5444 ("ghc-parsec" ,ghc-parsec)
5445 ("ghc-split" ,ghc-split)
5446 ("ghc-syb" ,ghc-syb)
5447 ("ghc-temporary" ,ghc-temporary)
5448 ("ghc-utf8-string" ,ghc-utf8-string)
5449 ("ghc-xml" ,ghc-xml)))))
5450
5451(define-public ghc-regex-pcre-builtin
5452 (package
5453 (name "ghc-regex-pcre-builtin")
5454 (version "0.94.4.8.8.35")
5455 (source (origin
5456 (method url-fetch)
5457 (uri (string-append "https://hackage.haskell.org/package/"
5458 "regex-pcre-builtin/regex-pcre-builtin-"
5459 version ".tar.gz"))
5460 (sha256
5461 (base32
5462 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5463 (build-system haskell-build-system)
5464 (inputs
5465 `(("ghc-regex-base" ,ghc-regex-base)))
5466 (home-page "https://hackage.haskell.org/package/regex-pcre")
5467 (synopsis "Enhancement of the builtin Text.Regex library")
5468 (description
5469 "This package is an enhancement of the @code{Text.Regex} library,
5470providing the PCRE backend to accompany regex-base, with bundled code from
5471@url{https://www.pcre.org}.")
5472 (license license:bsd-3)))
5473
5474(define-public ghc-diff
5475 (package
5476 (name "ghc-diff")
5477 (version "0.3.4")
5478 (source (origin
5479 (method url-fetch)
5480 (uri (string-append "https://hackage.haskell.org/package/"
5481 "Diff/Diff-" version ".tar.gz"))
5482 (sha256
5483 (base32
5484 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
5485 (build-system haskell-build-system)
5486 (native-inputs
5487 `(("ghc-quickcheck" ,ghc-quickcheck)
5488 ("ghc-test-framework" ,ghc-test-framework)
5489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5490 (home-page "https://hub.darcs.net/sterlingclover/Diff")
5491 (synopsis "O(ND) diff algorithm in Haskell")
5492 (description
5493 "This package provides an implementation of the standard diff algorithm,
5494and utilities for pretty printing.")
5495 (license license:bsd-3)))
5496
5497(define-public ghc-highlighting-kate
5498 (package
5499 (name "ghc-highlighting-kate")
5500 (version "0.6.3")
5501 (source (origin
5502 (method url-fetch)
5503 (uri (string-append "https://hackage.haskell.org/package/"
5504 "highlighting-kate/highlighting-kate-"
5505 version ".tar.gz"))
5506 (sha256
5507 (base32
5508 "03c4flh4h1jd48bx0qmplax3q8w6wj1dhbh6j0xhaf5h95fbinki"))))
5509 (build-system haskell-build-system)
5510 (inputs
5511 `(("ghc-diff" ,ghc-diff)
5512 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5513 (native-inputs
5514 `(("ghc-parsec" ,ghc-parsec)
5515 ("ghc-blaze-html" ,ghc-blaze-html)
5516 ("ghc-utf8-string" ,ghc-utf8-string)
5517 ("ghc-mtl" ,ghc-mtl)))
5518 (home-page "https://github.com/jgm/highlighting-kate")
5519 (synopsis "Syntax highlighting library")
5520 (description
5521 "Highlighting-kate is a syntax highlighting library with support for
5522nearly one hundred languages. The syntax parsers are automatically generated
5523from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5524supported by Kate can be added. An (optional) command-line program is
5525provided, along with a utility for generating new parsers from Kate XML syntax
5526descriptions.")
5527 (license license:gpl2+)))
5528
5529(define-public ghc-cmark
5530 (package
5531 (name "ghc-cmark")
5532 (version "0.5.6")
5533 (source (origin
5534 (method url-fetch)
5535 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5536 ;; See cbits/cmark_version.h.
5537 (uri (string-append "https://hackage.haskell.org/package/"
5538 "cmark/cmark-" version ".tar.gz"))
5539 (sha256
5540 (base32
5541 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
5542 (build-system haskell-build-system)
5543 (inputs
5544 `(("ghc-text" ,ghc-text)))
5545 (native-inputs
5546 `(("ghc-hunit" ,ghc-hunit)))
5547 (home-page "https://github.com/jgm/commonmark-hs")
5548 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5549 (description
5550 "This package provides Haskell bindings for
5551@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
5552CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5553sources, and does not require prior installation of the C library.")
5554 (license license:bsd-3)))
5555
5556(define-public ghc-cmark-gfm
5557 (package
5558 (name "ghc-cmark-gfm")
5559 (version "0.1.3")
5560 (source
5561 (origin
5562 (method url-fetch)
5563 (uri (string-append "https://hackage.haskell.org/package/"
5564 "cmark-gfm/cmark-gfm-"
5565 version ".tar.gz"))
5566 (sha256
5567 (base32
5568 "1fkisbrydmdx5h8yad09fzk8h1b1j53r02g7vb81izgdwj9b673k"))))
5569 (build-system haskell-build-system)
5570 (inputs
5571 `(("ghc-text" ,ghc-text)))
5572 (native-inputs
5573 `(("ghc-hunit" ,ghc-hunit)))
5574 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5575 (synopsis
5576 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5577 (description
5578 "This package provides Haskell bindings for libcmark-gfm, the reference
5579parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5580It includes sources for libcmark-gfm and does not require prior installation
5581of the C library.")
5582 (license license:bsd-3)))
5583
5584(define-public ghc-executable-path
5585 (package
5586 (name "ghc-executable-path")
5587 (version "0.0.3.1")
5588 (source (origin
5589 (method url-fetch)
5590 (uri (string-append "https://hackage.haskell.org/package/"
5591 "executable-path/executable-path-"
5592 version ".tar.gz"))
5593 (sha256
5594 (base32
5595 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
5596 (build-system haskell-build-system)
5597 (home-page "https://hackage.haskell.org/package/executable-path")
5598 (synopsis "Find out the full path of the executable")
5599 (description
5600 "The documentation of @code{System.Environment.getProgName} says that
5601\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5602instead, for maximum portability, we just return the leafname of the program
5603as invoked.\" This library tries to provide the missing path.")
5604 (license license:public-domain)))
5605
5606(define-public ghc-enclosed-exceptions
5607 (package
5608 (name "ghc-enclosed-exceptions")
5609 (version "1.0.3")
5610 (source (origin
5611 (method url-fetch)
5612 (uri (string-append "https://hackage.haskell.org/package/"
5613 "enclosed-exceptions/enclosed-exceptions-"
5614 version ".tar.gz"))
5615 (sha256
5616 (base32
5617 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
5618 (build-system haskell-build-system)
5619 ;; FIXME: one of the tests blocks forever:
5620 ;; "thread blocked indefinitely in an MVar operation"
5621 (arguments '(#:tests? #f))
5622 (inputs
5623 `(("ghc-lifted-base" ,ghc-lifted-base)
5624 ("ghc-monad-control" ,ghc-monad-control)
5625 ("ghc-async" ,ghc-async)
5626 ("ghc-transformers-base" ,ghc-transformers-base)))
5627 (native-inputs
5628 `(("ghc-hspec" ,ghc-hspec)
5629 ("ghc-quickcheck" ,ghc-quickcheck)))
5630 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5631 (synopsis "Catch all exceptions from within an enclosed computation")
5632 (description
5633 "This library implements a technique to catch all exceptions raised
5634within an enclosed computation, while remaining responsive to (external)
5635asynchronous exceptions.")
5636 (license license:expat)))
5637
5638(define-public ghc-packedstring
5639 (package
5640 (name "ghc-packedstring")
5641 (version "0.1.0.1")
5642 (source (origin
5643 (method url-fetch)
5644 (uri (string-append "https://hackage.haskell.org/package/"
5645 "packedstring/packedstring-"
5646 version ".tar.gz"))
5647 (sha256
5648 (base32
5649 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5650 (build-system haskell-build-system)
5651 (arguments
5652 `(#:phases
5653 (modify-phases %standard-phases
5654 (add-after 'unpack 'enable-extension
5655 (lambda _
5656 ;; This package won't compile without the StandaloneDeriving
5657 ;; extension.
5658 (substitute* "packedstring.cabal"
5659 (("CPP") "CPP, StandaloneDeriving"))
5660 #t)))))
5661 (home-page "https://hackage.haskell.org/package/packedstring")
5662 (synopsis "Library for packed strings")
5663 (description
5664 "This deprecated library provides an implementation of packed strings.")
5665 (license license:bsd-3)))
5666
5667(define-public ghc-th-abstraction
5668 (package
5669 (name "ghc-th-abstraction")
5670 (version "0.2.6.0")
5671 (source
5672 (origin
5673 (method url-fetch)
5674 (uri (string-append "https://hackage.haskell.org/package/"
5675 "th-abstraction/th-abstraction-"
5676 version ".tar.gz"))
5677 (sha256
5678 (base32
5679 "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5"))))
5680 (build-system haskell-build-system)
5681 (home-page "https://github.com/glguy/th-abstraction")
5682 (synopsis "Nicer interface for reified information about data types")
5683 (description
5684 "This package normalizes variations in the interface for inspecting
5685datatype information via Template Haskell so that packages and support a
5686single, easier to use informational datatype while supporting many versions of
5687Template Haskell.")
5688 (license license:isc)))
5689
5690(define-public ghc-th-lift
5691 (package
5692 (name "ghc-th-lift")
5693 (version "0.7.8")
5694 (source (origin
5695 (method url-fetch)
5696 (uri (string-append "https://hackage.haskell.org/package/"
5697 "th-lift/th-lift-" version ".tar.gz"))
5698 (sha256
5699 (base32
5700 "0ay10b78x3969rpqqrgzy8srkl6iby2cljbf3mm17na8x22k7y1c"))))
5701 (build-system haskell-build-system)
5702 (home-page "https://github.com/mboes/th-lift")
5703 (synopsis "Derive Template Haskell's Lift class for datatypes")
5704 (description
5705 "This is a Haskell library to derive Template Haskell's Lift class for
5706datatypes.")
5707 (license license:bsd-3)))
5708
5709(define-public ghc-th-lift-instances
5710 (package
5711 (name "ghc-th-lift-instances")
5712 (version "0.1.11")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri (string-append "https://hackage.haskell.org/package/"
5717 "th-lift-instances/th-lift-instances-"
5718 version ".tar.gz"))
5719 (sha256
5720 (base32
5721 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("ghc-th-lift" ,ghc-th-lift)
5725 ("ghc-vector" ,ghc-vector)
5726 ("ghc-text" ,ghc-text)
5727 ("ghc-quickcheck" ,ghc-quickcheck)))
5728 (home-page "https://github.com/bennofs/th-lift-instances/")
5729 (synopsis "Lift instances for template-haskell for common data types.")
5730 (description "Most data types in the Haskell platform do not have Lift
5731instances. This package provides orphan instances for @code{containers},
5732@code{text}, @code{bytestring} and @code{vector}.")
5733 (license license:bsd-3)))
5734
5735(define-public ghc-th-expand-syns
5736 (package
5737 (name "ghc-th-expand-syns")
5738 (version "0.4.0.0")
5739 (source (origin
5740 (method url-fetch)
5741 (uri (string-append "https://hackage.haskell.org/package/"
5742 "th-expand-syns/th-expand-syns-"
5743 version ".tar.gz"))
5744 (sha256
5745 (base32
5746 "1sjy7a17zwyvlbkc8gklii67sy78wpnw35fyb00lsbnpk4cryd2r"))))
5747 (build-system haskell-build-system)
5748 (inputs
5749 `(("ghc-syb" ,ghc-syb)))
5750 (home-page "https://hackage.haskell.org/package/th-expand-syns")
5751 (synopsis "Expands type synonyms in Template Haskell ASTs")
5752 (description
5753 "This package enables users to expand type synonyms in Template Haskell
5754@dfn{abstract syntax trees} (ASTs).")
5755 (license license:bsd-3)))
5756
5757(define-public ghc-th-reify-many
5758 (package
5759 (name "ghc-th-reify-many")
5760 (version "0.1.6")
5761 (source (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/"
5764 "th-reify-many/th-reify-many-"
5765 version ".tar.gz"))
5766 (sha256
5767 (base32
5768 "1b76zjxkj0v0n8zj9l0nwav2irm0c43rx6qjihfw8klmmxvx59df"))))
5769 (build-system haskell-build-system)
5770 (inputs
5771 `(("ghc-mtl" ,ghc-mtl)
5772 ("ghc-safe" ,ghc-safe)
5773 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
5774 (home-page "https://github.com/mgsloan/th-reify-many")
5775 (synopsis "Recurseively reify template haskell datatype info")
5776 (description
5777 "th-reify-many provides functions for recursively reifying top level
5778declarations. The main intended use case is for enumerating the names of
5779datatypes reachable from an initial datatype, and passing these names to some
5780function which generates instances.")
5781 (license license:bsd-3)))
5782
5783(define-public ghc-th-orphans
5784 (package
5785 (name "ghc-th-orphans")
5786 (version "0.13.2")
5787 (source (origin
5788 (method url-fetch)
5789 (uri (string-append "https://hackage.haskell.org/package/"
5790 "th-orphans/th-orphans-" version ".tar.gz"))
5791 (sha256
5792 (base32
5793 "0102vkyzpgnp2fys8pvw4khrhrh2y1b8dp1slgvn020vg4s351mc"))))
5794 (build-system haskell-build-system)
5795 (inputs
5796 `(("ghc-th-lift" ,ghc-th-lift)
5797 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
5798 ("ghc-th-reify-many" ,ghc-th-reify-many)
5799 ("ghc-mtl" ,ghc-mtl)
5800 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5801 (native-inputs
5802 `(("ghc-hspec" ,ghc-hspec)))
5803 (home-page "https://hackage.haskell.org/package/th-orphans")
5804 (synopsis "Orphan instances for TH datatypes")
5805 (description
5806 "This package provides orphan instances for Template Haskell datatypes. In particular,
5807instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5808and @code{Eq} instances. These instances used to live in the haskell-src-meta
5809package, and that's where the version number started.")
5810 (license license:bsd-3)))
5811
5812(define-public ghc-geniplate-mirror
5813 (package
5814 (name "ghc-geniplate-mirror")
5815 (version "0.7.5")
5816 (source
5817 (origin
5818 (method url-fetch)
5819 (uri (string-append "https://hackage.haskell.org/package"
5820 "/geniplate-mirror"
5821 "/geniplate-mirror-" version ".tar.gz"))
5822 (sha256
5823 (base32 "17vjps2118s5z3k39ij00lkmkxv3mqf8h59wv6qdamlgmhyr36si"))))
5824 (build-system haskell-build-system)
5825 (inputs `(("ghc-mtl" ,ghc-mtl)))
5826 (home-page "https://github.com/danr/geniplate")
5827 (synopsis "Use Template Haskell to generate Uniplate-like functions")
5828 (description
5829 "Use Template Haskell to generate Uniplate-like functions. This is a
5830maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
5831geniplate} package, written by Lennart Augustsson.")
5832 (license license:bsd-3)))
5833
5834(define-public ghc-gitrev
5835 (package
5836 (name "ghc-gitrev")
5837 (version "1.3.1")
5838 (source
5839 (origin
5840 (method url-fetch)
5841 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
5842 version ".tar.gz"))
5843 (sha256
5844 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
5845 (build-system haskell-build-system)
5846 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
5847 (home-page "https://github.com/acfoltzer/gitrev")
5848 (synopsis "Compile git revision info into Haskell projects")
5849 (description
5850 "This package provides some handy Template Haskell splices for including
5851the current git hash and branch in the code of your project. This is useful
5852for including in panic messages, @command{--version} output, or diagnostic
5853info for more informative bug reports.")
5854 (license license:bsd-3)))
5855
5856(define-public ghc-haskell-src-meta
5857 (package
5858 (name "ghc-haskell-src-meta")
5859 (version "0.8.0.2")
5860 (source (origin
5861 (method url-fetch)
5862 (uri (string-append "https://hackage.haskell.org/package/"
5863 "haskell-src-meta/haskell-src-meta-"
5864 version ".tar.gz"))
5865 (sha256
5866 (base32
5867 "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb"))))
5868 (build-system haskell-build-system)
5869 (inputs
5870 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5871 ("ghc-syb" ,ghc-syb)
5872 ("ghc-th-orphans" ,ghc-th-orphans)))
5873 (native-inputs
5874 `(("ghc-hunit" ,ghc-hunit)
5875 ("ghc-test-framework" ,ghc-test-framework)
5876 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5877 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5878 (synopsis "Parse source to template-haskell abstract syntax")
5879 (description
5880 "This package provides tools to parse Haskell sources to the
5881template-haskell abstract syntax.")
5882 (license license:bsd-3)))
5883
5884(define-public ghc-conduit
5885 (package
5886 (name "ghc-conduit")
5887 (version "1.3.0.3")
5888 (source (origin
5889 (method url-fetch)
5890 (uri (string-append "https://hackage.haskell.org/package/"
5891 "conduit/conduit-" version ".tar.gz"))
5892 (sha256
5893 (base32
5894 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
5895 (build-system haskell-build-system)
5896 (inputs
5897 `(("ghc-exceptions" ,ghc-exceptions)
5898 ("ghc-lifted-base" ,ghc-lifted-base)
5899 ("ghc-mono-traversable" ,ghc-mono-traversable)
5900 ("ghc-mmorph" ,ghc-mmorph)
5901 ("ghc-mtl" ,ghc-mtl)
5902 ("ghc-resourcet" ,ghc-resourcet)
5903 ("ghc-silently" ,ghc-silently)
5904 ("ghc-transformers-base" ,ghc-transformers-base)
5905 ("ghc-unliftio" ,ghc-unliftio)
5906 ("ghc-unliftio-core" ,ghc-unliftio-core)
5907 ("ghc-vector" ,ghc-vector)
5908 ("ghc-void" ,ghc-void)))
5909 (native-inputs
5910 `(("ghc-quickcheck" ,ghc-quickcheck)
5911 ("ghc-hspec" ,ghc-hspec)
5912 ("ghc-safe" ,ghc-safe)
5913 ("ghc-split" ,ghc-split)))
5914 (home-page "https://github.com/snoyberg/conduit")
5915 (synopsis "Streaming data library ")
5916 (description
5917 "The conduit package is a solution to the streaming data problem,
5918allowing for production, transformation, and consumption of streams of data
5919in constant memory. It is an alternative to lazy I/O which guarantees
5920deterministic resource handling, and fits in the same general solution
5921space as enumerator/iteratee and pipes.")
5922 (license license:expat)))
5923
5924(define-public ghc-logging-facade
5925 (package
5926 (name "ghc-logging-facade")
5927 (version "0.1.1")
5928 (source (origin
5929 (method url-fetch)
5930 (uri (string-append "https://hackage.haskell.org/package/"
5931 "logging-facade/logging-facade-"
5932 version ".tar.gz"))
5933 (sha256
5934 (base32
5935 "18ldv6rsff480rqpbs3iabjpvn1fhw0i2a0g80jnhxg9ajfz5yb0"))))
5936 (build-system haskell-build-system)
5937 (native-inputs
5938 `(("ghc-hspec" ,ghc-hspec)
5939 ("hspec-discover" ,hspec-discover)))
5940 (home-page "https://hackage.haskell.org/package/logging-facade")
5941 (synopsis "Simple logging abstraction that allows multiple back-ends")
5942 (description
5943 "This package provides a simple logging abstraction that allows multiple
5944back-ends.")
5945 (license license:expat)))
5946
5947(define-public ghc-mockery
5948 (package
5949 (name "ghc-mockery")
5950 (version "0.3.3")
5951 (source (origin
5952 (method url-fetch)
5953 (uri (string-append "https://hackage.haskell.org/package/"
5954 "mockery/mockery-" version ".tar.gz"))
5955 (sha256
5956 (base32
5957 "1m7sq2vclgir3qbpngzl3g87ks4034blwwf7p3h02c0jlcwpl5b1"))))
5958 (build-system haskell-build-system)
5959 (inputs
5960 `(("ghc-temporary" ,ghc-temporary)
5961 ("ghc-logging-facade" ,ghc-logging-facade)
5962 ("ghc-base-compat" ,ghc-base-compat)))
5963 (native-inputs
5964 `(("ghc-hspec" ,ghc-hspec)
5965 ("hspec-discover" ,hspec-discover)))
5966 (home-page "https://hackage.haskell.org/package/mockery")
5967 (synopsis "Support functions for automated testing")
5968 (description
5969 "The mockery package provides support functions for automated testing.")
5970 (license license:expat)))
5971
5972(define-public ghc-yaml
5973 (package
5974 (name "ghc-yaml")
5975 (version "0.8.28")
5976 (source (origin
5977 (method url-fetch)
5978 (uri (string-append "https://hackage.haskell.org/package/"
5979 "yaml/yaml-" version ".tar.gz"))
5980 (sha256
5981 (base32
5982 "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp"))))
5983 (build-system haskell-build-system)
5984 (inputs
5985 `(("ghc-conduit" ,ghc-conduit)
5986 ("ghc-resourcet" ,ghc-resourcet)
5987 ("ghc-aeson" ,ghc-aeson)
5988 ("ghc-unordered-containers" ,ghc-unordered-containers)
5989 ("ghc-vector" ,ghc-vector)
5990 ("ghc-text" ,ghc-text)
5991 ("ghc-attoparsec" ,ghc-attoparsec)
5992 ("ghc-scientific" ,ghc-scientific)
5993 ("ghc-semigroups" ,ghc-semigroups)
5994 ("ghc-temporary" ,ghc-temporary)
5995 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
5996 ("ghc-base-compat" ,ghc-base-compat)))
5997 (native-inputs
5998 `(("ghc-hspec" ,ghc-hspec)
5999 ("ghc-hunit" ,ghc-hunit)
6000 ("hspec-discover" ,hspec-discover)
6001 ("ghc-mockery" ,ghc-mockery)))
6002 (home-page "https://github.com/snoyberg/yaml/")
6003 (synopsis "Parsing and rendering YAML documents")
6004 (description
6005 "This package provides a library to parse and render YAML documents.")
6006 (license license:bsd-3)))
6007
6008(define-public ghc-yaml-for-pandoc-1
6009 (package (inherit ghc-yaml)
6010 (inputs
6011 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6012 ,@(alist-delete "ghc-aeson" (package-inputs ghc-yaml))))))
6013
6014(define-public ghc-filemanip
6015 (package
6016 (name "ghc-filemanip")
6017 (version "0.3.6.3")
6018 (source (origin
6019 (method url-fetch)
6020 (uri (string-append "https://hackage.haskell.org/package/"
6021 "filemanip/filemanip-" version ".tar.gz"))
6022 (sha256
6023 (base32
6024 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
6025 (build-system haskell-build-system)
6026 (inputs
6027 `(("ghc-mtl" ,ghc-mtl)
6028 ("ghc-unix-compat" ,ghc-unix-compat)))
6029 (home-page "https://github.com/bos/filemanip")
6030 (synopsis "File and directory manipulation for Haskell")
6031 (description
6032 "This package provides a Haskell library for working with files and
6033directories. It includes code for pattern matching, finding files, modifying
6034file contents, and more.")
6035 (license license:bsd-3)))
6036
6037(define-public ghc-mmap
6038 (package
6039 (name "ghc-mmap")
6040 (version "0.5.9")
6041 (source (origin
6042 (method url-fetch)
6043 (uri (string-append "https://hackage.haskell.org/package/"
6044 "mmap/mmap-" version ".tar.gz"))
6045 (sha256
6046 (base32
6047 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6048 (build-system haskell-build-system)
6049 (home-page "https://hackage.haskell.org/package/mmap")
6050 (synopsis "Memory mapped files for Haskell")
6051 (description
6052 "This library provides a wrapper to @code{mmap}, allowing files or
6053devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6054@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6055do on-demand loading.")
6056 (license license:bsd-3)))
6057
6058(define-public ghc-juicypixels
6059 (package
6060 (name "ghc-juicypixels")
6061 (version "3.2.9.3")
6062 (source (origin
6063 (method url-fetch)
6064 (uri (string-append "https://hackage.haskell.org/package/"
6065 "JuicyPixels/JuicyPixels-"
6066 version ".tar.gz"))
6067 (sha256
6068 (base32
6069 "14s57fgf6kd5n5al2kcvk1aaxbq1ph0r5h8blflrjkx83yl6r8yn"))))
6070 (build-system haskell-build-system)
6071 (inputs
6072 `(("ghc-mtl" ,ghc-mtl)
6073 ("ghc-zlib" ,ghc-zlib)
6074 ("ghc-vector" ,ghc-vector)
6075 ("ghc-primitive" ,ghc-primitive)
6076 ("ghc-mmap" ,ghc-mmap)))
6077 (home-page "https://github.com/Twinside/Juicy.Pixels")
6078 (synopsis "Picture loading and serialization library")
6079 (description
6080 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6081TIFF and GIF formats.")
6082 (license license:bsd-3)))
6083
6084(define-public ghc-hslua
6085 (package
6086 (name "ghc-hslua")
6087 (version "0.9.5")
6088 (source (origin
6089 (method url-fetch)
6090 (uri (string-append "https://hackage.haskell.org/package/"
6091 "hslua/hslua-" version ".tar.gz"))
6092 (sha256
6093 (base32
6094 "1j2zk7f7nyywg2b0n6kb2yf6ljc7cn2sk9jz0h76g3ag2b70l12n"))))
6095 (build-system haskell-build-system)
6096 (arguments
6097 `(#:configure-flags '("-fsystem-lua")))
6098 (inputs
6099 `(("lua" ,lua)
6100 ("ghc-exceptions" ,ghc-exceptions)
6101 ("ghc-fail" ,ghc-fail)
6102 ("ghc-mtl" ,ghc-mtl)
6103 ("ghc-text" ,ghc-text)))
6104 (native-inputs
6105 `(("ghc-tasty" ,ghc-tasty)
6106 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6107 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6108 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6109 ("ghc-quickcheck" ,ghc-quickcheck)
6110 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
6111 (home-page "https://hackage.haskell.org/package/hslua")
6112 (synopsis "Lua language interpreter embedding in Haskell")
6113 (description
6114 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
6115described in @url{https://www.lua.org/}.")
6116 (license license:expat)))
6117
6118(define-public ghc-hslua-for-pandoc-1
6119 (package (inherit ghc-hslua)
6120 (version "0.4.1")
6121 (source (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/"
6124 "hslua/hslua-" version ".tar.gz"))
6125 (sha256
6126 (base32
6127 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
6128 (inputs
6129 `(("lua" ,lua-5.1)
6130 ("ghc-text" ,ghc-text)))
6131 (native-inputs
6132 `(("ghc-quickcheck" ,ghc-quickcheck)
6133 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6134 ("ghc-hspec" ,ghc-hspec)
6135 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
6136 ("ghc-hunit" ,ghc-hunit)
6137 ("hspec-discover" ,hspec-discover)))))
6138
6139(define-public ghc-hslua-module-text
6140 (package
6141 (name "ghc-hslua-module-text")
6142 (version "0.1.2.1")
6143 (source
6144 (origin
6145 (method url-fetch)
6146 (uri (string-append "https://hackage.haskell.org/package/"
6147 "hslua-module-text/hslua-module-text-"
6148 version ".tar.gz"))
6149 (sha256
6150 (base32
6151 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
6152 (build-system haskell-build-system)
6153 (inputs
6154 `(("ghc-hslua" ,ghc-hslua)
6155 ("ghc-text" ,ghc-text)))
6156 (native-inputs
6157 `(("ghc-tasty" ,ghc-tasty)
6158 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6159 (home-page "https://github.com/hslua/hslua-module-text")
6160 (synopsis "Lua module for text")
6161 (description
6162 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6163for Haskell. The functions provided by this module are @code{upper},
6164@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6165 (license license:expat)))
6166
6167(define-public ghc-byteable
6168 (package
6169 (name "ghc-byteable")
6170 (version "0.1.1")
6171 (source (origin
6172 (method url-fetch)
6173 (uri (string-append "https://hackage.haskell.org/package/"
6174 "byteable/byteable-" version ".tar.gz"))
6175 (sha256
6176 (base32
6177 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
6178 (build-system haskell-build-system)
6179 (home-page "https://github.com/vincenthz/hs-byteable")
6180 (synopsis "Type class for sequence of bytes")
6181 (description
6182 "This package provides an abstract class to manipulate sequence of bytes.
6183The use case of this class is abstracting manipulation of types that are just
6184wrapping a bytestring with stronger and more meaniful name.")
6185 (license license:bsd-3)))
6186
6187(define-public ghc-hourglass
6188 (package
6189 (name "ghc-hourglass")
6190 (version "0.2.10")
6191 (source (origin
6192 (method url-fetch)
6193 (uri (string-append "https://hackage.haskell.org/package/"
6194 "hourglass/hourglass-" version ".tar.gz"))
6195 (sha256
6196 (base32
6197 "104d1yd84hclprg740nkz60vx589mnm094zriw6zczbgg8nkclym"))))
6198 (build-system haskell-build-system)
6199 (inputs
6200 `(("ghc-mtl" ,ghc-mtl)
6201 ("ghc-old-locale" ,ghc-old-locale)))
6202 (native-inputs
6203 `(("ghc-tasty" ,ghc-tasty)
6204 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6205 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6206 (home-page "https://github.com/vincenthz/hs-hourglass")
6207 (synopsis "Simple time-related library for Haskell")
6208 (description
6209 "This is a simple time library providing a simple but powerful and
6210performant API. The backbone of the library are the @code{Timeable} and
6211@code{Time} type classes. Each @code{Timeable} instances can be converted to
6212a type that has a @code{Time} instances, and thus are different
6213representations of current time.")
6214 (license license:bsd-3)))
6215
6216(define-public ghc-edit-distance
6217 (package
6218 (name "ghc-edit-distance")
6219 (version "0.2.2.1")
6220 (source
6221 (origin
6222 (method url-fetch)
6223 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
6224 "/edit-distance-" version ".tar.gz"))
6225 (sha256
6226 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
6227 (build-system haskell-build-system)
6228 (arguments
6229 `(#:configure-flags (list "--allow-newer=QuickCheck")))
6230 (inputs
6231 `(("ghc-random" ,ghc-random)
6232 ("ghc-test-framework" ,ghc-test-framework)
6233 ("ghc-quickcheck" ,ghc-quickcheck)
6234 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6235 (home-page "https://github.com/phadej/edit-distance")
6236 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
6237 (description
6238 "This package provides optimized functions to determine the edit
6239distances for fuzzy matching, including Levenshtein and restricted
6240Damerau-Levenshtein algorithms.")
6241 (license license:bsd-3)))
6242
6243(define-public ghc-memory
6244 (package
6245 (name "ghc-memory")
6246 (version "0.14.16")
6247 (source (origin
6248 (method url-fetch)
6249 (uri (string-append "https://hackage.haskell.org/package/"
6250 "memory/memory-" version ".tar.gz"))
6251 (sha256
6252 (base32
6253 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
6254 (build-system haskell-build-system)
6255 (inputs
6256 `(("ghc-basement" ,ghc-basement)
6257 ("ghc-foundation" ,ghc-foundation)))
6258 (native-inputs
6259 `(("ghc-tasty" ,ghc-tasty)
6260 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6261 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6262 (home-page "https://github.com/vincenthz/hs-memory")
6263 (synopsis "Memory abstractions for Haskell")
6264 (description
6265 "This package provides memory abstractions, such as chunk of memory,
6266polymorphic byte array management and manipulation functions. It contains a
6267polymorphic byte array abstraction and functions similar to strict ByteString,
6268different type of byte array abstraction, raw memory IO operations (memory
6269set, memory copy, ..) and more")
6270 (license license:bsd-3)))
6271
6272(define-public ghc-socks
6273 (package
6274 (name "ghc-socks")
6275 (version "0.5.5")
6276 (source (origin
6277 (method url-fetch)
6278 (uri (string-append "https://hackage.haskell.org/package/"
6279 "socks/socks-" version ".tar.gz"))
6280 (sha256
6281 (base32
6282 "0s689w1hh9g8ifl75xhzbv96ir07hwn04b4lgvbxzl8swa9ylir6"))))
6283 (build-system haskell-build-system)
6284 (inputs
6285 `(("ghc-cereal" ,ghc-cereal)
6286 ("ghc-network" ,ghc-network)))
6287 (home-page "https://github.com/vincenthz/hs-socks")
6288 (synopsis "SOCKS proxy (version 5) implementation")
6289 (description
6290 "This library provides a SOCKS proxy (version 5) implementation.")
6291 (license license:bsd-3)))
6292
6293(define-public ghc-connection
6294 (package
6295 (name "ghc-connection")
6296 (version "0.2.6")
6297 (source (origin
6298 (method url-fetch)
6299 (uri (string-append "https://hackage.haskell.org/package/"
6300 "connection/connection-"
6301 version ".tar.gz"))
6302 (sha256
6303 (base32
6304 "1c1prsgad669cmf6qrqlb5hmh0dnam2imijqzpwcr4ja14l6rh83"))))
6305 (build-system haskell-build-system)
6306 (inputs
6307 `(("ghc-byteable" ,ghc-byteable)
6308 ("ghc-data-default-class" ,ghc-data-default-class)
6309 ("ghc-network" ,ghc-network)
6310 ("ghc-tls" ,ghc-tls)
6311 ("ghc-socks" ,ghc-socks)
6312 ("ghc-x509" ,ghc-x509)
6313 ("ghc-x509-store" ,ghc-x509-store)
6314 ("ghc-x509-system" ,ghc-x509-system)
6315 ("ghc-x509-validation" ,ghc-x509-validation)))
6316 (home-page "https://github.com/vincenthz/hs-connection")
6317 (synopsis "Simple and easy network connections API")
6318 (description
6319 "This package provides a simple network library for all your connection
6320needs. It provides a very simple API to create sockets to a destination with
6321the choice of SSL/TLS, and SOCKS.")
6322 (license license:bsd-3)))
6323
6324(define-public ghc-skylighting
6325 (package
6326 (name "ghc-skylighting")
6327 (version "0.5.1")
6328 (source (origin
6329 (method url-fetch)
6330 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
6331 version "/skylighting-" version ".tar.gz"))
6332 (sha256
6333 (base32
6334 "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg"))))
6335 (build-system haskell-build-system)
6336 (inputs
6337 `(("ghc-aeson" ,ghc-aeson)
6338 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6339 ("ghc-attoparsec" ,ghc-attoparsec)
6340 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6341 ("ghc-blaze-html" ,ghc-blaze-html)
6342 ("ghc-case-insensitive" ,ghc-case-insensitive)
6343 ("ghc-colour" ,ghc-colour)
6344 ("ghc-diff" ,ghc-diff)
6345 ("ghc-hxt" ,ghc-hxt)
6346 ("ghc-mtl" ,ghc-mtl)
6347 ("ghc-pretty-show" ,ghc-pretty-show)
6348 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6349 ("ghc-safe" ,ghc-safe)
6350 ("ghc-text" ,ghc-text)
6351 ("ghc-utf8-string" ,ghc-utf8-string)))
6352 (native-inputs
6353 `(("ghc-hunit" ,ghc-hunit)
6354 ("ghc-quickcheck" ,ghc-quickcheck)
6355 ("ghc-tasty" ,ghc-tasty)
6356 ("ghc-tasty-golden" ,ghc-tasty-golden)
6357 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6358 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6359 (home-page "https://hackage.haskell.org/package/skylighting")
6360 (synopsis "Syntax highlighting library")
6361 (description "Skylighting is a syntax highlighting library with support
6362for over one hundred languages. It derives its tokenizers from XML syntax
6363definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
6364supported by that framework can be added. An optional command-line program is
6365provided. Skylighting is intended to be the successor to highlighting-kate.")
6366 (license license:gpl2)))
6367
6368(define-public ghc-skylighting-for-pandoc-1
6369 (package (inherit ghc-skylighting)
6370 (version "0.1.1.5")
6371 (source (origin
6372 (method git-fetch)
6373 ;; We take the sources from Github, because the tarball on
6374 ;; hackage does not include the XML files.
6375 (uri (git-reference
6376 (url "https://github.com/jgm/skylighting.git")
6377 (commit version)))
6378 (file-name (string-append "ghc-skylighting-" version "-checkout"))
6379 (sha256
6380 (base32
6381 "0z3yv8v2fqqgv6lsf0ff3ld0h2vkg97b2jiry9wn2f1rizwdqmzl"))))
6382 (arguments
6383 `(#:configure-flags '("-fbootstrap")
6384 #:phases
6385 (modify-phases %standard-phases
6386 ;; After building the skylighting-extract tool we use it to generate
6387 ;; syntax source files from the included XML files. These are then
6388 ;; added to the skylighting.cabal file.
6389 (add-after 'build 'extract-xml
6390 (lambda _
6391 (make-file-writable "skylighting.cabal")
6392 (apply invoke "./dist/build/skylighting-extract/skylighting-extract"
6393 (find-files "xml" "\\.xml$"))
6394 #t))
6395 ;; Reconfigure without bootstrap flag
6396 (add-after 'extract-xml 'configure-again
6397 (lambda* (#:key outputs inputs tests? #:allow-other-keys)
6398 ((assoc-ref %standard-phases 'configure)
6399 #:outputs outputs
6400 #:inputs inputs
6401 #:tests? tests?
6402 #:configure-flags '("-f-bootstrap"))))
6403 (add-after 'configure-again 'build-again
6404 (assoc-ref %standard-phases 'build)))))
6405 (inputs
6406 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6407 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6408 ("ghc-blaze-html" ,ghc-blaze-html)
6409 ("ghc-case-insensitive" ,ghc-case-insensitive)
6410 ("ghc-diff" ,ghc-diff)
6411 ("ghc-hxt" ,ghc-hxt)
6412 ("ghc-mtl" ,ghc-mtl)
6413 ("ghc-pretty-show" ,ghc-pretty-show)
6414 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6415 ("ghc-safe" ,ghc-safe)
6416 ("ghc-text" ,ghc-text)
6417 ("ghc-utf8-string" ,ghc-utf8-string)))))
6418
6419(define-public ghc-doctemplates
6420 (package
6421 (name "ghc-doctemplates")
6422 (version "0.2.1")
6423 (source
6424 (origin
6425 (method url-fetch)
6426 (uri (string-append "https://hackage.haskell.org/package/"
6427 "doctemplates/doctemplates-"
6428 version ".tar.gz"))
6429 (sha256
6430 (base32
6431 "1bfs2kl5j5al2w2y4qpbn68p0xsnb65r7h51l356kpkzc326646p"))))
6432 (build-system haskell-build-system)
6433 (inputs
6434 `(("ghc-aeson" ,ghc-aeson)
6435 ("ghc-blaze-markup" ,ghc-blaze-markup)
6436 ("ghc-blaze-html" ,ghc-blaze-html)
6437 ("ghc-text" ,ghc-text)
6438 ("ghc-vector" ,ghc-vector)
6439 ("ghc-parsec" ,ghc-parsec)
6440 ("ghc-unordered-containers" ,ghc-unordered-containers)
6441 ("ghc-scientific" ,ghc-scientific)))
6442 (native-inputs
6443 `(("ghc-hspec" ,ghc-hspec)))
6444 (home-page "https://github.com/jgm/doctemplates#readme")
6445 (synopsis "Pandoc-style document templates")
6446 (description
6447 "This package provides a simple text templating system used by pandoc.")
6448 (license license:bsd-3)))
6449
6450(define-public ghc-doctemplates-for-pandoc-1
6451 (package (inherit ghc-doctemplates)
6452 (version "0.1.0.2")
6453 (source
6454 (origin
6455 (method url-fetch)
6456 (uri (string-append "https://hackage.haskell.org/package/"
6457 "doctemplates/doctemplates-"
6458 version ".tar.gz"))
6459 (sha256
6460 (base32
6461 "0swal6rjya1293mwvl63jch5fx9ghpsil7qs4v7rpansa0izalmp"))))
6462 (build-system haskell-build-system)
6463 (inputs
6464 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6465 ("ghc-blaze-markup" ,ghc-blaze-markup)
6466 ("ghc-blaze-html" ,ghc-blaze-html)
6467 ("ghc-text" ,ghc-text)
6468 ("ghc-vector" ,ghc-vector)
6469 ("ghc-parsec" ,ghc-parsec)
6470 ("ghc-unordered-containers" ,ghc-unordered-containers)
6471 ("ghc-scientific" ,ghc-scientific)))))
6472
6473(define-public ghc-pandoc
6474 (package
6475 (name "ghc-pandoc")
6476 (version "2.2.1")
6477 (source
6478 (origin
6479 (method url-fetch)
6480 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6481 version ".tar.gz"))
6482 (sha256
6483 (base32
6484 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
6485 (build-system haskell-build-system)
6486 (inputs
6487 `(("ghc-aeson" ,ghc-aeson)
6488 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6489 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6490 ("ghc-blaze-html" ,ghc-blaze-html)
6491 ("ghc-blaze-markup" ,ghc-blaze-markup)
6492 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
6493 ("ghc-data-default" ,ghc-data-default)
6494 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6495 ("ghc-diff" ,ghc-diff)
6496 ("ghc-doctemplates" ,ghc-doctemplates)
6497 ("ghc-executable-path" ,ghc-executable-path)
6498 ("ghc-glob" ,ghc-glob)
6499 ("ghc-haddock-library" ,ghc-haddock-library)
6500 ("ghc-hslua" ,ghc-hslua)
6501 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
6502 ("ghc-http" ,ghc-http)
6503 ("ghc-http-client" ,ghc-http-client)
6504 ("ghc-http-client-tls" ,ghc-http-client-tls)
6505 ("ghc-http-types" ,ghc-http-types)
6506 ("ghc-juicypixels" ,ghc-juicypixels)
6507 ("ghc-mtl" ,ghc-mtl)
6508 ("ghc-network" ,ghc-network)
6509 ("ghc-network-uri" ,ghc-network-uri)
6510 ("ghc-old-locale" ,ghc-old-locale)
6511 ("ghc-pandoc-types" ,ghc-pandoc-types)
6512 ("ghc-parsec" ,ghc-parsec)
6513 ("ghc-random" ,ghc-random)
6514 ("ghc-scientific" ,ghc-scientific)
6515 ("ghc-sha" ,ghc-sha)
6516 ("ghc-skylighting" ,ghc-skylighting)
6517 ("ghc-split" ,ghc-split)
6518 ("ghc-syb" ,ghc-syb)
6519 ("ghc-tagsoup" ,ghc-tagsoup)
6520 ("ghc-temporary" ,ghc-temporary)
6521 ("ghc-texmath" ,ghc-texmath)
6522 ("ghc-text" ,ghc-text)
6523 ("ghc-unordered-containers" ,ghc-unordered-containers)
6524 ("ghc-vector" ,ghc-vector)
6525 ("ghc-xml" ,ghc-xml)
6526 ("ghc-yaml" ,ghc-yaml)
6527 ("ghc-zip-archive" ,ghc-zip-archive)
6528 ("ghc-zlib" ,ghc-zlib)))
6529 (native-inputs
6530 `(("ghc-tasty" ,ghc-tasty)
6531 ("ghc-tasty-golden" ,ghc-tasty-golden)
6532 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6533 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6534 ("ghc-quickcheck" ,ghc-quickcheck)
6535 ("ghc-hunit" ,ghc-hunit)))
6536 (home-page "https://pandoc.org")
6537 (synopsis "Conversion between markup formats")
6538 (description
6539 "Pandoc is a Haskell library for converting from one markup format to
6540another, and a command-line tool that uses this library. It can read and
6541write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6542LaTeX, DocBook, and many more.
6543
6544Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6545definition lists, tables, and other features. A compatibility mode is
6546provided for those who need a drop-in replacement for Markdown.pl.")
6547 (license license:gpl2+)))
6548
6549;; This is the last version of Pandoc 1.x, which is preferred for Rmarkdown.
6550(define-public ghc-pandoc-1
6551 (package (inherit ghc-pandoc)
6552 (version "1.19.2.4")
6553 (source
6554 (origin
6555 (method url-fetch)
6556 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6557 version ".tar.gz"))
6558 (sha256
6559 (base32
6560 "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v"))))
6561 (arguments
6562 `(#:configure-flags (list "--allow-newer=skylighting")))
6563 (inputs
6564 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6566 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6567 ("ghc-blaze-html" ,ghc-blaze-html)
6568 ("ghc-blaze-markup" ,ghc-blaze-markup)
6569 ("ghc-cmark" ,ghc-cmark)
6570 ("ghc-data-default" ,ghc-data-default)
6571 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6572 ("ghc-diff" ,ghc-diff)
6573 ("ghc-doctemplates" ,ghc-doctemplates-for-pandoc-1)
6574 ("ghc-executable-path" ,ghc-executable-path)
6575 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6576 ("ghc-filemanip" ,ghc-filemanip)
6577 ("ghc-haddock-library" ,ghc-haddock-library)
6578 ("ghc-hslua" ,ghc-hslua-for-pandoc-1)
6579 ("ghc-http" ,ghc-http)
6580 ("ghc-http-client" ,ghc-http-client)
6581 ("ghc-http-client-tls" ,ghc-http-client-tls)
6582 ("ghc-http-types" ,ghc-http-types)
6583 ("ghc-juicypixels" ,ghc-juicypixels)
6584 ("ghc-mtl" ,ghc-mtl)
6585 ("ghc-network" ,ghc-network)
6586 ("ghc-network-uri" ,ghc-network-uri)
6587 ("ghc-old-time" ,ghc-old-time)
6588 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
6589 ("ghc-parsec" ,ghc-parsec)
6590 ("ghc-random" ,ghc-random)
6591 ("ghc-scientific" ,ghc-scientific)
6592 ("ghc-sha" ,ghc-sha)
6593 ("ghc-skylighting" ,ghc-skylighting-for-pandoc-1)
6594 ("ghc-syb" ,ghc-syb)
6595 ("ghc-tagsoup" ,ghc-tagsoup)
6596 ("ghc-temporary" ,ghc-temporary)
6597 ("ghc-texmath" ,ghc-texmath-for-pandoc-1)
6598 ("ghc-text" ,ghc-text)
6599 ("ghc-unordered-containers" ,ghc-unordered-containers)
6600 ("ghc-vector" ,ghc-vector)
6601 ("ghc-xml" ,ghc-xml)
6602 ("ghc-yaml" ,ghc-yaml-for-pandoc-1)
6603 ("ghc-zip-archive" ,ghc-zip-archive)
6604 ("ghc-zlib" ,ghc-zlib)))
6605 (native-inputs
6606 `(("ghc-test-framework" ,ghc-test-framework)
6607 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6608 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))))
6609
6610(define-public ghc-hs-bibutils
6611 (package
6612 (name "ghc-hs-bibutils")
6613 (version "6.2.0.1")
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append
6618 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6619 version ".tar.gz"))
6620 (sha256
6621 (base32
6622 "0c56sjgg82kjcg5rrplnyn7vf02ccsj3kkcbgc87zxlv0j880rjb"))))
6623 (build-system haskell-build-system)
6624 (inputs `(("ghc-syb" ,ghc-syb)))
6625 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6626 (synopsis "Haskell bindings to bibutils")
6627 (description
6628 "This package provides Haskell bindings to @code{bibutils}, a library
6629that interconverts between various bibliography formats using a common
6630MODS-format XML intermediate.")
6631 (license license:gpl2+)))
6632
6633(define-public ghc-rfc5051
6634 (package
6635 (name "ghc-rfc5051")
6636 (version "0.1.0.3")
6637 (source
6638 (origin
6639 (method url-fetch)
6640 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6641 "rfc5051-" version ".tar.gz"))
6642 (sha256
6643 (base32
6644 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6645 (build-system haskell-build-system)
6646 (home-page "https://hackage.haskell.org/package/rfc5051")
6647 (synopsis "Simple unicode collation as per RFC5051")
6648 (description
6649 "This library implements @code{unicode-casemap}, the simple, non
6650locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6651unicode collation can be done using @code{text-icu}, but that is a big
6652dependency that depends on a large C library, and @code{rfc5051} might be
6653better for some purposes.")
6654 (license license:bsd-3)))
6655
6656(define-public ghc-typed-process
6657 (package
6658 (name "ghc-typed-process")
6659 (version "0.2.2.0")
6660 (source
6661 (origin
6662 (method url-fetch)
6663 (uri (string-append "https://hackage.haskell.org/package/"
6664 "typed-process/typed-process-"
6665 version ".tar.gz"))
6666 (sha256
6667 (base32
6668 "0c6gvgvjyncbni9a5bvpbglknd4yclr3d3hfg9bhgahmkj40dva2"))))
6669 (build-system haskell-build-system)
6670 (inputs
6671 `(("ghc-async" ,ghc-async)
6672 ("ghc-stm" ,ghc-stm)))
6673 (native-inputs
6674 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
6675 ("ghc-hspec" ,ghc-hspec)
6676 ("hspec-discover" ,hspec-discover)
6677 ("ghc-temporary" ,ghc-temporary)))
6678 (home-page "https://haskell-lang.org/library/typed-process")
6679 (synopsis "Run external processes with strong typing of streams")
6680 (description
6681 "This library provides the ability to launch and interact with external
6682processes. It wraps around the @code{process} library, and intends to improve
6683upon it.")
6684 (license license:expat)))
6685
6686(define-public ghc-conduit-extra
6687 (package
6688 (name "ghc-conduit-extra")
6689 (version "1.3.0")
6690 (source
6691 (origin
6692 (method url-fetch)
6693 (uri (string-append "https://hackage.haskell.org/package/"
6694 "conduit-extra/conduit-extra-"
6695 version ".tar.gz"))
6696 (sha256
6697 (base32
6698 "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
6699 (build-system haskell-build-system)
6700 (inputs
6701 `(("ghc-conduit" ,ghc-conduit)
6702 ("ghc-exceptions" ,ghc-exceptions)
6703 ("ghc-monad-control" ,ghc-monad-control)
6704 ("ghc-text" ,ghc-text)
6705 ("ghc-transformers-base" ,ghc-transformers-base)
6706 ("ghc-typed-process" ,ghc-typed-process)
6707 ("ghc-async" ,ghc-async)
6708 ("ghc-attoparsec" ,ghc-attoparsec)
6709 ("ghc-blaze-builder" ,ghc-blaze-builder)
6710 ("ghc-network" ,ghc-network)
6711 ("ghc-primitive" ,ghc-primitive)
6712 ("ghc-resourcet" ,ghc-resourcet)
6713 ("ghc-stm" ,ghc-stm)
6714 ("ghc-streaming-commons" ,ghc-streaming-commons)
6715 ("ghc-hspec" ,ghc-hspec)
6716 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6717 ("ghc-quickcheck" ,ghc-quickcheck)))
6718 (native-inputs
6719 `(("hspec-discover" ,hspec-discover)))
6720 (home-page "https://github.com/snoyberg/conduit")
6721 (synopsis "Conduit adapters for common libraries")
6722 (description
6723 "The @code{conduit} package itself maintains relative small dependencies.
6724The purpose of this package is to collect commonly used utility functions
6725wrapping other library dependencies, without depending on heavier-weight
6726dependencies. The basic idea is that this package should only depend on
6727@code{haskell-platform} packages and @code{conduit}.")
6728 (license license:expat)))
6729
6730(define-public ghc-xml-types
6731 (package
6732 (name "ghc-xml-types")
6733 (version "0.3.6")
6734 (source
6735 (origin
6736 (method url-fetch)
6737 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6738 "xml-types-" version ".tar.gz"))
6739 (sha256
6740 (base32
6741 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6742 (build-system haskell-build-system)
6743 (inputs `(("ghc-text" ,ghc-text)))
6744 (home-page "https://john-millikin.com/software/haskell-xml/")
6745 (synopsis "Basic types for representing XML")
6746 (description "This package provides basic types for representing XML
6747documents.")
6748 (license license:expat)))
6749
6750(define-public ghc-xml-conduit
6751 (package
6752 (name "ghc-xml-conduit")
6753 (version "1.7.1.2")
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6758 "xml-conduit-" version ".tar.gz"))
6759 (sha256
6760 (base32
6761 "0n4k0rq9j5cc9kdvj9xbx8gmiqlyk5x6pw8yxzw5wfsw7qkych2s"))))
6762 (build-system haskell-build-system)
6763 (inputs
6764 `(("ghc-conduit" ,ghc-conduit)
6765 ("ghc-conduit-extra" ,ghc-conduit-extra)
6766 ("ghc-resourcet" ,ghc-resourcet)
6767 ("ghc-text" ,ghc-text)
6768 ("ghc-xml-types" ,ghc-xml-types)
6769 ("ghc-attoparsec" ,ghc-attoparsec)
6770 ("ghc-data-default-class" ,ghc-data-default-class)
6771 ("ghc-blaze-markup" ,ghc-blaze-markup)
6772 ("ghc-blaze-html" ,ghc-blaze-html)
6773 ("ghc-monad-control" ,ghc-monad-control)
6774 ("ghc-hspec" ,ghc-hspec)
6775 ("ghc-hunit" ,ghc-hunit)))
6776 (home-page "https://github.com/snoyberg/xml")
6777 (synopsis "Utilities for dealing with XML with the conduit package")
6778 (description
6779 "This package provides pure-Haskell utilities for dealing with XML with
6780the @code{conduit} package.")
6781 (license license:expat)))
6782
6783(define-public ghc-pandoc-citeproc
6784 (package
6785 (name "ghc-pandoc-citeproc")
6786 (version "0.12.2.5")
6787 (source
6788 (origin
6789 (method url-fetch)
6790 (uri (string-append "https://hackage.haskell.org/package/"
6791 "pandoc-citeproc/pandoc-citeproc-"
6792 version ".tar.gz"))
6793 (sha256
6794 (base32
6795 "1l58nbflcnlznc93qimkk7ghk2gv8kipf45zf88piqa2zys41yyx"))))
6796 (build-system haskell-build-system)
6797 (arguments
6798 `(#:phases
6799 (modify-phases %standard-phases
6800 ;; Tests need to be run after installation.
6801 (delete 'check)
6802 (add-after 'install 'post-install-check
6803 (assoc-ref %standard-phases 'check)))))
6804 (inputs
6805 `(("ghc-mtl" ,ghc-mtl)
6806 ("ghc-pandoc-types" ,ghc-pandoc-types)
6807 ("ghc-pandoc" ,ghc-pandoc)
6808 ("ghc-tagsoup" ,ghc-tagsoup)
6809 ("ghc-aeson" ,ghc-aeson)
6810 ("ghc-text" ,ghc-text)
6811 ("ghc-vector" ,ghc-vector)
6812 ("ghc-xml-conduit" ,ghc-xml-conduit)
6813 ("ghc-unordered-containers" ,ghc-unordered-containers)
6814 ("ghc-data-default" ,ghc-data-default)
6815 ("ghc-setenv" ,ghc-setenv)
6816 ("ghc-split" ,ghc-split)
6817 ("ghc-yaml" ,ghc-yaml)
6818 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
6819 ("ghc-rfc5051" ,ghc-rfc5051)
6820 ("ghc-syb" ,ghc-syb)
6821 ("ghc-parsec" ,ghc-parsec)
6822 ("ghc-old-locale" ,ghc-old-locale)
6823 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6824 ("ghc-attoparsec" ,ghc-attoparsec)
6825 ("ghc-temporary" ,ghc-temporary)))
6826 (home-page "https://github.com/jgm/pandoc-citeproc")
6827 (synopsis "Library for using pandoc with citeproc")
6828 (description
6829 "The @code{pandoc-citeproc} library exports functions for using the
6830citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
6831rendering bibliographic reference citations into a variety of styles using a
6832macro language called @dfn{Citation Style Language} (CSL). This package also
6833contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
6834and also has a mode for converting bibliographic databases a YAML format
6835suitable for inclusion in pandoc YAML metadata.")
6836 (license license:bsd-3)))
6837
6838(define-public ghc-pandoc-citeproc-with-pandoc-1
6839 (let ((for-pandoc-1
6840 (package-input-rewriting
6841 `((,ghc-aeson . ,ghc-aeson-for-pandoc-1)
6842 (,ghc-yaml . ,ghc-yaml-for-pandoc-1)
6843 (,ghc-texmath . ,ghc-texmath-for-pandoc-1)
6844 (,ghc-pandoc-types . ,ghc-pandoc-types-for-pandoc-1)
6845 (,ghc-hslua . ,ghc-hslua-for-pandoc-1)
6846 (,ghc-skylighting . ,ghc-skylighting-for-pandoc-1)
6847 (,ghc-doctemplates . ,ghc-doctemplates-for-pandoc-1)
6848 (,ghc-pandoc . ,ghc-pandoc-1)))))
6849 (for-pandoc-1 ghc-pandoc-citeproc)))
6850
6851(define-public ghc-union-find
6852 (package
6853 (name "ghc-union-find")
6854 (version "0.2")
6855 (source (origin
6856 (method url-fetch)
6857 (uri (string-append
6858 "https://hackage.haskell.org/package/union-find/union-find-"
6859 version ".tar.gz"))
6860 (sha256
6861 (base32
6862 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6863 (build-system haskell-build-system)
6864 (home-page "https://github.com/nominolo/union-find")
6865 (synopsis "Efficient union and equivalence testing of sets")
6866 (description
6867 "The Union/Find algorithm implements these operations in (effectively)
6868constant-time:
6869@enumerate
6870@item Check whether two elements are in the same equivalence class.
6871@item Create a union of two equivalence classes.
6872@item Look up the descriptor of the equivalence class.
6873@end enumerate\n")
6874 (license license:bsd-3)))
6875
6876(define-public ghc-base16-bytestring
6877 (package
6878 (name "ghc-base16-bytestring")
6879 (version "0.1.1.6")
6880 (source
6881 (origin
6882 (method url-fetch)
6883 (uri (string-append
6884 "https://hackage.haskell.org/package/base16-bytestring/"
6885 "base16-bytestring-" version ".tar.gz"))
6886 (sha256
6887 (base32
6888 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6889 (build-system haskell-build-system)
6890 (home-page "https://github.com/bos/base16-bytestring")
6891 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6892 (description
6893 "This package provides a Haskell library for working with base16-encoded
6894data quickly and efficiently, using the ByteString type.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-data-ordlist
6898 (package
6899 (name "ghc-data-ordlist")
6900 (version "0.4.7.0")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append
6905 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
6906 version ".tar.gz"))
6907 (sha256
6908 (base32
6909 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
6910 (build-system haskell-build-system)
6911 (home-page "https://hackage.haskell.org/package/data-ordlist")
6912 (synopsis "Set and bag operations on ordered lists")
6913 (description
6914 "This module provides set and multiset operations on ordered lists.")
6915 (license license:bsd-3)))
6916
6917(define-public ghc-regex-applicative
6918 (package
6919 (name "ghc-regex-applicative")
6920 (version "0.3.3")
6921 (source
6922 (origin
6923 (method url-fetch)
6924 (uri (string-append
6925 "https://hackage.haskell.org/package/regex-applicative/"
6926 "regex-applicative-" version ".tar.gz"))
6927 (sha256
6928 (base32
6929 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
6930 (build-system haskell-build-system)
6931 (inputs
6932 `(("ghc-smallcheck" ,ghc-smallcheck)
6933 ("ghc-tasty" ,ghc-tasty)
6934 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
6935 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6936 (home-page "https://github.com/feuerbach/regex-applicative")
6937 (synopsis "Regex-based parsing with applicative interface")
6938 (description
6939 "@code{regex-applicative} is a Haskell library for parsing using
6940regular expressions. Parsers can be built using Applicative interface.")
6941 (license license:expat)))
6942
6943(define-public ghc-regex-tdfa
6944 (package
6945 (name "ghc-regex-tdfa")
6946 (version "1.2.2")
6947 (source
6948 (origin
6949 (method url-fetch)
6950 (uri (string-append
6951 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
6952 version ".tar.gz"))
6953 (sha256
6954 (base32
6955 "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"))))
6956 (build-system haskell-build-system)
6957 (inputs
6958 `(("ghc-mtl" ,ghc-mtl)
6959 ("ghc-parsec" ,ghc-parsec)
6960 ("ghc-regex-base" ,ghc-regex-base)))
6961 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
6962 (synopsis "POSIX extended regular expressions in Haskell.")
6963 (description
6964 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
6965extended regular expressions. It is a \"tagged\" DFA regex engine. It is
6966inspired by libtre.")
6967 (license license:bsd-3)))
6968
6969(define-public ghc-regex-compat-tdfa
6970 (package
6971 (name "ghc-regex-compat-tdfa")
6972 (version "0.95.1.4")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append
6977 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
6978 version ".tar.gz"))
6979 (sha256
6980 (base32
6981 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
6982 (build-system haskell-build-system)
6983 (inputs
6984 `(("ghc-regex-base" ,ghc-regex-base)
6985 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
6986 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
6987 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
6988 (description
6989 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
6990@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
6991This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
6992this problem.")
6993 (license license:bsd-3)))
6994
6995(define-public ghc-sandi
6996 (package
6997 (name "ghc-sandi")
6998 (version "0.4.2")
6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri (string-append
7003 "https://hackage.haskell.org/package/sandi/sandi-"
7004 version ".tar.gz"))
7005 (sha256
7006 (base32
7007 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
7008 (build-system haskell-build-system)
7009 (inputs
7010 `(("ghc-stringsearch" ,ghc-stringsearch)
7011 ("ghc-conduit" ,ghc-conduit)
7012 ("ghc-exceptions" ,ghc-exceptions)
7013 ("ghc-hunit" ,ghc-hunit)
7014 ("ghc-tasty" ,ghc-tasty)
7015 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7016 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7017 ("ghc-tasty-th" ,ghc-tasty-th)))
7018 (home-page "https://hackage.haskell.org/package/sandi")
7019 (synopsis "Data encoding library")
7020 (description "Reasonably fast data encoding library.")
7021 (license license:bsd-3)))
7022
7023(define-public ghc-bytestring-handle
7024 (package
7025 (name "ghc-bytestring-handle")
7026 (version "0.1.0.6")
7027 (source
7028 (origin
7029 (method url-fetch)
7030 (uri (string-append
7031 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
7032 version ".tar.gz"))
7033 (sha256
7034 (base32
7035 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
7036 (build-system haskell-build-system)
7037 (inputs
7038 `(("ghc-hunit" ,ghc-hunit)
7039 ("ghc-quickcheck" ,ghc-quickcheck)
7040 ("ghc-test-framework" ,ghc-test-framework)
7041 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7042 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7043 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
7044 (synopsis "ByteString-backed Handles")
7045 (description "ByteString-backed Handles") ; There is no description
7046 (license license:bsd-3)))
7047
7048(define-public ghc-tar
7049 (package
7050 (name "ghc-tar")
7051 (version "0.5.0.3")
7052 (source
7053 (origin
7054 (method url-fetch)
7055 (uri (string-append
7056 "https://hackage.haskell.org/package/tar/tar-"
7057 version ".tar.gz"))
7058 (sha256
7059 (base32
7060 "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"))))
7061 (build-system haskell-build-system)
7062 ;; FIXME: 2/24 tests fail.
7063 (arguments `(#:tests? #f))
7064 (inputs
7065 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
7066 ("ghc-quickcheck" ,ghc-quickcheck)
7067 ("ghc-tasty" ,ghc-tasty)
7068 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7069 (home-page "https://hackage.haskell.org/package/tar")
7070 (synopsis "Reading, writing and manipulating \".tar\" archive files")
7071 (description
7072 "This library is for working with \\\"@.tar@\\\" archive files.
7073It can read and write a range of common variations of the tar archive format
7074including V7, POSIX USTAR and GNU formats. It provides support for packing and
7075unpacking portable archives. This makes it suitable for distribution but not
7076backup because details like file ownership and exact permissions are not
7077preserved. It also provides features for random access to archive content using
7078an index.")
7079 (license license:bsd-3)))
7080
7081(define-public ghc-stmonadtrans
7082 (package
7083 (name "ghc-stmonadtrans")
7084 (version "0.4.3")
7085 (source
7086 (origin
7087 (method url-fetch)
7088 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
7089 "/STMonadTrans-" version ".tar.gz"))
7090 (sha256
7091 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-mtl" ,ghc-mtl)))
7095 (home-page "https://hackage.haskell.org/package/STMonadTrans")
7096 (synopsis "Monad transformer version of the ST monad")
7097 (description
7098 "This package provides a monad transformer version of the @code{ST} monad
7099for strict state threads.")
7100 (license license:bsd-3)))
7101
7102(define-public ghc-findbin
7103 (package
7104 (name "ghc-findbin")
7105 (version "0.0.5")
7106 (source
7107 (origin
7108 (method url-fetch)
7109 (uri (string-append
7110 "https://hackage.haskell.org/package/FindBin/FindBin-"
7111 version ".tar.gz"))
7112 (sha256
7113 (base32
7114 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
7115 (build-system haskell-build-system)
7116 (home-page "https://github.com/audreyt/findbin")
7117 (synopsis "Get the absolute path of the running program")
7118 (description
7119 "This module locates the full directory of the running program, to allow
7120the use of paths relative to it. FindBin supports invocation of Haskell
7121programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
7122an executable.")
7123 (license license:bsd-3)))
7124
7125(define-public ghc-patience
7126 (package
7127 (name "ghc-patience")
7128 (version "0.1.1")
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append
7133 "https://hackage.haskell.org/package/patience/patience-"
7134 version ".tar.gz"))
7135 (sha256
7136 (base32
7137 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7138 (build-system haskell-build-system)
7139 (home-page "https://hackage.haskell.org/package/patience")
7140 (synopsis "Patience diff and longest increasing subsequence")
7141 (description
7142 "This library implements the 'patience diff' algorithm, as well as the
7143patience algorithm for the longest increasing subsequence problem.
7144Patience diff computes the difference between two lists, for example the lines
7145of two versions of a source file. It provides a good balance between
7146performance, nice output for humans, and simplicity of implementation.")
7147 (license license:bsd-3)))
7148
7149(define-public ghc-monads-tf
7150 (package
7151 (name "ghc-monads-tf")
7152 (version "0.1.0.3")
7153 (source
7154 (origin
7155 (method url-fetch)
7156 (uri (string-append
7157 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7158 version ".tar.gz"))
7159 (sha256
7160 (base32
7161 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7162 (build-system haskell-build-system)
7163 (home-page "https://hackage.haskell.org/package/monads-tf")
7164 (synopsis "Monad classes, using type families")
7165 (description
7166 "Monad classes using type families, with instances for various monad transformers,
7167inspired by the paper 'Functional Programming with Overloading and Higher-Order
7168Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7169the @code{mtl-tf} package.")
7170 (license license:bsd-3)))
7171
7172(define-public ghc-colour
7173(package
7174 (name "ghc-colour")
7175 (version "2.3.3")
7176 (source
7177 (origin
7178 (method url-fetch)
7179 (uri (string-append
7180 "https://hackage.haskell.org/package/colour/colour-"
7181 version ".tar.gz"))
7182 (sha256
7183 (base32
7184 "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"))))
7185 (build-system haskell-build-system)
7186 (home-page "https://www.haskell.org/haskellwiki/Colour")
7187 (synopsis "Model for human colour perception")
7188 (description
7189 "This package provides a data type for colours and transparency.
7190Colours can be blended and composed. Various colour spaces are
7191supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7192 (license license:expat)))
7193
7194(define-public ghc-wl-pprint-text
7195 (package
7196 (name "ghc-wl-pprint-text")
7197 (version "1.2.0.0")
7198 (source
7199 (origin
7200 (method url-fetch)
7201 (uri (string-append
7202 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7203 version ".tar.gz"))
7204 (sha256
7205 (base32
7206 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
7207 (build-system haskell-build-system)
7208 (inputs
7209 `(("ghc-base-compat" ,ghc-base-compat)
7210 ("ghc-text" ,ghc-text)))
7211 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
7212 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7213 (description
7214 "A clone of wl-pprint for use with the text library.")
7215 (license license:bsd-3)))
7216
7217(define-public ghc-fgl-arbitrary
7218 (package
7219 (name "ghc-fgl-arbitrary")
7220 (version "0.2.0.3")
7221 (source
7222 (origin
7223 (method url-fetch)
7224 (uri (string-append
7225 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7226 version ".tar.gz"))
7227 (sha256
7228 (base32
7229 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
7230 (build-system haskell-build-system)
7231 (arguments
7232 `(#:configure-flags (list "--allow-newer=QuickCheck"
7233 "--allow-newer=hspec")))
7234 (inputs
7235 `(("ghc-fgl" ,ghc-fgl)
7236 ("ghc-quickcheck" ,ghc-quickcheck)
7237 ("ghc-hspec" ,ghc-hspec)))
7238 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
7239 (synopsis "QuickCheck support for fgl")
7240 (description
7241 "Provides Arbitrary instances for fgl graphs to avoid adding a
7242QuickCheck dependency for fgl whilst still making the instances
7243available to others. Also available are non-fgl-specific functions
7244for generating graph-like data structures.")
7245 (license license:bsd-3)))
7246
7247(define-public ghc-graphviz
7248 (package
7249 (name "ghc-graphviz")
7250 (version "2999.20.0.2")
7251 (source (origin
7252 (method url-fetch)
7253 (uri (string-append "https://hackage.haskell.org/package/"
7254 "graphviz/graphviz-" version ".tar.gz"))
7255 (sha256
7256 (base32
7257 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
7258 (build-system haskell-build-system)
7259 (arguments
7260 `(#:configure-flags (list "--allow-newer=QuickCheck")))
7261 (inputs
7262 `(("ghc-quickcheck" ,ghc-quickcheck)
7263 ("ghc-colour" ,ghc-colour)
7264 ("ghc-dlist" ,ghc-dlist)
7265 ("ghc-fgl" ,ghc-fgl)
7266 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7267 ("ghc-polyparse" ,ghc-polyparse)
7268 ("ghc-temporary" ,ghc-temporary)
7269 ("ghc-text" ,ghc-text)
7270 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
7271 (native-inputs
7272 `(("ghc-hspec" ,ghc-hspec)
7273 ("graphviz" ,graphviz)
7274 ("hspec-discover" ,hspec-discover)))
7275 (home-page "https://hackage.haskell.org/package/graphviz")
7276 (synopsis "Bindings to Graphviz for graph visualisation")
7277 (description
7278 "This library provides bindings for the Dot language used by
7279the @uref{https://graphviz.org/, Graphviz} suite of programs for
7280visualising graphs, as well as functions to call those programs.
7281Main features of the graphviz library include:
7282
7283@enumerate
7284@item Almost complete coverage of all Graphviz attributes and syntax
7285@item Support for specifying clusters
7286@item The ability to use a custom node type
7287@item Functions for running a Graphviz layout tool with all specified output types
7288@item Generate and parse Dot code with two options: strict and liberal
7289@item Functions to convert FGL graphs and other graph-like data structures
7290@item Round-trip support for passing an FGL graph through Graphviz to augment node
7291and edge labels with positional information, etc.
7292@end enumerate\n")
7293 (license license:bsd-3)))
7294
7295(define-public ghc-constraints
7296 (package
7297 (name "ghc-constraints")
7298 (version "0.8")
7299 (source
7300 (origin
7301 (method url-fetch)
7302 (uri (string-append
7303 "https://hackage.haskell.org/package/constraints/constraints-"
7304 version ".tar.gz"))
7305 (sha256
7306 (base32
7307 "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"))))
7308 (build-system haskell-build-system)
7309 (inputs
7310 `(("ghc-hashable" ,ghc-hashable)
7311 ("ghc-mtl" ,ghc-mtl)
7312 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7313 (home-page "https://github.com/ekmett/constraints/")
7314 (synopsis "Constraint manipulation")
7315 (description
7316 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7317They stopped crashing the compiler in GHC 7.6. This package provides
7318a vocabulary for working with them.")
7319 (license license:bsd-3)))
7320
7321(define-public ghc-lifted-async
7322 (package
7323 (name "ghc-lifted-async")
7324 (version "0.9.0")
7325 (source
7326 (origin
7327 (method url-fetch)
7328 (uri (string-append
7329 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7330 version ".tar.gz"))
7331 (sha256
7332 (base32
7333 "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"))))
7334 (build-system haskell-build-system)
7335 (inputs
7336 `(("ghc-async" ,ghc-async)
7337 ("ghc-lifted-base" ,ghc-lifted-base)
7338 ("ghc-transformers-base" ,ghc-transformers-base)
7339 ("ghc-monad-control" ,ghc-monad-control)
7340 ("ghc-constraints" ,ghc-constraints)
7341 ("ghc-hunit" ,ghc-hunit)
7342 ("ghc-mtl" ,ghc-mtl)
7343 ("ghc-tasty" ,ghc-tasty)
7344 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7345 ("ghc-tasty-th" ,ghc-tasty-th)))
7346 (home-page "https://github.com/maoe/lifted-async")
7347 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7348 (description
7349 "This package provides IO operations from @code{async} package lifted to any
7350instance of @code{MonadBase} or @code{MonadBaseControl}.")
7351 (license license:bsd-3)))
7352
7353;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7354;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7355;; which depends on ghc-chell and ghc-chell-quickcheck.
7356;; Therefore we bootstrap it with tests disabled.
7357(define ghc-system-filepath-bootstrap
7358 (package
7359 (name "ghc-system-filepath-bootstrap")
7360 (version "0.4.13.4")
7361 (source
7362 (origin
7363 (method url-fetch)
7364 (uri (string-append
7365 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7366 version ".tar.gz"))
7367 (sha256
7368 (base32
7369 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
7370 (build-system haskell-build-system)
7371 (arguments
7372 `(#:tests? #f))
7373 (inputs
7374 `(("ghc-text" ,ghc-text)
7375 ("ghc-quickcheck" ,ghc-quickcheck)))
7376 (home-page "https://github.com/fpco/haskell-filesystem")
7377 (synopsis "High-level, byte-based file and directory path manipulations")
7378 (description
7379 "Provides a FilePath datatype and utility functions for operating on it.
7380Unlike the filepath package, this package does not simply reuse String,
7381increasing type safety.")
7382 (license license:expat)))
7383
7384;; See ghc-system-filepath-bootstrap. In addition this package depends on
7385;; ghc-system-filepath.
7386(define ghc-system-fileio-bootstrap
7387 (package
7388 (name "ghc-system-fileio-bootstrap")
7389 (version "0.3.16.3")
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append
7394 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7395 version ".tar.gz"))
7396 (sha256
7397 (base32
7398 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7399 (build-system haskell-build-system)
7400 (arguments
7401 `(#:tests? #f))
7402 (inputs
7403 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7404 ("ghc-text" ,ghc-text)
7405 ("ghc-temporary" ,ghc-temporary)))
7406 (home-page "https://github.com/fpco/haskell-filesystem")
7407 (synopsis "Consistent file system interaction across GHC versions")
7408 (description
7409 "This is a small wrapper around the directory, unix, and Win32 packages,
7410for use with system-filepath. It provides a consistent API to the various
7411versions of these packages distributed with different versions of GHC.
7412In particular, this library supports working with POSIX files that have paths
7413which can't be decoded in the current locale encoding.")
7414 (license license:expat)))
7415
7416(define-public ghc-shelly
7417 (package
7418 (name "ghc-shelly")
7419 (version "1.8.1")
7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append
7424 "https://hackage.haskell.org/package/shelly/shelly-"
7425 version ".tar.gz"))
7426 (sha256
7427 (base32
7428 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
7429 (build-system haskell-build-system)
7430 (inputs
7431 `(("ghc-mtl" ,ghc-mtl)
7432 ("ghc-unix-compat" ,ghc-unix-compat)
7433 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7434 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7435 ("ghc-monad-control" ,ghc-monad-control)
7436 ("ghc-lifted-base" ,ghc-lifted-base)
7437 ("ghc-lifted-async" ,ghc-lifted-async)
7438 ("ghc-exceptions" ,ghc-exceptions)
7439 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7440 ("ghc-text" ,ghc-text)
7441 ("ghc-async" ,ghc-async)
7442 ("ghc-transformers-base" ,ghc-transformers-base)
7443 ("ghc-hunit" ,ghc-hunit)
7444 ("ghc-hspec" ,ghc-hspec)
7445 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
7446 (home-page "https://github.com/yesodweb/Shelly.hs")
7447 (synopsis "Shell-like (systems) programming in Haskell")
7448 (description
7449 "Shelly provides convenient systems programming in Haskell, similar in
7450spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7451 (license license:bsd-3)))
7452
7453;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7454(define ghc-options-bootstrap
7455 (package
7456 (name "ghc-options-bootstrap")
7457 (version "1.2.1.1")
7458 (source
7459 (origin
7460 (method url-fetch)
7461 (uri (string-append
7462 "https://hackage.haskell.org/package/options/options-"
7463 version ".tar.gz"))
7464 (sha256
7465 (base32
7466 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7467 (build-system haskell-build-system)
7468 (arguments
7469 `(#:tests? #f))
7470 (inputs
7471 `(("ghc-monads-tf" ,ghc-monads-tf)))
7472 (home-page "https://john-millikin.com/software/haskell-options/")
7473 (synopsis "Powerful and easy-to-use command-line option parser")
7474 (description
7475 "The @code{options} package lets library and application developers
7476easily work with command-line options.")
7477 (license license:expat)))
7478
7479(define-public ghc-chell
7480 (package
7481 (name "ghc-chell")
7482 (version "0.4.0.1")
7483 (source
7484 (origin
7485 (method url-fetch)
7486 (uri (string-append
7487 "https://hackage.haskell.org/package/chell/chell-"
7488 version ".tar.gz"))
7489 (sha256
7490 (base32
7491 "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"))))
7492 (build-system haskell-build-system)
7493 (inputs
7494 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7495 ("ghc-patience" ,ghc-patience)
7496 ("ghc-random" ,ghc-random)
7497 ("ghc-text" ,ghc-text)
7498 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7499 (home-page "https://john-millikin.com/software/chell/")
7500 (synopsis "Simple and intuitive library for automated testing")
7501 (description
7502 "Chell is a simple and intuitive library for automated testing.
7503It natively supports assertion-based testing, and can use companion
7504libraries such as @code{chell-quickcheck} to support more complex
7505testing strategies.")
7506 (license license:expat)))
7507
7508(define ghc-chell-quickcheck-bootstrap
7509 (package
7510 (name "ghc-chell-quickcheck-bootstrap")
7511 (version "0.2.5.1")
7512 (source
7513 (origin
7514 (method url-fetch)
7515 (uri (string-append
7516 "https://hackage.haskell.org/package/chell-quickcheck/"
7517 "chell-quickcheck-" version ".tar.gz"))
7518 (sha256
7519 (base32
7520 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
7521 (build-system haskell-build-system)
7522 (inputs
7523 `(("ghc-chell" ,ghc-chell)
7524 ("ghc-random" ,ghc-random)
7525 ("ghc-quickcheck" ,ghc-quickcheck)))
7526 (arguments
7527 `(#:tests? #f))
7528 (home-page "https://john-millikin.com/software/chell/")
7529 (synopsis "QuickCheck support for the Chell testing library")
7530 (description "More complex tests for @code{chell}.")
7531 (license license:expat)))
7532
7533(define-public ghc-chell-quickcheck
7534 (package
7535 (name "ghc-chell-quickcheck")
7536 (version "0.2.5.1")
7537 (source
7538 (origin
7539 (method url-fetch)
7540 (uri (string-append
7541 "https://hackage.haskell.org/package/chell-quickcheck/"
7542 "chell-quickcheck-" version ".tar.gz"))
7543 (sha256
7544 (base32
7545 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
7546 (build-system haskell-build-system)
7547 (inputs
7548 `(("ghc-chell" ,ghc-chell)
7549 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7550 ("ghc-random" ,ghc-random)
7551 ("ghc-quickcheck" ,ghc-quickcheck)))
7552 (home-page "https://john-millikin.com/software/chell/")
7553 (synopsis "QuickCheck support for the Chell testing library")
7554 (description "More complex tests for @code{chell}.")
7555 (license license:expat)))
7556
7557(define-public ghc-options
7558 (package
7559 (name "ghc-options")
7560 (version "1.2.1.1")
7561 (source
7562 (origin
7563 (method url-fetch)
7564 (uri (string-append
7565 "https://hackage.haskell.org/package/options/options-"
7566 version ".tar.gz"))
7567 (sha256
7568 (base32
7569 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7570 (build-system haskell-build-system)
7571 (inputs
7572 `(("ghc-monads-tf" ,ghc-monads-tf)
7573 ("ghc-chell" ,ghc-chell)
7574 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7575 (home-page "https://john-millikin.com/software/haskell-options/")
7576 (synopsis "Powerful and easy-to-use command-line option parser")
7577 (description
7578 "The @code{options} package lets library and application developers
7579easily work with command-line options.")
7580 (license license:expat)))
7581
7582(define-public ghc-system-filepath
7583 (package
7584 (name "ghc-system-filepath")
7585 (version "0.4.14")
7586 (source
7587 (origin
7588 (method url-fetch)
7589 (uri (string-append
7590 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7591 version ".tar.gz"))
7592 (sha256
7593 (base32
7594 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
7595 (build-system haskell-build-system)
7596 ;; FIXME: One of the tests fails:
7597 ;; [ FAIL ] tests.validity.posix
7598 ;; note: seed=7310214548328823169
7599 ;; *** Failed! Falsifiable (after 24 tests):
7600 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
7601 (arguments `(#:tests? #f))
7602 (inputs
7603 `(("ghc-text" ,ghc-text)
7604 ("ghc-chell" ,ghc-chell)
7605 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7606 ("ghc-quickcheck" ,ghc-quickcheck)))
7607 (home-page "https://github.com/fpco/haskell-filesystem")
7608 (synopsis "High-level, byte-based file and directory path manipulations")
7609 (description
7610 "Provides a FilePath datatype and utility functions for operating on it.
7611Unlike the filepath package, this package does not simply reuse String,
7612increasing type safety.")
7613 (license license:expat)))
7614
7615(define-public ghc-system-fileio
7616 (package
7617 (name "ghc-system-fileio")
7618 (version "0.3.16.3")
7619 (source
7620 (origin
7621 (method url-fetch)
7622 (uri (string-append
7623 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7624 version ".tar.gz"))
7625 (sha256
7626 (base32
7627 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7628 (build-system haskell-build-system)
7629 (inputs
7630 `(("ghc-system-filepath" ,ghc-system-filepath)
7631 ("ghc-text" ,ghc-text)
7632 ("ghc-chell" ,ghc-chell)
7633 ("ghc-temporary" ,ghc-temporary)))
7634 (home-page "https://github.com/fpco/haskell-filesystem")
7635 (synopsis "Consistent file system interaction across GHC versions")
7636 (description
7637 "This is a small wrapper around the directory, unix, and Win32 packages,
7638for use with system-filepath. It provides a consistent API to the various
7639versions of these packages distributed with different versions of GHC.
7640In particular, this library supports working with POSIX files that have paths
7641which can't be decoded in the current locale encoding.")
7642 (license license:expat)))
7643
7644(define-public ghc-storable-complex
7645 (package
7646 (name "ghc-storable-complex")
7647 (version "0.2.2")
7648 (source
7649 (origin
7650 (method url-fetch)
7651 (uri (string-append
7652 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
7653 version ".tar.gz"))
7654 (sha256
7655 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7656 (build-system haskell-build-system)
7657 (home-page "https://github.com/cartazio/storable-complex")
7658 (synopsis "Haskell Storable instance for Complex")
7659 (description "This package provides a Haskell library including a
7660Storable instance for Complex which is binary compatible with C99, C++
7661and Fortran complex data types.")
7662 (license license:bsd-3)))
7663
7664(define-public ghc-hmatrix
7665 (package
7666 (name "ghc-hmatrix")
7667 (version "0.18.1.0")
7668 (source
7669 (origin
7670 (method url-fetch)
7671 (uri (string-append
7672 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
7673 version ".tar.gz"))
7674 (sha256
7675 (base32 "07zkwvg872hfk6jyn4s54ws8mvclynazaxf7fsbqi16dmf9dn61c"))))
7676 (build-system haskell-build-system)
7677 (inputs
7678 `(("ghc-random" ,ghc-random)
7679 ("ghc-split" ,ghc-split)
7680 ("ghc-storable-complex" ,ghc-storable-complex)
7681 ("ghc-vector" ,ghc-vector)
7682 ;;("openblas" ,openblas)
7683 ("lapack" ,lapack)))
7684 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7685 ;; disables inclusion of the LAPACK functions.
7686 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7687 (home-page "https://github.com/albertoruiz/hmatrix")
7688 (synopsis "Haskell numeric linear algebra library")
7689 (description "The HMatrix package provices a Haskell library for
7690dealing with linear systems, matrix decompositions, and other
7691numerical computations based on BLAS and LAPACK.")
7692 (license license:bsd-3)))
7693
7694(define-public ghc-hmatrix-gsl
7695 (package
7696 (name "ghc-hmatrix-gsl")
7697 (version "0.18.0.1")
7698 (source
7699 (origin
7700 (method url-fetch)
7701 (uri (string-append
7702 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
7703 version ".tar.gz"))
7704 (sha256
7705 (base32 "0mflm7zg6c6a5vy092pa429rzpyv5drc1589r3x4fbmvcyqc79gx"))))
7706 (build-system haskell-build-system)
7707 (inputs
7708 `(("ghc-hmatrix" ,ghc-hmatrix)
7709 ("ghc-vector" ,ghc-vector)
7710 ("ghc-random" ,ghc-random)
7711 ("gsl" ,gsl)))
7712 (native-inputs `(("pkg-config" ,pkg-config)))
7713 (home-page "https://github.com/albertoruiz/hmatrix")
7714 (synopsis "Haskell GSL binding")
7715 (description "This Haskell library provides a purely functional
7716interface to selected numerical computations, internally implemented
7717using GSL.")
7718 (license license:gpl3+)))
7719
7720(define-public ghc-hmatrix-special
7721 (package
7722 (name "ghc-hmatrix-special")
7723 (version "0.4.0.1")
7724 (source
7725 (origin
7726 (method url-fetch)
7727 (uri
7728 (string-append
7729 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
7730 version ".tar.gz"))
7731 (sha256
7732 (base32 "0kpcqdchi7ikzhqacy4rh4dxz3v37paxyb84wqa66sysb72wkabj"))))
7733 (build-system haskell-build-system)
7734 (inputs
7735 `(("ghc-hmatrix" ,ghc-hmatrix)
7736 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7737 (home-page "https://github.com/albertoruiz/hmatrix")
7738 (synopsis "Haskell interface to GSL special functions")
7739 (description "This library provides an interface to GSL special
7740functions for Haskell.")
7741 (license license:gpl3+)))
7742
7743(define-public ghc-hmatrix-gsl-stats
7744 (package
7745 (name "ghc-hmatrix-gsl-stats")
7746 (version "0.4.1.7")
7747 (source
7748 (origin
7749 (method url-fetch)
7750 (uri
7751 (string-append
7752 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
7753 version ".tar.gz"))
7754 (sha256
7755 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
7756 (build-system haskell-build-system)
7757 (inputs
7758 `(("ghc-vector" ,ghc-vector)
7759 ("ghc-storable-complex" ,ghc-storable-complex)
7760 ("ghc-hmatrix" ,ghc-hmatrix)
7761 ("gsl" ,gsl)))
7762 (native-inputs `(("pkg-config" ,pkg-config)))
7763 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
7764 (synopsis "GSL Statistics interface for Haskell")
7765 (description "This Haskell library provides a purely functional
7766interface for statistics based on hmatrix and GSL.")
7767 (license license:bsd-3)))
7768
7769(define-public ghc-easyplot
7770 (package
7771 (name "ghc-easyplot")
7772 (version "1.0")
7773 (source
7774 (origin
7775 (method url-fetch)
7776 (uri (string-append
7777 "https://hackage.haskell.org/package/easyplot/easyplot-"
7778 version ".tar.gz"))
7779 (sha256
7780 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
7781 (build-system haskell-build-system)
7782 (propagated-inputs `(("gnuplot" ,gnuplot)))
7783 (arguments
7784 `(#:phases (modify-phases %standard-phases
7785 (add-after 'unpack 'fix-setup-suffix
7786 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
7787 (home-page "https://hub.darcs.net/scravy/easyplot")
7788 (synopsis "Haskell plotting library based on gnuplot")
7789 (description "This package provides a plotting library for
7790Haskell, using gnuplot for rendering.")
7791 (license license:expat)))
7792
7793(define-public ghc-hashtables
7794 (package
7795 (name "ghc-hashtables")
7796 (version "1.2.1.0")
7797 (source
7798 (origin
7799 (method url-fetch)
7800 (uri (string-append
7801 "https://hackage.haskell.org/package/hashtables/hashtables-"
7802 version ".tar.gz"))
7803 (sha256
7804 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"))))
7805 (build-system haskell-build-system)
7806 (arguments
7807 `(#:configure-flags (list "--allow-newer=vector")))
7808 (inputs
7809 `(("ghc-hashable" ,ghc-hashable)
7810 ("ghc-primitive" ,ghc-primitive)
7811 ("ghc-vector" ,ghc-vector)))
7812 (home-page "https://github.com/gregorycollins/hashtables")
7813 (synopsis "Haskell Mutable hash tables in the ST monad")
7814 (description "This package provides a Haskell library including a
7815couple of different implementations of mutable hash tables in the ST
7816monad, as well as a typeclass abstracting their common operations, and
7817a set of wrappers to use the hash tables in the IO monad.")
7818 (license license:bsd-3)))
7819
7820(define-public ghc-data-accessor
7821 (package
7822 (name "ghc-data-accessor")
7823 (version "0.2.2.7")
7824 (source
7825 (origin
7826 (method url-fetch)
7827 (uri (string-append
7828 "mirror://hackage/package/data-accessor/data-accessor-"
7829 version ".tar.gz"))
7830 (sha256
7831 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
7832 (build-system haskell-build-system)
7833 (home-page "https://www.haskell.org/haskellwiki/Record_access")
7834 (synopsis
7835 "Haskell utilities for accessing and manipulating fields of records")
7836 (description "This package provides Haskell modules for accessing and
7837manipulating fields of records.")
7838 (license license:bsd-3)))
7839
7840(define-public ghc-data-accessor-transformers
7841 (package
7842 (name "ghc-data-accessor-transformers")
7843 (version "0.2.1.7")
7844 (source
7845 (origin
7846 (method url-fetch)
7847 (uri (string-append
7848 "mirror://hackage/package/data-accessor-transformers/"
7849 "data-accessor-transformers-" version ".tar.gz"))
7850 (sha256
7851 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
7852 (build-system haskell-build-system)
7853 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
7854 (home-page "https://www.haskell.org/haskellwiki/Record_access")
7855 (synopsis "Use Accessor to access state in transformers State monad")
7856 (description "This package provides Haskell modules to allow use of
7857Accessor to access state in transformers State monad.")
7858 (license license:bsd-3)))
7859
7860(define-public ghc-utility-ht
7861 (package
7862 (name "ghc-utility-ht")
7863 (version "0.0.12")
7864 (home-page "https://hackage.haskell.org/package/utility-ht")
7865 (source
7866 (origin
7867 (method url-fetch)
7868 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
7869 (sha256
7870 (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
7871 (build-system haskell-build-system)
7872 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7873 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
7874 (description "This package includes Hakell modules providing various
7875helper functions for Lists, Maybes, Tuples, Functions.")
7876 (license license:bsd-3)))
7877
7878(define-public ghc-gnuplot
7879 (package
7880 (name "ghc-gnuplot")
7881 (version "0.5.4.1")
7882 (source
7883 (origin
7884 (method url-fetch)
7885 (uri (string-append
7886 "mirror://hackage/package/gnuplot/gnuplot-"
7887 version ".tar.gz"))
7888 (sha256
7889 (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
7890 (build-system haskell-build-system)
7891 (inputs
7892 `(("ghc-temporary" ,ghc-temporary)
7893 ("ghc-utility-ht" ,ghc-utility-ht)
7894 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
7895 ("ghc-data-accessor" ,ghc-data-accessor)
7896 ("gnuplot" ,gnuplot)))
7897 (arguments
7898 `(#:phases
7899 (modify-phases %standard-phases
7900 (add-before 'configure 'fix-path-to-gnuplot
7901 (lambda* (#:key inputs #:allow-other-keys)
7902 (let ((gnuplot (assoc-ref inputs "gnuplot")))
7903 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
7904 (("(gnuplotName = ).*$" all cmd)
7905 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
7906 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
7907 (synopsis "2D and 3D plots using gnuplot")
7908 (description "This package provides a Haskell module for creating 2D and
79093D plots using gnuplot.")
7910 (license license:bsd-3)))
7911
7912(define-public ghc-hinotify
7913 (package
7914 (name "ghc-hinotify")
7915 (version "0.3.8.1")
7916 (source (origin
7917 (method url-fetch)
7918 (uri (string-append
7919 "https://hackage.haskell.org/package/hinotify/"
7920 "hinotify-" version ".tar.gz"))
7921 (sha256
7922 (base32
7923 "03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
7924 (build-system haskell-build-system)
7925 (home-page "https://github.com/kolmodin/hinotify.git")
7926 (synopsis "Haskell binding to inotify")
7927 (description "This library provides a wrapper to the Linux kernel's inotify
7928feature, allowing applications to subscribe to notifications when a file is
7929accessed or modified.")
7930 (license license:bsd-3)))
7931
7932(define-public ghc-fsnotify
7933 (package
7934 (name "ghc-fsnotify")
7935 (version "0.2.1")
7936 (source (origin
7937 (method url-fetch)
7938 (uri (string-append
7939 "https://hackage.haskell.org/package/fsnotify/"
7940 "fsnotify-" version ".tar.gz"))
7941 (sha256
7942 (base32
7943 "0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
7944 (build-system haskell-build-system)
7945 (inputs
7946 `(("ghc-text" ,ghc-text)
7947 ("ghc-async" ,ghc-async)
7948 ("ghc-unix-compat" ,ghc-unix-compat)
7949 ("ghc-hinotify" ,ghc-hinotify)
7950 ("ghc-tasty" ,ghc-tasty)
7951 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7952 ("ghc-temporary-rc" ,ghc-temporary-rc)))
7953 (home-page "https://github.com/haskell-fswatch/hfsnotify")
7954 (synopsis "Cross platform library for file change notification.")
7955 (description "Cross platform library for file creation, modification, and
7956deletion notification. This library builds upon existing libraries for platform
7957specific Windows, Mac, and Linux file system event notification.")
7958 (license license:bsd-3)))
7959
7960(define-public ghc-ieee754
7961 (package
7962 (name "ghc-ieee754")
7963 (version "0.7.8")
7964 (source (origin
7965 (method url-fetch)
7966 (uri (string-append
7967 "https://hackage.haskell.org/package/ieee754/"
7968 "ieee754-" version ".tar.gz"))
7969 (sha256
7970 (base32
7971 "1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
7972 (build-system haskell-build-system)
7973 (home-page "https://github.com/patperry/hs-ieee754")
7974 (synopsis "Utilities for dealing with IEEE floating point numbers")
7975 (description "Utilities for dealing with IEEE floating point numbers,
7976ported from the Tango math library; approximate and exact equality comparisons
7977for general types.")
7978 (license license:bsd-3)))
7979
7980(define-public ghc-terminal-size
7981 (package
7982 (name "ghc-terminal-size")
7983 (version "0.3.2.1")
7984 (source (origin
7985 (method url-fetch)
7986 (uri (string-append
7987 "https://hackage.haskell.org/package/terminal-size/"
7988 "terminal-size-" version ".tar.gz"))
7989 (sha256
7990 (base32
7991 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
7992 (build-system haskell-build-system)
7993 (home-page "https://hackage.haskell.org/package/terminal-size")
7994 (synopsis "Get terminal window height and width")
7995 (description "Get terminal window height and width without ncurses
7996dependency.")
7997 (license license:bsd-3)))
7998
7999(define-public ghc-language-c
8000 (package
8001 (name "ghc-language-c")
8002 (version "0.5.0")
8003 (source
8004 (origin
8005 (method url-fetch)
8006 (uri (string-append "https://hackage.haskell.org/package/"
8007 "language-c/language-c-" version ".tar.gz"))
8008 (sha256
8009 (base32
8010 "08i2bl7jmmymn2sldzlbz6ig7lx3wfwhlpadzibs3fx72z08pmc6"))))
8011 (build-system haskell-build-system)
8012 (inputs `(("ghc-syb" ,ghc-syb)))
8013 (native-inputs
8014 `(("ghc-happy" ,ghc-happy)
8015 ("ghc-alex" ,ghc-alex)))
8016 (home-page "https://visq.github.io/language-c/")
8017 (synopsis "Analysis and generation of C code")
8018 (description
8019 "Language C is a Haskell library for the analysis and generation of C code.
8020It features a complete, well-tested parser and pretty printer for all of C99
8021and a large set of GNU extensions.")
8022 (license license:bsd-3)))
8023
8024(define-public ghc-markdown-unlit
8025 (package
8026 (name "ghc-markdown-unlit")
8027 (version "0.4.0")
8028 (source (origin
8029 (method url-fetch)
8030 (uri (string-append
8031 "mirror://hackage/package/markdown-unlit/"
8032 "markdown-unlit-" version ".tar.gz"))
8033 (sha256
8034 (base32
8035 "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"))))
8036 (build-system haskell-build-system)
8037 (inputs
8038 `(("ghc-base-compat" ,ghc-base-compat)
8039 ("ghc-hspec" ,ghc-hspec)
8040 ("ghc-quickcheck" ,ghc-quickcheck)
8041 ("ghc-silently" ,ghc-silently)
8042 ("ghc-stringbuilder" ,ghc-stringbuilder)
8043 ("ghc-temporary" ,ghc-temporary)
8044 ("hspec-discover" ,hspec-discover)))
8045 (home-page "https://github.com/sol/markdown-unlit#readme")
8046 (synopsis "Literate Haskell support for Markdown")
8047 (description "This package allows you to have a README.md that at the
8048same time is a literate Haskell program.")
8049 (license license:expat)))
8050
8051(define-public corrode
8052 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
8053 (package
8054 (name "corrode")
8055 (version (string-append "0.0.1-" (string-take commit 7)))
8056 (source
8057 (origin
8058 (method git-fetch)
8059 (uri (git-reference
8060 (url "https://github.com/jameysharp/corrode.git")
8061 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
8062 (file-name
8063 (string-append name "-" version "-checkout"))
8064 (sha256
8065 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
8066 (build-system haskell-build-system)
8067 (inputs
8068 `(("ghc-language-c" ,ghc-language-c)
8069 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
8070 (home-page "https://github.com/jameysharp/corrode")
8071 (synopsis "Automatic semantics-preserving translation from C to Rust")
8072 (description
8073 "This program reads a C source file and prints an equivalent module in
8074Rust syntax. It is intended to be useful for two different purposes:
8075
8076@enumerate
8077@item Partial automation for migrating legacy code that was implemented in C.
8078@item A new, complementary approach to static analysis for C programs.
8079@end enumerate\n")
8080 (license license:gpl2+))))
8081
8082(define-public ghc-wave
8083 (package
8084 (name "ghc-wave")
8085 (version "0.1.4")
8086 (source (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/wave/wave-"
8090 version
8091 ".tar.gz"))
8092 (sha256
8093 (base32
8094 "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8"))))
8095 (build-system haskell-build-system)
8096 (inputs
8097 `(("ghc-cereal" ,ghc-cereal)
8098 ("ghc-data-default-class"
8099 ,ghc-data-default-class)
8100 ("ghc-quickcheck" ,ghc-quickcheck)
8101 ("ghc-temporary" ,ghc-temporary)))
8102 (native-inputs
8103 `(("hspec-discover" ,hspec-discover)
8104 ("ghc-hspec" ,ghc-hspec)))
8105 (home-page "https://github.com/mrkkrp/wave")
8106 (synopsis "Work with WAVE and RF64 files in Haskell")
8107 (description "This package allows you to work with WAVE and RF64
8108files in Haskell.")
8109 (license license:bsd-3)))
8110
8111(define-public ghc-hslogger
8112 (package
8113 (name "ghc-hslogger")
8114 (version "1.2.10")
8115 (source
8116 (origin
8117 (method url-fetch)
8118 (uri (string-append "https://hackage.haskell.org/package/"
8119 "hslogger-" version "/" "hslogger-"
8120 version ".tar.gz"))
8121 (sha256 (base32
8122 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
8123 (build-system haskell-build-system)
8124 (inputs
8125 `(("ghc-mtl" ,ghc-mtl)
8126 ("ghc-network" ,ghc-network)
8127 ("ghc-old-locale" ,ghc-old-locale)))
8128 (native-inputs
8129 `(("ghc-hunit" ,ghc-hunit)))
8130 (home-page "https://software.complete.org/hslogger")
8131 (synopsis "Logging framework for Haskell, similar to Python's logging module")
8132 (description "Hslogger lets each log message have a priority and source be
8133associated with it. The programmer can then define global handlers that route
8134or filter messages based on the priority and source. It also has a syslog
8135handler built in.")
8136 (license license:bsd-3)))
8137
8138(define-public ghc-unexceptionalio
8139 (package
8140 (name "ghc-unexceptionalio")
8141 (version "0.3.0")
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri (string-append "https://hackage.haskell.org/package/"
8146 "unexceptionalio-" version "/" "unexceptionalio-"
8147 version ".tar.gz"))
8148 (sha256 (base32 "1f7h7zwky4scdcyjspg4ksfh7x6yra0wjybxq70p7vcwpgk2nzlj"))))
8149 (build-system haskell-build-system)
8150 (home-page "https://github.com/singpolyma/unexceptionalio")
8151 (synopsis "IO without any non-error, synchronous exceptions")
8152 (description "When you've caught all the exceptions that can be
8153handled safely, this is what you're left with.")
8154 (license license:isc)))
8155
8156(define-public ghc-json
8157 (package
8158 (name "ghc-json")
8159 (version "0.9.1")
8160 (source
8161 (origin
8162 (method url-fetch)
8163 (uri (string-append "https://hackage.haskell.org/package/json/"
8164 "json-" version ".tar.gz"))
8165 (sha256
8166 (base32
8167 "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
8168 (build-system haskell-build-system)
8169 (inputs
8170 `(("ghc-syb" ,ghc-syb)
8171 ("ghc-mtl" ,ghc-mtl)
8172 ("ghc-text" ,ghc-text)
8173 ("ghc-parsec" ,ghc-parsec)))
8174 (home-page "https://hackage.haskell.org/package/json")
8175 (synopsis "Serializes Haskell data to and from JSON")
8176 (description "This package provides a parser and pretty printer for
8177converting between Haskell values and JSON.
8178JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
8179 (license license:bsd-3)))
8180
8181(define-public ghc-esqueleto
8182 (package
8183 (name "ghc-esqueleto")
8184 (version "2.5.3")
8185 (source
8186 (origin
8187 (method url-fetch)
8188 (uri (string-append "https://hackage.haskell.org/package/"
8189 "esqueleto/esqueleto-" version ".tar.gz"))
8190 (sha256
8191 (base32
8192 "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x"))))
8193 (build-system haskell-build-system)
8194 (inputs
8195 `(("ghc-blaze-html" ,ghc-blaze-html)
8196 ("ghc-conduit" ,ghc-conduit)
8197 ("ghc-monad-logger" ,ghc-monad-logger)
8198 ("ghc-persistent" ,ghc-persistent)
8199 ("ghc-resourcet" ,ghc-resourcet)
8200 ("ghc-tagged" ,ghc-tagged)
8201 ("ghc-text" ,ghc-text)
8202 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8203 (native-inputs
8204 `(("ghc-hspec" ,ghc-hspec)
8205 ("ghc-hunit" ,ghc-hunit)
8206 ("ghc-monad-control" ,ghc-monad-control)
8207 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
8208 ("ghc-persistent-template" ,ghc-persistent-template)
8209 ("ghc-quickcheck" ,ghc-quickcheck)))
8210 (home-page "https://github.com/bitemyapp/esqueleto")
8211 (synopsis "Type-safe embedded domain specific language for SQL queries")
8212 (description "This library provides a type-safe embedded domain specific
8213language (EDSL) for SQL queries that works with SQL backends as provided by
8214@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
8215to learn new concepts, just new syntax, and it's fairly easy to predict the
8216generated SQL and optimize it for your backend.")
8217 (license license:bsd-3)))
8218
8219(define-public shellcheck
8220 (package
8221 (name "shellcheck")
8222 (version "0.4.6")
8223 (source
8224 (origin
8225 (method url-fetch)
8226 (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
8227 "v" version ".tar.gz"))
8228 (sha256
8229 (base32
8230 "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w"))
8231 (file-name (string-append name "-" version ".tar.gz"))))
8232 (build-system haskell-build-system)
8233 (inputs
8234 `(("ghc-quickcheck" ,ghc-quickcheck)
8235 ("ghc-json" ,ghc-json)
8236 ("ghc-mtl" ,ghc-mtl)
8237 ("ghc-parsec" ,ghc-parsec)
8238 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8239 (home-page "https://github.com/koalaman/shellcheck")
8240 (synopsis "Static analysis for shell scripts")
8241 (description "@code{shellcheck} provides static analysis for
8242@command{bash} and @command{sh} shell scripts.
8243It gives warnings and suggestions in order to:
8244
8245@enumerate
8246@item Point out and clarify typical beginner's syntax issues that cause
8247a shell to give cryptic error messages.
8248@item Point out and clarify typical intermediate level semantic problems
8249that cause a shell to behave strangely and counter-intuitively.
8250@item Point out subtle caveats, corner cases and pitfalls that may cause an
8251advanced user's otherwise working script to fail under future circumstances.
8252@end enumerate")
8253 (license license:gpl3+)))
8254
8255(define-public ghc-simple-sendfile
8256 (package
8257 (name "ghc-simple-sendfile")
8258 (version "0.2.25")
8259 (source
8260 (origin
8261 (method url-fetch)
8262 (uri (string-append "https://hackage.haskell.org/package/"
8263 "simple-sendfile-" version "/"
8264 "simple-sendfile-" version ".tar.gz"))
8265 (sha256
8266 (base32
8267 "0k99j9xfcf83c55jmn202hdinhjaa4yn3dal4rvjk2w2rlhqirha"))))
8268 (build-system haskell-build-system)
8269 (inputs
8270 `(("ghc-conduit" ,ghc-conduit)
8271 ("ghc-conduit-extra" ,ghc-conduit-extra)
8272 ("ghc-network" ,ghc-network)
8273 ("ghc-resourcet" ,ghc-resourcet)))
8274 (native-inputs
8275 `(("ghc-hspec" ,ghc-hspec)
8276 ("hspec-discover" ,hspec-discover)))
8277 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
8278 (synopsis "Cross platform library for the sendfile system call")
8279 (description "This library tries to call minimum system calls which
8280are the bottleneck of web servers.")
8281 (license license:bsd-3)))
8282
8283(define-public ghc-hex
8284 (package
8285 (name "ghc-hex")
8286 (version "0.1.2")
8287 (source
8288 (origin
8289 (method url-fetch)
8290 (uri (string-append "https://hackage.haskell.org/package/"
8291 "hex-" version "/"
8292 "hex-" version ".tar.gz"))
8293 (sha256
8294 (base32
8295 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
8296 (build-system haskell-build-system)
8297 (home-page "https://hackage.haskell.org/package/hex")
8298 (synopsis "Convert strings into hexadecimal and back")
8299 (description "This package provides conversion functions between
8300bytestrings and their hexademical representation.")
8301 (license license:bsd-3)))
8302
8303(define-public ghc-psqueues
8304 (package
8305 (name "ghc-psqueues")
8306 (version "0.2.6.0")
8307 (source
8308 (origin
8309 (method url-fetch)
8310 (uri (string-append "https://hackage.haskell.org/package/"
8311 "psqueues-" version "/"
8312 "psqueues-" version ".tar.gz"))
8313 (sha256
8314 (base32
8315 "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls"))))
8316 (build-system haskell-build-system)
8317 (arguments
8318 `(#:configure-flags (list "--allow-newer=QuickCheck")))
8319 (inputs
8320 `(("ghc-hashable" ,ghc-hashable)))
8321 (native-inputs
8322 `(("ghc-hunit" ,ghc-hunit)
8323 ("ghc-quickcheck" ,ghc-quickcheck)
8324 ("ghc-tagged" ,ghc-tagged)
8325 ("ghc-test-framework" ,ghc-test-framework)
8326 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8327 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8328 (home-page "https://github.com/jaspervdj/psqueues")
8329 (synopsis "Pure priority search queues")
8330 (description "The psqueues package provides
8331@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8332three different flavors:
8333
8334@itemize
8335@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8336fast insertion, deletion and lookup. This implementation is based on Ralf
8337Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8338Implementation Technique for Priority Search Queues}.
8339
8340Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8341PSQueue} library, although it is considerably faster and provides a slightly
8342different API.
8343
8344@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8345key type to @code{Int} and uses a
8346@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8347with an additional min-heap property.
8348
8349@item @code{HashPSQ k p v} is a fairly straightforward extension
8350of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8351@code{IntPSQ}. If there are any hash collisions, it uses an
8352@code{OrdPSQ} to resolve those. The performance of this implementation
8353is comparable to that of @code{IntPSQ}, but it is more widely
8354applicable since the keys are not restricted to @code{Int},
8355but rather to any @code{Hashable} datatype.
8356@end itemize
8357
8358Each of the three implementations provides the same API, so they can
8359be used interchangeably.
8360
8361Typical applications of Priority Search Queues include:
8362
8363@itemize
8364@item Caches, and more specifically LRU Caches;
8365@item Schedulers;
8366@item Pathfinding algorithms, such as Dijkstra's and A*.
8367@end itemize")
8368 (license license:bsd-3)))
8369
8370(define-public ghc-glob
8371 (package
8372 (name "ghc-glob")
8373 (version "0.9.1")
8374 (source
8375 (origin
8376 (method url-fetch)
8377 (uri (string-append "https://hackage.haskell.org/package/"
8378 "Glob-" version "/"
8379 "Glob-" version ".tar.gz"))
8380 (sha256
8381 (base32
8382 "0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0"))))
8383 (build-system haskell-build-system)
8384 (inputs
8385 `(("ghc-dlist" ,ghc-dlist)
8386 ("ghc-semigroups" ,ghc-semigroups)
8387 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8388 (native-inputs
8389 `(("ghc-hunit" ,ghc-hunit)
8390 ("ghc-quickcheck" ,ghc-quickcheck)
8391 ("ghc-test-framework" ,ghc-test-framework)
8392 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8393 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8394 (home-page "http://iki.fi/matti.niemenmaa/glob/")
8395 (synopsis "Haskell library matching glob patterns against file paths")
8396 (description "This package provides a Haskell library for @dfn{globbing}:
8397matching patterns against file paths.")
8398 (license license:bsd-3)))
8399
8400(define-public ghc-errors
8401 (package
8402 (name "ghc-errors")
8403 (version "2.2.2")
8404 (source
8405 (origin
8406 (method url-fetch)
8407 (uri (string-append "https://hackage.haskell.org/package/"
8408 "errors-" version "/"
8409 "errors-" version ".tar.gz"))
8410 (sha256
8411 (base32
8412 "13sflhglcm5skwrxb48fw96skdcx7ydiy4zg22200733pxhjncpn"))))
8413 (build-system haskell-build-system)
8414 (inputs
8415 `(("ghc-exceptions" ,ghc-exceptions)
8416 ("ghc-text" ,ghc-text)
8417 ("ghc-transformers-compat" ,ghc-transformers-compat)
8418 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
8419 ("ghc-safe" ,ghc-safe)))
8420 (home-page "https://github.com/gabriel439/haskell-errors-library")
8421 (synopsis "Error handling library for Haskell")
8422 (description "This library encourages an error-handling style that
8423directly uses the type system, rather than out-of-band exceptions.")
8424 (license license:bsd-3)))
8425
8426(define-public ghc-vector-th-unbox
8427 (package
8428 (name "ghc-vector-th-unbox")
8429 (version "0.2.1.6")
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append "https://hackage.haskell.org/package/"
8434 "vector-th-unbox-" version "/"
8435 "vector-th-unbox-" version ".tar.gz"))
8436 (sha256
8437 (base32
8438 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-vector" ,ghc-vector)
8442 ("ghc-data-default" ,ghc-data-default)))
8443 (home-page "https://github.com/liyang/vector-th-unbox")
8444 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
8445 (description "This Haskell library provides a Template Haskell
8446deriver for unboxed vectors, given a pair of coercion functions to
8447and from some existing type with an Unbox instance.")
8448 (license license:bsd-3)))
8449
8450(define-public ghc-erf
8451 (package
8452 (name "ghc-erf")
8453 (version "2.0.0.0")
8454 (source
8455 (origin
8456 (method url-fetch)
8457 (uri (string-append "https://hackage.haskell.org/package/"
8458 "erf-" version "/"
8459 "erf-" version ".tar.gz"))
8460 (sha256
8461 (base32
8462 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
8463 (build-system haskell-build-system)
8464 (home-page "https://hackage.haskell.org/package/erf")
8465 (synopsis "The error function, erf, and related functions for Haskell")
8466 (description "This Haskell library provides a type class for the
8467error function, erf, and related functions. Instances for Float and
8468Double.")
8469 (license license:bsd-3)))
8470
8471(define-public ghc-math-functions
8472 (package
8473 (name "ghc-math-functions")
8474 (version "0.2.1.0")
8475 (source
8476 (origin
8477 (method url-fetch)
8478 (uri (string-append "https://hackage.haskell.org/package/"
8479 "math-functions-" version "/"
8480 "math-functions-" version ".tar.gz"))
8481 (sha256
8482 (base32
8483 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
8484 (build-system haskell-build-system)
8485 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
8486 (inputs
8487 `(("ghc-vector" ,ghc-vector)
8488 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
8489 (native-inputs
8490 `(("ghc-hunit" ,ghc-hunit)
8491 ("ghc-quickcheck" ,ghc-quickcheck)
8492 ("ghc-erf" ,ghc-erf)
8493 ("ghc-test-framework" ,ghc-test-framework)
8494 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8495 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8496 (home-page "https://github.com/bos/math-functions")
8497 (synopsis "Special functions and Chebyshev polynomials for Haskell")
8498 (description "This Haskell library provides implementations of
8499special mathematical functions and Chebyshev polynomials. These
8500functions are often useful in statistical and numerical computing.")
8501 (license license:bsd-3)))
8502
8503(define-public ghc-mwc-random
8504 (package
8505 (name "ghc-mwc-random")
8506 (version "0.13.6.0")
8507 (source
8508 (origin
8509 (method url-fetch)
8510 (uri (string-append "https://hackage.haskell.org/package/"
8511 "mwc-random-" version "/"
8512 "mwc-random-" version ".tar.gz"))
8513 (sha256
8514 (base32
8515 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
8516 (build-system haskell-build-system)
8517 (inputs
8518 `(("ghc-primitive" ,ghc-primitive)
8519 ("ghc-vector" ,ghc-vector)
8520 ("ghc-math-functions" ,ghc-math-functions)))
8521 (arguments
8522 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8523 (native-inputs
8524 `(("ghc-hunit" ,ghc-hunit)
8525 ("ghc-quickcheck" ,ghc-quickcheck)
8526 ("ghc-test-framework" ,ghc-test-framework)
8527 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8528 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8529 (home-page "https://github.com/bos/mwc-random")
8530 (synopsis "Random number generation library for Haskell")
8531 (description "This Haskell package contains code for generating
8532high quality random numbers that follow either a uniform or normal
8533distribution. The generated numbers are suitable for use in
8534statistical applications.
8535
8536The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8537multiply-with-carry generator, which has a period of 2^{8222} and
8538fares well in tests of randomness. It is also extremely fast,
8539between 2 and 3 times faster than the Mersenne Twister.")
8540 (license license:bsd-3)))
8541
8542(define-public ghc-vector-algorithms
8543 (package
8544 (name "ghc-vector-algorithms")
8545 (version "0.7.0.1")
8546 (source
8547 (origin
8548 (method url-fetch)
8549 (uri (string-append "https://hackage.haskell.org/package/"
8550 "vector-algorithms-" version "/"
8551 "vector-algorithms-" version ".tar.gz"))
8552 (sha256
8553 (base32
8554 "0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd"))))
8555 (build-system haskell-build-system)
8556 ;; The limits have been adjusted in a revision of the cabal file.
8557 (arguments
8558 '(#:configure-flags (list "--allow-newer=vector")
8559 #:phases
8560 (modify-phases %standard-phases
8561 ;; The tests cannot be built due to type errors.
8562 (add-after 'unpack 'do-not-build-quickcheck-tests
8563 (lambda _
8564 (substitute* "vector-algorithms.cabal"
8565 (("\\!flag\\(properties\\)") "True"))
8566 #t)))))
8567 (inputs
8568 `(("ghc-vector" ,ghc-vector)
8569 ("ghc-mtl" ,ghc-mtl)
8570 ("ghc-mwc-random" ,ghc-mwc-random)))
8571 (native-inputs
8572 `(("ghc-quickcheck" ,ghc-quickcheck)))
8573 (home-page "https://github.com/bos/math-functions")
8574 (synopsis "Algorithms for vector arrays in Haskell")
8575 (description "This Haskell library algorithms for vector arrays.")
8576 (license license:bsd-3)))
8577
8578(define-public ghc-language-haskell-extract
8579 (package
8580 (name "ghc-language-haskell-extract")
8581 (version "0.2.4")
8582 (source
8583 (origin
8584 (method url-fetch)
8585 (uri (string-append "https://hackage.haskell.org/package/"
8586 "language-haskell-extract-" version "/"
8587 "language-haskell-extract-" version ".tar.gz"))
8588 (sha256
8589 (base32
8590 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8591 (build-system haskell-build-system)
8592 (inputs
8593 `(("ghc-regex-posix" ,ghc-regex-posix)))
8594 (home-page "https://github.com/finnsson/template-helper")
8595 (synopsis "Haskell module to automatically extract functions from
8596the local code")
8597 (description "This package contains helper functions on top of
8598Template Haskell.
8599
8600For example, @code{functionExtractor} extracts all functions after a
8601regexp-pattern, which can be useful if you wish to extract all functions
8602beginning with @code{test} (for a test framework) or all functions beginning
8603with @code{wc} (for a web service).")
8604 (license license:bsd-3)))
8605
8606(define-public ghc-abstract-par
8607 (package
8608 (name "ghc-abstract-par")
8609 (version "0.3.3")
8610 (source
8611 (origin
8612 (method url-fetch)
8613 (uri (string-append "https://hackage.haskell.org/package/"
8614 "abstract-par-" version "/"
8615 "abstract-par-" version ".tar.gz"))
8616 (sha256
8617 (base32
8618 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8619 (build-system haskell-build-system)
8620 (home-page "https://github.com/simonmar/monad-par")
8621 (synopsis "Abstract parallelization interface for Haskell")
8622 (description "This Haskell package is an abstract interface
8623only. It provides a number of type clasess, but not an
8624implementation. The type classes separate different levels
8625of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8626module for more details.")
8627 (license license:bsd-3)))
8628
8629(define-public ghc-monad-par-extras
8630 (package
8631 (name "ghc-monad-par-extras")
8632 (version "0.3.3")
8633 (source
8634 (origin
8635 (method url-fetch)
8636 (uri (string-append "https://hackage.haskell.org/package/"
8637 "monad-par-extras-" version "/"
8638 "monad-par-extras-" version ".tar.gz"))
8639 (sha256
8640 (base32
8641 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8642 (build-system haskell-build-system)
8643 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8644 ("ghc-cereal" ,ghc-cereal)
8645 ("ghc-random" ,ghc-random)
8646 ("ghc-mtl" ,ghc-mtl)))
8647 (home-page "https://github.com/simonmar/monad-par")
8648 (synopsis "Combinators and extra features for Par monads for Haskell")
8649 (description "This Haskell package provides additional data structures,
8650and other added capabilities layered on top of the @code{Par} monad.")
8651 (license license:bsd-3)))
8652
8653(define-public ghc-abstract-deque
8654 (package
8655 (name "ghc-abstract-deque")
8656 (version "0.3")
8657 (source
8658 (origin
8659 (method url-fetch)
8660 (uri (string-append "https://hackage.haskell.org/package/"
8661 "abstract-deque-" version "/"
8662 "abstract-deque-" version ".tar.gz"))
8663 (sha256
8664 (base32
8665 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8666 (build-system haskell-build-system)
8667 (inputs `(("ghc-random" ,ghc-random)))
8668 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8669 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8670 (description "This Haskell package provides an abstract interface to
8671highly-parameterizable queues/deques.
8672
8673Background: There exists a feature space for queues that extends between:
8674
8675@itemize
8676@item Simple, single-ended, non-concurrent, bounded queues
8677
8678@item Double-ended, thread-safe, growable queues with important points
8679in between (such as the queues used for work stealing).
8680@end itemize
8681
8682This package includes an interface for Deques that allows the programmer
8683to use a single API for all of the above, while using the type system to
8684select an efficient implementation given the requirements (using type families).
8685
8686This package also includes a simple reference implementation based on
8687@code{IORef} and @code{Data.Sequence}.")
8688 (license license:bsd-3)))
8689
8690(define-public ghc-monad-par
8691 (package
8692 (name "ghc-monad-par")
8693 (version "0.3.4.8")
8694 (source
8695 (origin
8696 (method url-fetch)
8697 (uri (string-append "https://hackage.haskell.org/package/"
8698 "monad-par-" version "/"
8699 "monad-par-" version ".tar.gz"))
8700 (sha256
8701 (base32
8702 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8703 (build-system haskell-build-system)
8704 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8705 ("ghc-abstract-deque" ,ghc-abstract-deque)
8706 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8707 ("ghc-mwc-random" ,ghc-mwc-random)
8708 ("ghc-parallel" ,ghc-parallel)
8709 ("ghc-mtl" ,ghc-mtl)))
8710 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8711 ("ghc-hunit" ,ghc-hunit)
8712 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8713 ("ghc-test-framework-quickcheck2"
8714 ,ghc-test-framework-quickcheck2)
8715 ("ghc-test-framework" ,ghc-test-framework)
8716 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8717 (home-page "https://github.com/simonmar/monad-par")
8718 (synopsis "Haskell library for parallel programming based on a monad")
8719 (description "The @code{Par} monad offers an API for parallel
8720programming. The library works for parallelising both pure and @code{IO}
8721computations, although only the pure version is deterministic. The default
8722implementation provides a work-stealing scheduler and supports forking tasks
8723that are much lighter weight than IO-threads.")
8724 (license license:bsd-3)))
8725
8726(define-public ghc-statistics
8727 (package
8728 (name "ghc-statistics")
8729 (version "0.14.0.2")
8730 (source
8731 (origin
8732 (method url-fetch)
8733 (uri (string-append "https://hackage.haskell.org/package/"
8734 "statistics-" version "/"
8735 "statistics-" version ".tar.gz"))
8736 (sha256
8737 (base32
8738 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
8739 (build-system haskell-build-system)
8740 (inputs
8741 `(("ghc-aeson" ,ghc-aeson)
8742 ("ghc-base-orphans" ,ghc-base-orphans)
8743 ("ghc-erf" ,ghc-erf)
8744 ("ghc-math-functions" ,ghc-math-functions)
8745 ("ghc-monad-par" ,ghc-monad-par)
8746 ("ghc-mwc-random" ,ghc-mwc-random)
8747 ("ghc-primitive" ,ghc-primitive)
8748 ("ghc-vector" ,ghc-vector)
8749 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8750 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
8751 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
8752 (native-inputs
8753 `(("ghc-hunit" ,ghc-hunit)
8754 ("ghc-quickcheck" ,ghc-quickcheck)
8755 ("ghc-ieee754" ,ghc-ieee754)
8756 ("ghc-test-framework" ,ghc-test-framework)
8757 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8758 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8759 (arguments
8760 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8761 (home-page "https://github.com/bos/mwc-random")
8762 (synopsis "Haskell library of statistical types, data, and functions")
8763 (description "This library provides a number of common functions
8764and types useful in statistics. We focus on high performance, numerical
8765robustness, and use of good algorithms. Where possible, we provide references
8766to the statistical literature.
8767
8768The library's facilities can be divided into four broad categories:
8769
8770@itemize
8771@item Working with widely used discrete and continuous probability
8772distributions. (There are dozens of exotic distributions in use; we focus
8773on the most common.)
8774
8775@item Computing with sample data: quantile estimation, kernel density
8776estimation, histograms, bootstrap methods, significance testing,
8777and regression and autocorrelation analysis.
8778
8779@item Random variate generation under several different distributions.
8780
8781@item Common statistical tests for significant differences between samples.
8782@end itemize")
8783 (license license:bsd-2)))
8784
8785(define-public ghc-chunked-data
8786 (package
8787 (name "ghc-chunked-data")
8788 (version "0.3.0")
8789 (source
8790 (origin
8791 (method url-fetch)
8792 (uri (string-append "https://hackage.haskell.org/package/"
8793 "chunked-data-" version "/"
8794 "chunked-data-" version ".tar.gz"))
8795 (sha256
8796 (base32
8797 "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
8798 (build-system haskell-build-system)
8799 (inputs `(("ghc-vector" ,ghc-vector)
8800 ("ghc-semigroups" ,ghc-semigroups)
8801 ("ghc-text" ,ghc-text)))
8802 (home-page "https://github.com/snoyberg/mono-traversable")
8803 (synopsis "Typeclasses for dealing with various chunked data
8804representations for Haskell")
8805 (description "This Haskell package was originally present in
8806classy-prelude.")
8807 (license license:expat)))
8808
8809(define-public ghc-base-prelude
8810 (package
8811 (name "ghc-base-prelude")
8812 (version "1.2.0.1")
8813 (source
8814 (origin
8815 (method url-fetch)
8816 (uri (string-append "https://hackage.haskell.org/package/"
8817 "base-prelude-" version "/"
8818 "base-prelude-" version ".tar.gz"))
8819 (sha256
8820 (base32
8821 "17hivs7lmsglagdlzxd9q9zsddmgqin2788mpq911zwnb57lj6l1"))))
8822 (build-system haskell-build-system)
8823 (home-page "https://github.com/nikita-volkov/base-prelude")
8824 (synopsis "The most complete prelude formed solely from the Haskell's base
8825package")
8826 (description "This Haskell package aims to reexport all the non-conflicting
8827and most general definitions from the \"base\" package.
8828
8829This includes APIs for applicatives, arrows, monoids, foldables, traversables,
8830exceptions, generics, ST, MVars and STM.
8831
8832This package will never have any dependencies other than \"base\".
8833
8834Versioning policy:
8835
8836The versioning policy of this package deviates from PVP in the sense
8837that its exports in part are transitively determined by the version of \"base\".
8838Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
8839the bounds of \"base\" as well.")
8840 (license license:expat)))
8841
8842(define-public ghc-tuple-th
8843 (package
8844 (name "ghc-tuple-th")
8845 (version "0.2.5")
8846 (source
8847 (origin
8848 (method url-fetch)
8849 (uri (string-append "https://hackage.haskell.org/package/"
8850 "tuple-th-" version "/"
8851 "tuple-th-" version ".tar.gz"))
8852 (sha256
8853 (base32
8854 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
8855 (build-system haskell-build-system)
8856 (home-page "https://github.com/DanielSchuessler/tuple-th")
8857 (synopsis "Generate utility functions for tuples of statically known size
8858for Haskell")
8859 (description "This Haskell package contains Template Haskell functions for
8860generating functions similar to those in @code{Data.List} for tuples of
8861statically known size.")
8862 (license license:bsd-3)))
8863
8864(define-public ghc-contravariant-extras
8865 (package
8866 (name "ghc-contravariant-extras")
8867 (version "0.3.3.1")
8868 (source
8869 (origin
8870 (method url-fetch)
8871 (uri (string-append "https://hackage.haskell.org/package/"
8872 "contravariant-extras-" version "/"
8873 "contravariant-extras-" version ".tar.gz"))
8874 (sha256
8875 (base32
8876 "1mbrgjybdx8fjdck4ldwi8955w4qnmm0ql56zix7dyn0s7s9spgk"))))
8877 (build-system haskell-build-system)
8878 (inputs `(("ghc-tuple-th" ,ghc-tuple-th)
8879 ("ghc-contravariant" ,ghc-contravariant)
8880 ("ghc-base-prelude" ,ghc-base-prelude)))
8881 (home-page "https://github.com/nikita-volkov/contravariant-extras")
8882 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
8883 (description "This Haskell package provides extras for the
8884@code{ghc-contravariant} package.")
8885 (license license:expat)))
8886
8887(define-public ghc-monadrandom
8888 (package
8889 (name "ghc-monadrandom")
8890 (version "0.4.2.3")
8891 (source
8892 (origin
8893 (method url-fetch)
8894 (uri (string-append "https://hackage.haskell.org/package/"
8895 "MonadRandom-" version "/"
8896 "MonadRandom-" version ".tar.gz"))
8897 (sha256
8898 (base32
8899 "1h1nhswrcmhy3mq6vd530p0df51fcnnf4csbwnljar7cf0mb2h6y"))))
8900 (build-system haskell-build-system)
8901 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8902 ("ghc-mtl" ,ghc-mtl)
8903 ("ghc-primitive" ,ghc-primitive)
8904 ("ghc-fail" ,ghc-fail)
8905 ("ghc-random" ,ghc-random)))
8906 (home-page "https://github.com/byorgey/MonadRandom")
8907 (synopsis "Random-number generation monad for Haskell")
8908 (description "This Haskell package provides support for computations
8909which consume random values.")
8910 (license license:bsd-3)))
8911
8912(define-public ghc-either
8913 (package
8914 (name "ghc-either")
8915 (version "4.4.1.1")
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append "https://hackage.haskell.org/package/"
8920 "either-" version "/"
8921 "either-" version ".tar.gz"))
8922 (sha256
8923 (base32
8924 "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh"))))
8925 (build-system haskell-build-system)
8926 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
8927 ("ghc-exceptions" ,ghc-exceptions)
8928 ("ghc-free" ,ghc-free)
8929 ("ghc-monad-control" ,ghc-monad-control)
8930 ("ghc-manodrandom" ,ghc-monadrandom)
8931 ("ghc-mtl" ,ghc-mtl)
8932 ("ghc-mmorph" ,ghc-mmorph)
8933 ("ghc-profunctors" ,ghc-profunctors)
8934 ("ghc-semigroups" ,ghc-semigroups)
8935 ("ghc-semigroupoids" ,ghc-semigroupoids)
8936 ("ghc-transformers-base" ,ghc-transformers-base)))
8937 (home-page "https://github.com/ekmett/either")
8938 (synopsis "Provides an either monad transformer for Haskell")
8939 (description "This Haskell package provides an either monad transformer.")
8940 (license license:bsd-3)))
8941
8942(define-public ghc-pretty-hex
8943 (package
8944 (name "ghc-pretty-hex")
8945 (version "1.0")
8946 (source
8947 (origin
8948 (method url-fetch)
8949 (uri (string-append "https://hackage.haskell.org/package/"
8950 "pretty-hex-" version "/"
8951 "pretty-hex-" version ".tar.gz"))
8952 (sha256
8953 (base32
8954 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8955 (build-system haskell-build-system)
8956 (home-page "https://github.com/GaloisInc/hexdump")
8957 (synopsis "Haskell library for hex dumps of ByteStrings")
8958 (description "This Haskell library generates pretty hex dumps of
8959ByteStrings in the style of other common *nix hex dump tools.")
8960 (license license:bsd-3)))
8961
8962(define-public ghc-network-info
8963 (package
8964 (name "ghc-network-info")
8965 (version "0.2.0.8")
8966 (source
8967 (origin
8968 (method url-fetch)
8969 (uri (string-append "https://hackage.haskell.org/package/"
8970 "network-info-" version "/"
8971 "network-info-" version ".tar.gz"))
8972 (sha256
8973 (base32
8974 "0xndvg776241fgjmynxfpy81f1csjmh8dg33yf0c8m71ychz3pzc"))))
8975 (build-system haskell-build-system)
8976 (home-page "https://github.com/jystic/network-info")
8977 (synopsis "Access the local computer's basic network configuration")
8978 (description "This Haskell library provides simple read-only access to the
8979local computer's networking configuration. It is currently capable of
8980getting a list of all the network interfaces and their respective
8981IPv4, IPv6 and MAC addresses.")
8982 (license license:bsd-3)))
8983
8984(define-public ghc-uuid-types
8985 (package
8986 (name "ghc-uuid-types")
8987 (version "1.0.3")
8988 (source
8989 (origin
8990 (method url-fetch)
8991 (uri (string-append "https://hackage.haskell.org/package/"
8992 "uuid-types-" version "/"
8993 "uuid-types-" version ".tar.gz"))
8994 (sha256
8995 (base32
8996 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
8997 (build-system haskell-build-system)
8998 (arguments
8999 `(#:configure-flags (list "--allow-newer=QuickCheck"
9000 "--allow-newer=HUnit")))
9001 (inputs `(("ghc-hashable" ,ghc-hashable)
9002 ("ghc-random" ,ghc-random)
9003 ("ghc-text" ,ghc-text)))
9004 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9005 ("ghc-quickcheck" ,ghc-quickcheck)
9006 ("ghc-tasty" ,ghc-tasty)
9007 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9008 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9009 (home-page "https://github.com/hvr/uuid")
9010 (synopsis "Haskell type definitions for UUIDs")
9011 (description "This Haskell library contains type definitions for
9012@dfn{Universally Unique Identifiers} or
9013@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
9014functions.")
9015 (license license:bsd-3)))
9016
9017(define-public ghc-uuid
9018 (package
9019 (name "ghc-uuid")
9020 (version "1.3.13")
9021 (source
9022 (origin
9023 (method url-fetch)
9024 (uri (string-append "https://hackage.haskell.org/package/"
9025 "uuid-" version "/"
9026 "uuid-" version ".tar.gz"))
9027 (sha256
9028 (base32
9029 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
9030 (build-system haskell-build-system)
9031 (arguments
9032 `(#:configure-flags (list "--allow-newer=QuickCheck"
9033 "--allow-newer=HUnit")))
9034 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
9035 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
9036 ("ghc-entropy" ,ghc-entropy)
9037 ("ghc-network-info" ,ghc-network-info)
9038 ("ghc-random" ,ghc-random)
9039 ("ghc-text" ,ghc-text)
9040 ("ghc-uuid-types" ,ghc-uuid-types)))
9041 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9042 ("ghc-quickcheck" ,ghc-quickcheck)
9043 ("ghc-tasty" ,ghc-tasty)
9044 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9045 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9046 (home-page "https://github.com/hvr/uuid")
9047 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
9048 (description "This Haskell library provides utilities creating, comparing,
9049parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
9050 (license license:bsd-3)))
9051
9052(define-public ghc-rebase
9053 (package
9054 (name "ghc-rebase")
9055 (version "1.1")
9056 (source
9057 (origin
9058 (method url-fetch)
9059 (uri (string-append "https://hackage.haskell.org/package/"
9060 "rebase-" version "/"
9061 "rebase-" version ".tar.gz"))
9062 (sha256
9063 (base32
9064 "1qkhnpcc4g2vd6jmbf3b6psqkan6hyawqzrwzqdd931hsb02l6ia"))))
9065 (build-system haskell-build-system)
9066 (inputs `(("ghc-stm" ,ghc-stm)
9067 ("ghc-hashable" ,ghc-hashable)
9068 ("ghc-vector" ,ghc-vector)
9069 ("ghc-unordered-containers" ,ghc-unordered-containers)
9070 ("ghc-text" ,ghc-text)
9071 ("ghc-scientific" ,ghc-scientific)
9072 ("ghc-uuid" ,ghc-uuid)
9073 ("ghc-dlist" ,ghc-dlist)
9074 ("ghc-void" ,ghc-void)
9075 ("ghc-bifunctors" ,ghc-bifunctors)
9076 ("ghc-profunctors" ,ghc-profunctors)
9077 ("ghc-contravariant" ,ghc-contravariant)
9078 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9079 ("ghc-semigroups" ,ghc-semigroups)
9080 ("ghc-mtl" ,ghc-mtl)
9081 ("ghc-either" ,ghc-either)
9082 ("ghc-fail" ,ghc-fail)
9083 ("ghc-base-prelude" ,ghc-base-prelude)))
9084 (home-page "https://github.com/nikita-volkov/rebase")
9085 (synopsis "Progressive alternative to the base package
9086for Haskell")
9087 (description "This Haskell package is intended for those who are
9088tired of keeping long lists of dependencies to the same essential libraries
9089in each package as well as the endless imports of the same APIs all over again.
9090
9091It also supports the modern tendencies in the language.
9092
9093To solve those problems this package does the following:
9094
9095@itemize
9096@item Reexport the original APIs under the @code{Rebase} namespace.
9097
9098@item Export all the possible non-conflicting symbols from the
9099@code{Rebase.Prelude} module.
9100
9101@item Give priority to the modern practices in the conflicting cases.
9102@end itemize
9103
9104The policy behind the package is only to reexport the non-ambiguous and
9105non-controversial APIs, which the community has obviously settled on.
9106The package is intended to rapidly evolve with the contribution from
9107the community, with the missing features being added with pull-requests.")
9108 (license license:expat)))
9109
9110(define-public ghc-vector-builder
9111 (package
9112 (name "ghc-vector-builder")
9113 (version "0.3.1")
9114 (source
9115 (origin
9116 (method url-fetch)
9117 (uri (string-append "https://hackage.haskell.org/package/"
9118 "vector-builder-" version "/"
9119 "vector-builder-" version ".tar.gz"))
9120 (sha256
9121 (base32
9122 "1l6sfgd2s107zkp1qd1w6jdjcbznp31769qf99pxar087f697wvp"))))
9123 (build-system haskell-build-system)
9124 (inputs `(("ghc-vector" ,ghc-vector)
9125 ("ghc-semigroups" ,ghc-semigroups)
9126 ("ghc-base-prelude" ,ghc-base-prelude)))
9127 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9128 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9129 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9130 ("ghc-hunit" ,ghc-hunit)
9131 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9132 ("ghc-rebase" ,ghc-rebase)))
9133 (home-page "https://github.com/nikita-volkov/vector-builder")
9134 (synopsis "Vector builder for Haskell")
9135 (description "This Haskell package provides an API for constructing vectors.
9136It provides the composable @code{Builder} abstraction, which has instances of the
9137@code{Monoid} and @code{Semigroup} classes.
9138
9139You would first use the @code{Builder} abstraction to specify the structure of
9140the vector; then you can execute the builder to actually produce the
9141vector. ")
9142 (license license:expat)))
9143
9144(define-public ghc-foldl
9145 (package
9146 (name "ghc-foldl")
9147 (version "1.3.5")
9148 (source
9149 (origin
9150 (method url-fetch)
9151 (uri (string-append "https://hackage.haskell.org/package/"
9152 "foldl-" version "/"
9153 "foldl-" version ".tar.gz"))
9154 (sha256
9155 (base32
9156 "10qsp7dj2xsq4q2xm6x6b12y5pq32qf7my41hnkmdwwbccvhdxb2"))))
9157 (build-system haskell-build-system)
9158 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
9159 ("ghc-primitive" ,ghc-primitive)
9160 ("ghc-text" ,ghc-text)
9161 ("ghc-vector" ,ghc-vector)
9162 ("ghc-unordered-containers" ,ghc-unordered-containers)
9163 ("ghc-hashable" ,ghc-hashable)
9164 ("ghc-contravariant" ,ghc-contravariant)
9165 ("ghc-profunctors" ,ghc-profunctors)
9166 ("ghc-comonad" ,ghc-comonad)
9167 ("ghc-vector-builder" ,ghc-vector-builder)))
9168 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
9169 (synopsis "Composable, streaming, and efficient left folds for Haskell")
9170 (description "This Haskell library provides strict left folds that stream
9171in constant memory, and you can combine folds using @code{Applicative} style
9172to derive new folds. Derived folds still traverse the container just once
9173and are often as efficient as hand-written folds.")
9174 (license license:bsd-3)))
9175
9176(define-public ghc-mono-traversable
9177 (package
9178 (name "ghc-mono-traversable")
9179 (version "1.0.9.0")
9180 (source
9181 (origin
9182 (method url-fetch)
9183 (uri (string-append "https://hackage.haskell.org/package/"
9184 "mono-traversable-" version "/"
9185 "mono-traversable-" version ".tar.gz"))
9186 (sha256
9187 (base32
9188 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
9189 (build-system haskell-build-system)
9190 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9191 ("ghc-hashable" ,ghc-hashable)
9192 ("ghc-text" ,ghc-text)
9193 ("ghc-vector" ,ghc-vector)
9194 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9195 ("ghc-split" ,ghc-split)))
9196 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9197 ("ghc-hunit" ,ghc-hunit)
9198 ("ghc-quickcheck" ,ghc-quickcheck)
9199 ("ghc-semigroups" ,ghc-semigroups)
9200 ("ghc-foldl" ,ghc-foldl)))
9201 (home-page "https://github.com/snoyberg/mono-traversable")
9202 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
9203containers")
9204 (description "This Haskell package provides Monomorphic variants of the
9205Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
9206basic typeclasses, you understand mono-traversable. In addition to what
9207you are used to, it adds on an IsSequence typeclass and has code for marking
9208data structures as non-empty.")
9209 (license license:expat)))
9210
9211(define-public ghc-conduit-combinators
9212 (package
9213 (name "ghc-conduit-combinators")
9214 (version "1.3.0")
9215 (source
9216 (origin
9217 (method url-fetch)
9218 (uri (string-append "https://hackage.haskell.org/package/"
9219 "conduit-combinators-" version "/"
9220 "conduit-combinators-" version ".tar.gz"))
9221 (sha256
9222 (base32
9223 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
9224 (build-system haskell-build-system)
9225 (inputs `(("ghc-conduit" ,ghc-conduit)
9226 ("ghc-conduit-extra" ,ghc-conduit-extra)
9227 ("ghc-transformers-base" ,ghc-transformers-base)
9228 ("ghc-primitive" ,ghc-primitive)
9229 ("ghc-vector" ,ghc-vector)
9230 ("ghc-text" ,ghc-text)
9231 ("ghc-void" ,ghc-void)
9232 ("ghc-mwc-random" ,ghc-mwc-random)
9233 ("ghc-unix-compat" ,ghc-unix-compat)
9234 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9235 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9236 ("ghc-resourcet" ,ghc-resourcet)
9237 ("ghc-monad-control" ,ghc-monad-control)
9238 ("ghc-chunked-data" ,ghc-chunked-data)
9239 ("ghc-mono-traversable" ,ghc-mono-traversable)))
9240 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9241 ("ghc-silently" ,ghc-silently)
9242 ("ghc-mtl" ,ghc-mtl)
9243 ("ghc-safe" ,ghc-safe)
9244 ("ghc-quickcheck" ,ghc-quickcheck)))
9245 (home-page "https://github.com/snoyberg/mono-traversable")
9246 (synopsis "Commonly used conduit functions, for both chunked and
9247unchunked data")
9248 (description "This Haskell package provides a replacement for Data.Conduit.List,
9249as well as a convenient Conduit module.")
9250 (license license:expat)))
9251
9252(define-public ghc-aws
9253 (package
9254 (name "ghc-aws")
9255 (version "0.18")
9256 (source
9257 (origin
9258 (method url-fetch)
9259 (uri (string-append "https://hackage.haskell.org/package/"
9260 "aws-" version "/aws-" version ".tar.gz"))
9261 (sha256 (base32
9262 "0h7473wkvc5xjzx5fd5k5fp70rjq5gqmn1cpy95mswvvfsq3irxj"))))
9263 (build-system haskell-build-system)
9264 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
9265 (inputs
9266 `(("ghc-aeson" ,ghc-aeson)
9267 ("ghc-attoparsec" ,ghc-attoparsec)
9268 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9269 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9270 ("ghc-blaze-builder" ,ghc-blaze-builder)
9271 ("ghc-byteable" ,ghc-byteable)
9272 ("ghc-case-insensitive" ,ghc-case-insensitive)
9273 ("ghc-cereal" ,ghc-cereal)
9274 ("ghc-conduit" ,ghc-conduit)
9275 ("ghc-conduit-extra" ,ghc-conduit-extra)
9276 ("ghc-cryptonite" ,ghc-cryptonite)
9277 ("ghc-data-default" ,ghc-data-default)
9278 ("ghc-http-conduit" ,ghc-http-conduit)
9279 ("ghc-http-types" ,ghc-http-types)
9280 ("ghc-monad-control" ,ghc-monad-control)
9281 ("ghc-mtl" ,ghc-mtl)
9282 ("ghc-network" ,ghc-network)
9283 ("ghc-old-locale" ,ghc-old-locale)
9284 ("ghc-safe" ,ghc-safe)
9285 ("ghc-scientific" ,ghc-scientific)
9286 ("ghc-tagged" ,ghc-tagged)
9287 ("ghc-text" ,ghc-text)
9288 ("ghc-unordered-containers" ,ghc-unordered-containers)
9289 ("ghc-utf8-string" ,ghc-utf8-string)
9290 ("ghc-vector" ,ghc-vector)
9291 ("ghc-xml-conduit" ,ghc-xml-conduit)))
9292 (native-inputs
9293 `(("ghc-quickcheck" ,ghc-quickcheck)
9294 ("ghc-errors" ,ghc-errors)
9295 ("ghc-http-client" ,ghc-http-client)
9296 ("ghc-http-client-tls" ,ghc-http-client-tls)
9297 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9298 ("ghc-tasty" ,ghc-tasty)
9299 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9301 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
9302 (home-page "https://github.com/aristidb/aws")
9303 (synopsis "Amazon Web Services for Haskell")
9304 (description "This package attempts to provide support for using
9305Amazon Web Services like S3 (storage), SQS (queuing) and others to
9306Haskell programmers. The ultimate goal is to support all Amazon
9307Web Services.")
9308 (license license:bsd-3)))
9309
9310(define-public ghc-basement
9311 (package
9312 (name "ghc-basement")
9313 (version "0.0.7")
9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "https://hackage.haskell.org/package/"
9318 "basement/basement-" version ".tar.gz"))
9319 (sha256
9320 (base32
9321 "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm"))))
9322 (build-system haskell-build-system)
9323 (home-page "https://github.com/haskell-foundation/foundation")
9324 (synopsis "Basic primitives for Foundation starter pack")
9325 (description
9326 "This package contains basic primitives for the Foundation set of
9327packages.")
9328 (license license:bsd-3)))
9329
9330(define-public ghc-foundation
9331 (package
9332 (name "ghc-foundation")
9333 (version "0.0.20")
9334 (source
9335 (origin
9336 (method url-fetch)
9337 (uri (string-append "https://hackage.haskell.org/package/"
9338 "foundation/foundation-" version ".tar.gz"))
9339 (sha256
9340 (base32
9341 "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms"))))
9342 (build-system haskell-build-system)
9343 (inputs `(("ghc-basement" ,ghc-basement)))
9344 (home-page "https://github.com/haskell-foundation/foundation")
9345 (synopsis "Alternative prelude with batteries and no dependencies")
9346 (description
9347 "This package provides a custom prelude with no dependencies apart from
9348the base package.
9349
9350Foundation has the following goals:
9351
9352@enumerate
9353@item provide a base like sets of modules that provide a consistent set of
9354 features and bugfixes across multiple versions of GHC (unlike base).
9355@item provide a better and more efficient prelude than base's prelude.
9356@item be self-sufficient: no external dependencies apart from base;
9357@item provide better data-types: packed unicode string by default, arrays;
9358@item Numerical classes that better represent mathematical things (no more
9359 all-in-one @code{Num});
9360@item I/O system with less lazy IO.
9361@end enumerate\n")
9362 (license license:bsd-3)))
9363
9364(define-public ghc-stm-chans
9365 (package
9366 (name "ghc-stm-chans")
9367 (version "3.0.0.4")
9368 (source
9369 (origin
9370 (method url-fetch)
9371 (uri (string-append "https://hackage.haskell.org/package/"
9372 "stm-chans-" version "/"
9373 "stm-chans-" version ".tar.gz"))
9374 (sha256
9375 (base32
9376 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9377 (build-system haskell-build-system)
9378 (inputs `(("ghc-stm" ,ghc-stm)))
9379 (home-page "https://hackage.haskell.org/package/stm-chans")
9380 (synopsis "Additional types of channels for ghc-stm")
9381 (description "This Haskell package offers a collection of channel types,
9382similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9383features.")
9384 (license license:bsd-3)))
9385
9386(define-public ghc-monad-loops
9387 (package
9388 (name "ghc-monad-loops")
9389 (version "0.4.3")
9390 (source
9391 (origin
9392 (method url-fetch)
9393 (uri (string-append "https://hackage.haskell.org/package/"
9394 "monad-loops-" version "/"
9395 "monad-loops-" version ".tar.gz"))
9396 (sha256
9397 (base32
9398 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
9399 (build-system haskell-build-system)
9400 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9401 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9402 (home-page "https://github.com/mokus0/monad-loops")
9403 (synopsis "Monadic loops for Haskell")
9404 (description "This Haskell package provides some useful control
9405operators for looping.")
9406 (license license:public-domain)))
9407
9408(define-public ghc-monad-logger
9409 (package
9410 (name "ghc-monad-logger")
9411 (version "0.3.25.1")
9412 (source
9413 (origin
9414 (method url-fetch)
9415 (uri (string-append "https://hackage.haskell.org/package/"
9416 "monad-logger-" version "/"
9417 "monad-logger-" version ".tar.gz"))
9418 (sha256
9419 (base32
9420 "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920"))))
9421 (build-system haskell-build-system)
9422 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
9423 ("ghc-text" ,ghc-text)
9424 ("ghc-stm" ,ghc-stm)
9425 ("ghc-stm-chans" ,ghc-stm-chans)
9426 ("ghc-lifted-base" ,ghc-lifted-base)
9427 ("ghc-resourcet" ,ghc-resourcet)
9428 ("ghc-conduit" ,ghc-conduit)
9429 ("ghc-conduit-extra" ,ghc-conduit-extra)
9430 ("ghc-fast-logger" ,ghc-fast-logger)
9431 ("ghc-transformers-base" ,ghc-transformers-base)
9432 ("ghc-monad-control" ,ghc-monad-control)
9433 ("ghc-monad-loops" ,ghc-monad-loops)
9434 ("ghc-mtl" ,ghc-mtl)
9435 ("ghc-blaze-builder" ,ghc-blaze-builder)
9436 ("ghc-exceptions" ,ghc-exceptions)))
9437 (home-page "https://github.com/kazu-yamamoto/logger")
9438 (synopsis "Provides a class of monads which can log messages for Haskell")
9439 (description "This Haskell package uses a monad transformer approach
9440for logging.
9441
9442This package provides Template Haskell functions for determining source
9443code locations of messages.")
9444 (license license:expat)))
9445
9446(define-public ghc-shakespeare
9447 (package
9448 (name "ghc-shakespeare")
9449 (version "2.0.14")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append "https://hackage.haskell.org/package/"
9454 "shakespeare-" version "/"
9455 "shakespeare-" version ".tar.gz"))
9456 (sha256
9457 (base32
9458 "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4"))))
9459 (build-system haskell-build-system)
9460 (inputs `(("ghc-parsec" ,ghc-parsec)
9461 ("ghc-text" ,ghc-text)
9462 ("ghc-aeson" ,ghc-aeson)
9463 ("ghc-blaze-markup" ,ghc-blaze-markup)
9464 ("ghc-blaze-html" ,ghc-blaze-html)
9465 ("ghc-exceptions" ,ghc-exceptions)
9466 ("ghc-vector" ,ghc-vector)
9467 ("ghc-unordered-containers" ,ghc-unordered-containers)
9468 ("ghc-scientific" ,ghc-scientific)))
9469 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9470 ("ghc-hunit" ,ghc-hunit)
9471 ("hspec-discover" ,hspec-discover)))
9472 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9473 (synopsis "Family of type-safe template languages for Haskell")
9474 (description "This Haskell package provides a family of type-safe
9475templates with simple variable interpolation. Shakespeare templates can
9476be used inline with a quasi-quoter or in an external file and it
9477interpolates variables according to the type being inserted.")
9478 (license license:expat)))
9479
9480(define-public ghc-securemem
9481 (package
9482 (name "ghc-securemem")
9483 (version "0.1.9")
9484 (source
9485 (origin
9486 (method url-fetch)
9487 (uri (string-append "https://hackage.haskell.org/package/"
9488 "securemem-" version "/"
9489 "securemem-" version ".tar.gz"))
9490 (sha256
9491 (base32
9492 "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy"))))
9493 (build-system haskell-build-system)
9494 (inputs `(("ghc-byteable" ,ghc-byteable)
9495 ("ghc-memory" ,ghc-memory)))
9496 (home-page "https://github.com/vincenthz/hs-securemem")
9497 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9498Haskell")
9499 (description "SecureMem is similar to ByteString, except that it provides
9500a memory chunk that will be auto-scrubbed after it run out of scope.")
9501 (license license:bsd-3)))
9502
9503(define-public ghc-resource-pool
9504 (package
9505 (name "ghc-resource-pool")
9506 (version "0.2.3.2")
9507 (source
9508 (origin
9509 (method url-fetch)
9510 (uri (string-append "https://hackage.haskell.org/package/"
9511 "resource-pool-" version "/"
9512 "resource-pool-" version ".tar.gz"))
9513 (sha256
9514 (base32
9515 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9516 (build-system haskell-build-system)
9517 (inputs `(("ghc-hashable" ,ghc-hashable)
9518 ("ghc-monad-control" ,ghc-monad-control)
9519 ("ghc-transformers-base" ,ghc-transformers-base)
9520 ("ghc-stm" ,ghc-stm)
9521 ("ghc-vector" ,ghc-vector)))
9522 (home-page "https://github.com/bos/pool")
9523 (synopsis "Striped resource pooling implementation in Haskell")
9524 (description "This Haskell package provides striped pooling abstraction
9525for managing flexibly-sized collections of resources such as database
9526connections.")
9527 (license license:bsd-3)))
9528
9529(define-public ghc-attoparsec-iso8601
9530 (package
9531 (name "ghc-attoparsec-iso8601")
9532 (version "1.0.0.0")
9533 (source
9534 (origin
9535 (method url-fetch)
9536 (uri (string-append "https://hackage.haskell.org/package/"
9537 "attoparsec-iso8601-" version "/"
9538 "attoparsec-iso8601-" version ".tar.gz"))
9539 (sha256
9540 (base32
9541 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
9542 (build-system haskell-build-system)
9543 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9544 ("ghc-base-compat" ,ghc-base-compat)
9545 ("ghc-text" ,ghc-text)))
9546 (home-page "https://github.com/bos/aeson")
9547 (synopsis "Parse ISO 8601 dates")
9548 (description "Haskell library for parsing of ISO 8601 dates, originally
9549from aeson.")
9550 (license license:bsd-3)))
9551
9552(define-public ghc-generics-sop
9553 (package
9554 (name "ghc-generics-sop")
9555 (version "0.3.1.0")
9556 (source
9557 (origin
9558 (method url-fetch)
9559 (uri (string-append "https://hackage.haskell.org/package/"
9560 "generics-sop-" version "/"
9561 "generics-sop-" version ".tar.gz"))
9562 (sha256
9563 (base32
9564 "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
9565 (build-system haskell-build-system)
9566 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9567 (home-page "https://github.com/well-typed/generics-sop")
9568 (synopsis "Generic Programming using True Sums of Products for Haskell")
9569 (description "This Haskell package supports the definition of generic
9570functions. Datatypes are viewed in a uniform, structured way: the choice
9571between constructors is represented using an n-ary sum, and the arguments of
9572each constructor are represented using an n-ary product.")
9573 (license license:bsd-3)))
9574
9575(define-public ghc-uri-bytestring
9576 (package
9577 (name "ghc-uri-bytestring")
9578 (version "0.3.1.0")
9579 (source
9580 (origin
9581 (method url-fetch)
9582 (uri (string-append "https://hackage.haskell.org/package/"
9583 "uri-bytestring-" version "/"
9584 "uri-bytestring-" version ".tar.gz"))
9585 (sha256
9586 (base32
9587 "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9"))))
9588 (build-system haskell-build-system)
9589 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9590 ("ghc-fail" ,ghc-fail)
9591 ("ghc-blaze-builder" ,ghc-blaze-builder)
9592 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
9593 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9594 ("ghc-hunit" ,ghc-hunit)
9595 ("ghc-quickcheck" ,ghc-quickcheck)
9596 ("ghc-tasty" ,ghc-tasty)
9597 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9598 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9599 ("ghc-base-compat" ,ghc-base-compat)
9600 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9601 ("ghc-semigroups" ,ghc-semigroups)
9602 ("ghc-generics-sop" ,ghc-generics-sop)))
9603 (home-page "https://github.com/Soostone/uri-bytestring")
9604 (synopsis "Haskell URI parsing as ByteStrings")
9605 (description "This Haskell package aims to be an RFC3986 compliant URI
9606parser that uses ByteStrings for parsing and representing the URI data.")
9607 (license license:bsd-3)))
9608
9609(define-public ghc-http-api-data
9610 (package
9611 (name "ghc-http-api-data")
9612 (version "0.3.7.1")
9613 (source
9614 (origin
9615 (method url-fetch)
9616 (uri (string-append "https://hackage.haskell.org/package/"
9617 "http-api-data-" version "/"
9618 "http-api-data-" version ".tar.gz"))
9619 (sha256
9620 (base32
9621 "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc"))))
9622 (build-system haskell-build-system)
9623 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
9624 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9625 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
9626 ("ghc-hashable" ,ghc-hashable)
9627 ("ghc-http-types" ,ghc-http-types)
9628 ("ghc-text" ,ghc-text)
9629 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9630 ("ghc-unordered-containers" ,ghc-unordered-containers)
9631 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
9632 ("ghc-uuid-types" ,ghc-uuid-types)))
9633 (home-page "https://github.com/fizruk/http-api-data")
9634 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
9635query parameters")
9636 (description "This Haskell package defines typeclasses used for converting
9637Haskell data types to and from HTTP API data.")
9638 (license license:bsd-3)))
9639
9640(define-public ghc-persistent
9641 (package
9642 (name "ghc-persistent")
9643 (version "2.7.3.1")
9644 (source
9645 (origin
9646 (method url-fetch)
9647 (uri (string-append "https://hackage.haskell.org/package/"
9648 "persistent-" version "/"
9649 "persistent-" version ".tar.gz"))
9650 (sha256
9651 (base32
9652 "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
9653 (build-system haskell-build-system)
9654 (inputs `(("ghc-old-locale" ,ghc-old-locale)
9655 ("ghc-text" ,ghc-text)
9656 ("ghc-conduit" ,ghc-conduit)
9657 ("ghc-resourcet" ,ghc-resourcet)
9658 ("ghc-exceptions" ,ghc-exceptions)
9659 ("ghc-monad-control" ,ghc-monad-control)
9660 ("ghc-lifted-base" ,ghc-lifted-base)
9661 ("ghc-resource-pool" ,ghc-resource-pool)
9662 ("ghc-path-pieces" ,ghc-path-pieces)
9663 ("ghc-http-api-data" ,ghc-http-api-data)
9664 ("ghc-aeson" ,ghc-aeson)
9665 ("ghc-monad-logger" ,ghc-monad-logger)
9666 ("ghc-transformers-base" ,ghc-transformers-base)
9667 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9668 ("ghc-unordered-containers" ,ghc-unordered-containers)
9669 ("ghc-vector" ,ghc-vector)
9670 ("ghc-attoparsec" ,ghc-attoparsec)
9671 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
9672 ("ghc-blaze-html" ,ghc-blaze-html)
9673 ("ghc-blaze-markup" ,ghc-blaze-markup)
9674 ("ghc-silently" ,ghc-silently)
9675 ("ghc-mtl" ,ghc-mtl)
9676 ("ghc-fast-logger" ,ghc-fast-logger)
9677 ("ghc-scientific" ,ghc-scientific)
9678 ("ghc-tagged" ,ghc-tagged)))
9679 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9680 (home-page "https://www.yesodweb.com/book/persistent")
9681 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9682 (description "This Haskell package allows Haskell programs to access data
9683storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9684way.")
9685 (license license:expat)))
9686
9687(define-public ghc-aeson-compat
9688 (package
9689 (name "ghc-aeson-compat")
9690 (version "0.3.7.1")
9691 (source
9692 (origin
9693 (method url-fetch)
9694 (uri (string-append "https://hackage.haskell.org/package/"
9695 "aeson-compat-" version "/"
9696 "aeson-compat-" version ".tar.gz"))
9697 (sha256
9698 (base32
9699 "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r"))))
9700 (build-system haskell-build-system)
9701 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
9702 (inputs `(("ghc-base-compat" ,ghc-base-compat)
9703 ("ghc-aeson" ,ghc-aeson)
9704 ("ghc-attoparsec" ,ghc-attoparsec)
9705 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
9706 ("ghc-exceptions" ,ghc-exceptions)
9707 ("ghc-hashable" ,ghc-hashable)
9708 ("ghc-scientific" ,ghc-scientific)
9709 ("ghc-text" ,ghc-text)
9710 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9711 ("ghc-unordered-containers" ,ghc-unordered-containers)
9712 ("ghc-vector" ,ghc-vector)
9713 ("ghc-tagged" ,ghc-tagged)
9714 ("ghc-semigroups" ,ghc-semigroups)
9715 ("ghc-nats" ,ghc-nats)))
9716 (home-page "https://github.com/phadej/aeson-compat")
9717 (synopsis "Compatibility layer for ghc-aeson")
9718 (description "This Haskell package provides compatibility layer for
9719ghc-aeson.")
9720 (license license:bsd-3)))
9721
9722(define-public ghc-persistent-template
9723 (package
9724 (name "ghc-persistent-template")
9725 (version "2.5.3.1")
9726 (source
9727 (origin
9728 (method url-fetch)
9729 (uri (string-append "https://hackage.haskell.org/package/"
9730 "persistent-template-" version "/"
9731 "persistent-template-" version ".tar.gz"))
9732 (sha256
9733 (base32
9734 "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
9735 (build-system haskell-build-system)
9736 (inputs `(("ghc-persistent" ,ghc-persistent)
9737 ("ghc-monad-control" ,ghc-monad-control)
9738 ("ghc-text" ,ghc-text)
9739 ("ghc-aeson" ,ghc-aeson)
9740 ("ghc-aeson-compat" ,ghc-aeson-compat)
9741 ("ghc-monad-logger" ,ghc-monad-logger)
9742 ("ghc-unordered-containers" ,ghc-unordered-containers)
9743 ("ghc-tagged" ,ghc-tagged)
9744 ("ghc-path-pieces" ,ghc-path-pieces)
9745 ("ghc-http-api-data" ,ghc-http-api-data)))
9746 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9747 ("ghc-quickcheck" ,ghc-quickcheck)))
9748 (home-page "https://www.yesodweb.com/book/persistent")
9749 (synopsis "Type-safe, non-relational, multi-backend persistence")
9750 (description "This Haskell package provides interfaces and helper
9751functions for the ghc-persistent package.")
9752 (license license:expat)))
9753
9754(define-public ghc-unliftio-core
9755 (package
9756 (name "ghc-unliftio-core")
9757 (version "0.1.1.0")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append "https://hackage.haskell.org/package/"
9762 "unliftio-core-" version "/"
9763 "unliftio-core-" version ".tar.gz"))
9764 (sha256
9765 (base32
9766 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
9767 (build-system haskell-build-system)
9768 (home-page
9769 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
9770 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
9771 (description "This Haskell package provides the core @code{MonadUnliftIO}
9772typeclass, instances for base and transformers, and basic utility
9773functions.")
9774 (license license:expat)))
9775
9776(define-public ghc-microlens
9777 (package
9778 (name "ghc-microlens")
9779 (version "0.4.8.3")
9780 (source
9781 (origin
9782 (method url-fetch)
9783 (uri (string-append "https://hackage.haskell.org/package/"
9784 "microlens-" version "/"
9785 "microlens-" version ".tar.gz"))
9786 (sha256
9787 (base32
9788 "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k"))))
9789 (build-system haskell-build-system)
9790 (home-page
9791 "https://github.com/aelve/microlens")
9792 (synopsis "Provides a tiny lens Haskell library with no dependencies")
9793 (description "This Haskell package provides a lens library, just like
9794@code{ghc-lens}, but smaller. It provides essential lenses and
9795traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
9796nice to have (like @code{each}, @code{at}, and @code{ix}), and some
9797combinators (like @code{failing} and @code{singular}), but everything else is
9798stripped. As the result, this package has no dependencies.")
9799 (license license:bsd-3)))
9800
9801(define-public ghc-microlens-th
9802 (package
9803 (name "ghc-microlens-th")
9804 (version "0.4.1.3")
9805 (source
9806 (origin
9807 (method url-fetch)
9808 (uri (string-append "https://hackage.haskell.org/package/"
9809 "microlens-th-" version "/"
9810 "microlens-th-" version ".tar.gz"))
9811 (sha256
9812 (base32
9813 "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f"))))
9814 (build-system haskell-build-system)
9815 (inputs `(("ghc-microlens" ,ghc-microlens)))
9816 (home-page
9817 "https://github.com/aelve/microlens")
9818 (synopsis "Automatic generation of record lenses for
9819@code{ghc-microlens}")
9820 (description "This Haskell package lets you automatically generate lenses
9821for data types; code was extracted from the lens package, and therefore
9822generated lenses are fully compatible with ones generated by lens (and can be
9823used both from lens and microlens).")
9824 (license license:bsd-3)))
9825
9826(define-public ghc-unliftio
9827 (package
9828 (name "ghc-unliftio")
9829 (version "0.2.4.0")
9830 (source
9831 (origin
9832 (method url-fetch)
9833 (uri (string-append
9834 "https://hackage.haskell.org/package/unliftio/unliftio-"
9835 version
9836 ".tar.gz"))
9837 (sha256
9838 (base32
9839 "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z"))))
9840 (build-system haskell-build-system)
9841 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
9842 (inputs
9843 `(("ghc-async" ,ghc-async)
9844 ("ghc-stm" ,ghc-stm)
9845 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9846 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9847 (home-page "https://github.com/fpco/unliftio")
9848 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
9849IO (batteries included)")
9850 (description "This Haskell package provides the core @code{MonadUnliftIO}
9851typeclass, a number of common instances, and a collection of common functions
9852working with it.")
9853 (license license:expat)))
9854
9855(define-public ghc-persistent-sqlite
9856 (package
9857 (name "ghc-persistent-sqlite")
9858 (version "2.6.4")
9859 (source
9860 (origin
9861 (method url-fetch)
9862 (uri (string-append "https://hackage.haskell.org/package/"
9863 "persistent-sqlite-" version "/"
9864 "persistent-sqlite-" version ".tar.gz"))
9865 (sha256
9866 (base32
9867 "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
9868 (build-system haskell-build-system)
9869 (inputs `(("ghc-persistent" ,ghc-persistent)
9870 ("ghc-unliftio-core" ,ghc-unliftio-core)
9871 ("ghc-aeson" ,ghc-aeson)
9872 ("ghc-conduit" ,ghc-conduit)
9873 ("ghc-monad-logger" ,ghc-monad-logger)
9874 ("ghc-microlens-th" ,ghc-microlens-th)
9875 ("ghc-resourcet" ,ghc-resourcet)
9876 ("ghc-old-locale" ,ghc-old-locale)
9877 ("ghc-resource-pool" ,ghc-resource-pool)
9878 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9879 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9880 ("ghc-persistent-template" ,ghc-persistent-template)
9881 ("ghc-temporary" ,ghc-temporary)
9882 ("ghc-text" ,ghc-text)))
9883 (home-page
9884 "https://www.yesodweb.com/book/persistent")
9885 (synopsis "Backend for the persistent library using sqlite3")
9886 (description "This Haskell package includes a thin sqlite3 wrapper based
9887on the direct-sqlite package, as well as the entire C library, so there are no
9888system dependencies.")
9889 (license license:expat)))
9890
9891(define-public ghc-email-validate
9892 (package
9893 (name "ghc-email-validate")
9894 (version "2.3.2.1")
9895 (source
9896 (origin
9897 (method url-fetch)
9898 (uri (string-append
9899 "https://hackage.haskell.org/package/"
9900 "email-validate/email-validate-"
9901 version
9902 ".tar.gz"))
9903 (sha256
9904 (base32
9905 "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav"))))
9906 (build-system haskell-build-system)
9907 (inputs
9908 `(("ghc-attoparsec" ,ghc-attoparsec)
9909 ("ghc-hspec" ,ghc-hspec)
9910 ("ghc-quickcheck" ,ghc-quickcheck)
9911 ("ghc-doctest" ,ghc-doctest)))
9912 (home-page
9913 "https://github.com/Porges/email-validate-hs")
9914 (synopsis "Email address validator for Haskell")
9915 (description
9916 "This Haskell package provides a validator that can validate an email
9917address string against RFC 5322.")
9918 (license license:bsd-3)))
9919
9920(define-public ghc-semigroupoids-5.2.2
9921 (package
9922 (inherit ghc-semigroupoids)
9923 (name "ghc-semigroupoids")
9924 (version "5.2.2")
9925 (source (origin
9926 (method url-fetch)
9927 (uri (string-append "https://hackage.haskell.org/package/"
9928 "semigroupoids-" version "/semigroupoids-"
9929 version ".tar.gz"))
9930 (sha256
9931 (base32
9932 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9933 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9934 ,@(package-inputs ghc-semigroupoids)))))
9935
9936(define-public ghc-bytes
9937 (package
9938 (name "ghc-bytes")
9939 (version "0.15.4")
9940 (source
9941 (origin
9942 (method url-fetch)
9943 (uri
9944 (string-append "https://hackage.haskell.org/package/bytes-"
9945 version "/bytes-"
9946 version ".tar.gz"))
9947 (file-name (string-append name "-" version ".tar.gz"))
9948 (sha256
9949 (base32
9950 "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm"))))
9951 (build-system haskell-build-system)
9952 (inputs `(("ghc-cereal" ,ghc-cereal)
9953 ("cabal-doctest" ,cabal-doctest)
9954 ("ghc-doctest" ,ghc-doctest-0.13)
9955 ("ghc-mtl" ,ghc-mtl)
9956 ("ghc-scientific" ,ghc-scientific)
9957 ("ghc-text" ,ghc-text)
9958 ("ghc-transformers-compat" ,ghc-transformers-compat)
9959 ("ghc-unordered-containers" ,ghc-unordered-containers)
9960 ("ghc-void" ,ghc-void)
9961 ("ghc-vector" ,ghc-vector)))
9962 (synopsis "Serialization between @code{binary} and @code{cereal}")
9963 (description "This package provides a simple compatibility shim that lets
9964you work with both @code{binary} and @code{cereal} with one chunk of
9965serialization code.")
9966 (home-page "https://hackage.haskell.org/package/bytes")
9967 (license license:bsd-3)))
9968
9969(define-public ghc-disk-free-space
9970 (package
9971 (name "ghc-disk-free-space")
9972 (version "0.1.0.1")
9973 (source
9974 (origin
9975 (method url-fetch)
9976 (uri (string-append "https://hackage.haskell.org/package/"
9977 "disk-free-space/disk-free-space-"
9978 version ".tar.gz"))
9979 (sha256
9980 (base32
9981 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
9982 (build-system haskell-build-system)
9983 (home-page "https://github.com/redneb/disk-free-space")
9984 (synopsis "Retrieve information about disk space usage")
9985 (description "A cross-platform library for retrieving information about
9986disk space usage.")
9987 (license license:bsd-3)))
9988
9989(define-public ghc-xdg-basedir
9990 (package
9991 (name "ghc-xdg-basedir")
9992 (version "0.2.2")
9993 (source
9994 (origin
9995 (method url-fetch)
9996 (uri (string-append
9997 "https://hackage.haskell.org/package/xdg-basedir/"
9998 "xdg-basedir-" version ".tar.gz"))
9999 (sha256
10000 (base32
10001 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
10002 (build-system haskell-build-system)
10003 (home-page "http://github.com/willdonnelly/xdg-basedir")
10004 (synopsis "XDG Base Directory library for Haskell")
10005 (description "This package provides a library implementing the XDG Base Directory spec.")
10006 (license license:bsd-3)))
10007
10008(define-public ghc-errorcall-eq-instance
10009 (package
10010 (name "ghc-errorcall-eq-instance")
10011 (version "0.3.0")
10012 (source
10013 (origin
10014 (method url-fetch)
10015 (uri (string-append "https://hackage.haskell.org/package/"
10016 "errorcall-eq-instance/errorcall-eq-instance-"
10017 version ".tar.gz"))
10018 (sha256
10019 (base32
10020 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
10021 (build-system haskell-build-system)
10022 (inputs
10023 `(("ghc-base-orphans" ,ghc-base-orphans)))
10024 (native-inputs
10025 `(("ghc-quickcheck" ,ghc-quickcheck)
10026 ("ghc-hspec" ,ghc-hspec)
10027 ("hspec-discover" ,hspec-discover)))
10028 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
10029 (synopsis "Orphan Eq instance for ErrorCall")
10030 (description
10031 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
10032This package provides an orphan instance.")
10033 (license license:expat)))
10034
10035(define-public ghc-missingh
10036 (package
10037 (name "ghc-missingh")
10038 (version "1.4.0.1")
10039 (source
10040 (origin
10041 (method url-fetch)
10042 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
10043 "MissingH-" version ".tar.gz"))
10044 (sha256
10045 (base32
10046 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
10047 (build-system haskell-build-system)
10048 ;; Tests require the unmaintained testpack package, which depends on the
10049 ;; outdated QuickCheck version 2.7, which can no longer be built with
10050 ;; recent versions of GHC and Haskell libraries.
10051 (arguments '(#:tests? #f))
10052 (inputs
10053 `(("ghc-network" ,ghc-network)
10054 ("ghc-parsec" ,ghc-parsec)
10055 ("ghc-mtl" ,ghc-mtl)
10056 ("ghc-hunit" ,ghc-hunit)
10057 ("ghc-regex-compat" ,ghc-regex-compat)
10058 ("ghc-hslogger" ,ghc-hslogger)
10059 ("ghc-random" ,ghc-random)
10060 ("ghc-old-time" ,ghc-old-time)
10061 ("ghc-old-locale" ,ghc-old-locale)))
10062 (native-inputs
10063 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
10064 ("ghc-quickcheck" ,ghc-quickcheck)
10065 ("ghc-hunit" ,ghc-hunit)))
10066 (home-page "http://software.complete.org/missingh")
10067 (synopsis "Large utility library")
10068 (description
10069 "MissingH is a library of all sorts of utility functions for Haskell
10070programmers. It is written in pure Haskell and thus should be extremely
10071portable and easy to use.")
10072 (license license:bsd-3)))
10073
10074(define-public ghc-intervalmap
10075 (package
10076 (name "ghc-intervalmap")
10077 (version "0.6.0.0")
10078 (source
10079 (origin
10080 (method url-fetch)
10081 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
10082 "IntervalMap-" version ".tar.gz"))
10083 (sha256
10084 (base32
10085 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
10086 (build-system haskell-build-system)
10087 (native-inputs
10088 `(("ghc-quickcheck" ,ghc-quickcheck)))
10089 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
10090 (synopsis "Containers for intervals, with efficient search")
10091 (description
10092 "This package provides ordered containers of intervals, with efficient
10093search for all keys containing a point or overlapping an interval. See the
10094example code on the home page for a quick introduction.")
10095 (license license:bsd-3)))
10096
10097(define-public ghc-operational
10098 (package
10099 (name "ghc-operational")
10100 (version "0.2.3.5")
10101 (source
10102 (origin
10103 (method url-fetch)
10104 (uri (string-append "https://hackage.haskell.org/package/operational/"
10105 "operational-" version ".tar.gz"))
10106 (sha256
10107 (base32
10108 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
10109 (build-system haskell-build-system)
10110 (inputs
10111 `(("ghc-mtl" ,ghc-mtl)
10112 ("ghc-random" ,ghc-random)))
10113 (home-page "http://wiki.haskell.org/Operational")
10114 (synopsis "Implementation of difficult monads made easy with operational semantics")
10115 (description
10116 "This library makes it easy to implement monads with tricky control
10117flow. This is useful for: writing web applications in a sequential style,
10118programming games with a uniform interface for human and AI players and easy
10119replay capababilities, implementing fast parser monads, designing monadic
10120DSLs, etc.")
10121 (license license:bsd-3)))
10122
10123(define-public ghc-gtk2hs-buildtools
10124 (package
10125 (name "ghc-gtk2hs-buildtools")
10126 (version "0.13.4.0")
10127 (source
10128 (origin
10129 (method url-fetch)
10130 (uri (string-append "https://hackage.haskell.org/package/"
10131 "gtk2hs-buildtools/gtk2hs-buildtools-"
10132 version ".tar.gz"))
10133 (sha256
10134 (base32
10135 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
10136 (build-system haskell-build-system)
10137 (inputs
10138 `(("ghc-random" ,ghc-random)
10139 ("ghc-hashtables" ,ghc-hashtables)))
10140 (native-inputs
10141 `(("ghc-alex" ,ghc-alex)
10142 ("ghc-happy" ,ghc-happy)))
10143 (home-page "http://projects.haskell.org/gtk2hs/")
10144 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
10145 (description
10146 "This package provides a set of helper programs necessary to build the
10147Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
10148that is used to generate FFI declarations, a tool to build a type hierarchy
10149that mirrors the C type hierarchy of GObjects found in glib, and a generator
10150for signal declarations that are used to call back from C to Haskell. These
10151tools are not needed to actually run Gtk2Hs programs.")
10152 (license license:gpl2)))
10153
10154(define-public ghc-chart
10155 (package
10156 (name "ghc-chart")
10157 (version "1.8.3")
10158 (source
10159 (origin
10160 (method url-fetch)
10161 (uri (string-append "https://hackage.haskell.org/package/Chart/"
10162 "Chart-" version ".tar.gz"))
10163 (sha256
10164 (base32
10165 "13s64fhb2pmkdmx5bkgbgcn25qjihs364fvr47a1dw25f804kiy1"))))
10166 (build-system haskell-build-system)
10167 (inputs
10168 `(("ghc-old-locale" ,ghc-old-locale)
10169 ("ghc-mtl" ,ghc-mtl)
10170 ("ghc-lens" ,ghc-lens)
10171 ("ghc-colour" ,ghc-colour)
10172 ("ghc-data-default-class" ,ghc-data-default-class)
10173 ("ghc-operational" ,ghc-operational)
10174 ("ghc-vector" ,ghc-vector)))
10175 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10176 (synopsis "Library for generating 2D charts and plots")
10177 (description
10178 "This package provides a library for generating 2D charts and plots, with
10179backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
10180 (license license:bsd-3)))
10181
10182(define-public ghc-wcwidth
10183 (package
10184 (name "ghc-wcwidth")
10185 (version "0.0.2")
10186 (source
10187 (origin
10188 (method url-fetch)
10189 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
10190 version ".tar.gz"))
10191 (sha256
10192 (base32
10193 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
10194 (build-system haskell-build-system)
10195 (inputs
10196 `(("ghc-setlocale" ,ghc-setlocale)
10197 ("ghc-utf8-string" ,ghc-utf8-string)
10198 ("ghc-attoparsec-bootstrap" ,ghc-attoparsec-bootstrap)))
10199 (home-page "https://github.com/solidsnack/wcwidth/")
10200 (synopsis "Haskell bindings to wcwidth")
10201 (description "This package provides Haskell bindings to your system's
10202native wcwidth and a command line tool to examine the widths assigned by it.
10203The command line tool can compile a width table to Haskell code that assigns
10204widths to the Char type.")
10205 (license license:bsd-3)))
10206
10207;;; haskell.scm ends here