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