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