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