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