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