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