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