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