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