gnu: Add r-moonbook.
[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>
ae785e5e 6;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
4a78fd46 7;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
7531b1fc 8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
b90f72dc 9;;; Copyright © 2015, 2016, 2017, 2018 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>
98b90194 13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
78d8b8f3 14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
a9717a52 15;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
e5d92c1c 16;;; Copyright © 2018 Tonton <tonton@riseup.net>
4c798726 17;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
b1a16000 18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
246b3437
FB
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages haskell)
d8e85b20 36 #:use-module (gnu packages)
9587544b 37 #:use-module (gnu packages base)
c0d5b645 38 #:use-module (gnu packages bootstrap)
ac257f12 39 #:use-module (gnu packages check)
3d3613d5 40 #:use-module (gnu packages compression)
246b3437 41 #:use-module (gnu packages elf)
600621a1 42 #:use-module (gnu packages gcc)
246b3437 43 #:use-module (gnu packages ghostscript)
c0d5b645 44 #:use-module (gnu packages gl)
f797a0e9 45 #:use-module (gnu packages graphviz)
a06b9b50 46 #:use-module (gnu packages haskell-check)
f24eba89 47 #:use-module (gnu packages haskell-crypto)
44b7374a 48 #:use-module (gnu packages haskell-web)
c0d5b645 49 #:use-module (gnu packages libffi)
a7101996 50 #:use-module (gnu packages linux)
95e654ae 51 #:use-module (gnu packages lisp)
ac5d633a 52 #:use-module (gnu packages lua)
95595618 53 #:use-module (gnu packages maths)
246b3437
FB
54 #:use-module (gnu packages multiprecision)
55 #:use-module (gnu packages ncurses)
b10f7be3 56 #:use-module (gnu packages pcre)
c0d5b645
DC
57 #:use-module (gnu packages perl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages sdl)
587d1752 61 #:use-module (gnu packages tls)
793bcc19 62 #:use-module (gnu packages xml)
c0d5b645 63 #:use-module (gnu packages xorg)
c0d5b645
DC
64 #:use-module (guix build-system gnu)
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
ee719fba 67 #:use-module (guix git-download)
c0d5b645
DC
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages)
70 #:use-module (guix utils)
8e3149ee
RW
71 #:use-module (ice-9 regex)
72 #:use-module ((srfi srfi-1) #:select (alist-delete)))
246b3437 73
95e654ae
RW
74(define-public cl-yale-haskell
75 (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
76 (revision "1"))
77 (package
78 (name "cl-yale-haskell")
79 (version (string-append "2.0.5-" revision "." (string-take commit 9)))
80 (source (origin
81 (method git-fetch)
82 (uri (git-reference
98b90194 83 (url "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
84 (commit commit)))
85 (file-name (string-append "yale-haskell-" commit "-checkout"))
86 (sha256
87 (base32
88 "0bal3m6ryrjamz5p93bhs9rp5msk8k7lpcqr44wd7xs9b9k8w74g"))))
89 (build-system gnu-build-system)
90 (arguments
91 `(#:tests? #f ; no tests
92 ;; Stripping binaries leads to a broken executable lisp system image.
93 #:strip-binaries? #f
94 #:make-flags
95 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
96 #:phases
97 (modify-phases %standard-phases
98 (replace 'configure
99 (lambda _
100 (setenv "PRELUDE" "./progs/prelude")
101 (setenv "HASKELL_LIBRARY" "./progs/lib")
102 (setenv "PRELUDEBIN" "./progs/prelude/clisp")
103 (setenv "HASKELLPROG" "./bin/clisp-haskell")
104 #t)))))
105 (inputs
106 `(("clisp" ,clisp)))
98b90194 107 (home-page "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
108 (synopsis "Port of the Yale Haskell system to CLISP")
109 (description "This package provides the Yale Haskell system running on
110top of CLISP.")
111 (license license:bsd-4))))
112
5868a8bf 113(define ghc-bootstrap-x86_64-7.8.4
246b3437
FB
114 (origin
115 (method url-fetch)
5868a8bf
FB
116 (uri
117 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
246b3437
FB
118 (sha256
119 (base32
5868a8bf
FB
120 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
121
122(define ghc-bootstrap-i686-7.8.4
123 (origin
124 (method url-fetch)
125 (uri
126 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
127 (sha256
128 (base32
129 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
246b3437
FB
130
131;; 43 tests out of 3965 fail.
132;;
133;; Most of them do not appear to be serious:
134;;
135;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
136;; figured out how these references are generated.
137;;
138;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
139;;
140;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
141;; Data.Vector, Control.Monad.State.
142;;
143;; - Test posix010 tries to check the existence of a user on the system:
144;; getUserEntryForName: does not exist (no such user)
e2dc97d6 145(define-public ghc-7
246b3437
FB
146 (package
147 (name "ghc")
0e03d76a 148 (version "7.10.2")
246b3437
FB
149 (source
150 (origin
151 (method url-fetch)
152 (uri (string-append "https://www.haskell.org/ghc/dist/"
153 version "/" name "-" version "-src.tar.xz"))
154 (sha256
155 (base32
0e03d76a 156 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
246b3437
FB
157 (build-system gnu-build-system)
158 (supported-systems '("i686-linux" "x86_64-linux"))
159 (outputs '("out" "doc"))
160 (inputs
161 `(("gmp" ,gmp)
162 ("ncurses" ,ncurses)
163 ("libffi" ,libffi)
246b3437
FB
164 ("ghc-testsuite"
165 ,(origin
166 (method url-fetch)
167 (uri (string-append
168 "https://www.haskell.org/ghc/dist/"
169 version "/" name "-" version "-testsuite.tar.xz"))
170 (sha256
171 (base32
0e03d76a 172 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
246b3437
FB
173 (native-inputs
174 `(("perl" ,perl)
175 ("python" ,python-2) ; for tests (fails with python-3)
176 ("ghostscript" ,ghostscript) ; for tests
177 ("patchelf" ,patchelf)
178 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
5868a8bf
FB
179 ("ghc-binary"
180 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
181 ghc-bootstrap-x86_64-7.8.4
182 ghc-bootstrap-i686-7.8.4))))
246b3437
FB
183 (arguments
184 `(#:test-target "test"
185 ;; We get a smaller number of test failures by disabling parallel test
186 ;; execution.
187 #:parallel-tests? #f
fb799cb7
LC
188
189 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
190 ;; gremlin) doesn't support it yet, so skip this phase.
191 #:validate-runpath? #f
192
bbd19615
MW
193 ;; Don't pass --build=<triplet>, because the configure script
194 ;; auto-detects slightly different triplets for --host and --target and
195 ;; then complains that they don't match.
196 #:build #f
197
246b3437
FB
198 #:modules ((guix build gnu-build-system)
199 (guix build utils)
200 (guix build rpath)
201 (srfi srfi-26)
202 (srfi srfi-1))
caaf1933 203 #:imported-modules (,@%gnu-build-system-modules
246b3437
FB
204 (guix build rpath))
205 #:configure-flags
206 (list
207 (string-append "--with-gmp-libraries="
208 (assoc-ref %build-inputs "gmp") "/lib")
209 (string-append "--with-gmp-includes="
210 (assoc-ref %build-inputs "gmp") "/include")
211 "--with-system-libffi"
212 (string-append "--with-ffi-libraries="
213 (assoc-ref %build-inputs "libffi") "/lib")
214 (string-append "--with-ffi-includes="
215 (assoc-ref %build-inputs "libffi") "/include"))
216 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
217 ;; Currently we do not have the last one.
218 ;; #:make-flags
219 ;; (list "BUILD_DOCBOOK_HTML = YES")
220 #:phases
221 (let* ((ghc-bootstrap-path
222 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
223 (ghc-bootstrap-prefix
224 (string-append ghc-bootstrap-path "/usr" )))
225 (alist-cons-after
48d21d6c 226 'unpack-bin 'unpack-testsuite-and-fix-bins
246b3437
FB
227 (lambda* (#:key inputs outputs #:allow-other-keys)
228 (with-directory-excursion ".."
229 (copy-file (assoc-ref inputs "ghc-testsuite")
230 "ghc-testsuite.tar.xz")
231 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
246b3437
FB
232 (substitute*
233 (list "testsuite/timeout/Makefile"
234 "testsuite/timeout/timeout.py"
235 "testsuite/timeout/timeout.hs"
236 "testsuite/tests/rename/prog006/Setup.lhs"
48d21d6c
EB
237 "testsuite/tests/programs/life_space_leak/life.test"
238 "libraries/process/System/Process/Internals.hs"
239 "libraries/unix/cbits/execvpe.c")
246b3437
FB
240 (("/bin/sh") (which "sh"))
241 (("/bin/rm") "rm"))
242 #t)
243 (alist-cons-after
244 'unpack 'unpack-bin
245 (lambda* (#:key inputs outputs #:allow-other-keys)
246 (mkdir-p ghc-bootstrap-prefix)
247 (with-directory-excursion ghc-bootstrap-path
248 (copy-file (assoc-ref inputs "ghc-binary")
249 "ghc-bin.tar.xz")
250 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
251 (alist-cons-before
252 'install-bin 'configure-bin
253 (lambda* (#:key inputs outputs #:allow-other-keys)
254 (let* ((binaries
255 (list
256 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
257 "./utils/hpc/dist-install/build/tmp/hpc"
258 "./utils/haddock/dist/build/tmp/haddock"
259 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
260 "./utils/runghc/dist-install/build/tmp/runghc"
261 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
262 "./utils/hp2ps/dist/build/tmp/hp2ps"
263 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
264 "./utils/unlit/dist/build/tmp/unlit"
265 "./ghc/stage2/build/tmp/ghc-stage2"))
266 (gmp (assoc-ref inputs "gmp"))
267 (gmp-lib (string-append gmp "/lib"))
268 (gmp-include (string-append gmp "/include"))
269 (ncurses-lib
270 (string-append (assoc-ref inputs "ncurses") "/lib"))
271 (ld-so (string-append (assoc-ref inputs "libc")
272 ,(glibc-dynamic-linker)))
273 (libtinfo-dir
274 (string-append ghc-bootstrap-prefix
275 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
276 (with-directory-excursion
0e03d76a 277 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
278 (setenv "CONFIG_SHELL" (which "bash"))
279 (setenv "LD_LIBRARY_PATH" gmp-lib)
280 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
281 (for-each
282 (cut system* "patchelf" "--set-interpreter" ld-so <>)
283 binaries)
284 ;; The binaries include a reference to libtinfo.so.5 which
285 ;; is a subset of libncurses.so.5. We create a symlink in a
286 ;; directory included in the bootstrap binaries rpath.
287 (mkdir-p libtinfo-dir)
288 (symlink
289 (string-append ncurses-lib "/libncursesw.so."
74733195
RW
290 ;; Extract "6.0" from "6.0-20170930" if a
291 ;; dash-separated version tag exists.
ae785e5e 292 ,(let* ((v (package-version ncurses))
74733195
RW
293 (d (or (string-index v #\-)
294 (string-length v))))
ae785e5e 295 (version-major+minor (string-take v d))))
246b3437 296 (string-append libtinfo-dir "/libtinfo.so.5"))
ae785e5e 297
246b3437
FB
298 (setenv "PATH"
299 (string-append (getenv "PATH") ":"
300 ghc-bootstrap-prefix "/bin"))
301 (system*
302 (string-append (getcwd) "/configure")
303 (string-append "--prefix=" ghc-bootstrap-prefix)
304 (string-append "--with-gmp-libraries=" gmp-lib)
305 (string-append "--with-gmp-includes=" gmp-include)))))
306 (alist-cons-before
307 'configure 'install-bin
308 (lambda* (#:key inputs outputs #:allow-other-keys)
309 (with-directory-excursion
0e03d76a 310 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
311 (zero? (system* "make" "install"))))
312 %standard-phases)))))))
e17d5133
EB
313 (native-search-paths (list (search-path-specification
314 (variable "GHC_PACKAGE_PATH")
315 (files (list
316 (string-append "lib/ghc-" version)))
317 (file-pattern ".*\\.conf\\.d$")
318 (file-type 'directory))))
246b3437
FB
319 (home-page "https://www.haskell.org/ghc")
320 (synopsis "The Glasgow Haskell Compiler")
7d95c000
FB
321 (description
322 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
323interactive environment for the functional language Haskell.")
324 (license license:bsd-3)))
325
9587544b 326(define-public ghc-8.0
7d95c000
FB
327 (package
328 (name "ghc")
d8e85b20 329 (version "8.0.2")
7d95c000
FB
330 (source
331 (origin
332 (method url-fetch)
333 (uri (string-append "https://www.haskell.org/ghc/dist/"
334 version "/" name "-" version "-src.tar.xz"))
335 (sha256
d8e85b20
FB
336 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
337 (patches
338 (search-patches
f6cccefe
DM
339 "ghc-dont-pass-linker-flags-via-response-files.patch"
340 "ghc-8.0-fall-back-to-madv_dontneed.patch"))))
7d95c000
FB
341 (build-system gnu-build-system)
342 (supported-systems '("i686-linux" "x86_64-linux"))
343 (outputs '("out" "doc"))
344 (inputs
345 `(("gmp" ,gmp)
346 ("ncurses" ,ncurses)
347 ("libffi" ,libffi)
7d95c000
FB
348 ("ghc-testsuite"
349 ,(origin
350 (method url-fetch)
351 (uri (string-append
352 "https://www.haskell.org/ghc/dist/"
353 version "/" name "-" version "-testsuite.tar.xz"))
354 (sha256
d8e85b20 355 (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
7d95c000
FB
356 (native-inputs
357 `(("perl" ,perl)
358 ("python" ,python-2) ; for tests
359 ("ghostscript" ,ghostscript) ; for tests
360 ;; GHC is built with GHC.
e2dc97d6 361 ("ghc-bootstrap" ,ghc-7)))
7d95c000
FB
362 (arguments
363 `(#:test-target "test"
364 ;; We get a smaller number of test failures by disabling parallel test
365 ;; execution.
366 #:parallel-tests? #f
367
368 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
369 ;; gremlin) doesn't support it yet, so skip this phase.
370 #:validate-runpath? #f
371
372 ;; Don't pass --build=<triplet>, because the configure script
373 ;; auto-detects slightly different triplets for --host and --target and
374 ;; then complains that they don't match.
375 #:build #f
376
7d95c000
FB
377 #:configure-flags
378 (list
379 (string-append "--with-gmp-libraries="
380 (assoc-ref %build-inputs "gmp") "/lib")
381 (string-append "--with-gmp-includes="
382 (assoc-ref %build-inputs "gmp") "/include")
383 "--with-system-libffi"
384 (string-append "--with-ffi-libraries="
385 (assoc-ref %build-inputs "libffi") "/lib")
386 (string-append "--with-ffi-includes="
387 (assoc-ref %build-inputs "libffi") "/include")
388 (string-append "--with-curses-libraries="
389 (assoc-ref %build-inputs "ncurses") "/lib")
390 (string-append "--with-curses-includes="
391 (assoc-ref %build-inputs "ncurses") "/include"))
392 #:phases
393 (modify-phases %standard-phases
394 (add-after 'unpack 'unpack-testsuite
395 (lambda* (#:key inputs #:allow-other-keys)
396 (with-directory-excursion ".."
397 (copy-file (assoc-ref inputs "ghc-testsuite")
398 "ghc-testsuite.tar.xz")
399 (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")))))
400 (add-before 'build 'fix-lib-paths
401 (lambda _
402 (substitute*
403 (list "libraries/process/System/Process/Posix.hs"
404 "libraries/process/tests/process001.hs"
405 "libraries/process/tests/process002.hs"
406 "libraries/unix/cbits/execvpe.c")
407 (("/bin/sh") (which "sh"))
408 (("/bin/ls") (which "ls")))
409 #t))
410 (add-before 'build 'fix-environment
411 (lambda _
412 (unsetenv "GHC_PACKAGE_PATH")
413 (setenv "CONFIG_SHELL" (which "bash"))
414 #t))
415 (add-before 'check 'fix-testsuite
416 (lambda _
417 (substitute*
418 (list "testsuite/timeout/Makefile"
419 "testsuite/timeout/timeout.py"
420 "testsuite/timeout/timeout.hs"
421 "testsuite/tests/programs/life_space_leak/life.test")
422 (("/bin/sh") (which "sh"))
423 (("/bin/rm") "rm"))
d8e85b20 424 #t)))))
7d95c000
FB
425 (native-search-paths (list (search-path-specification
426 (variable "GHC_PACKAGE_PATH")
427 (files (list
428 (string-append "lib/ghc-" version)))
429 (file-pattern ".*\\.conf\\.d$")
430 (file-type 'directory))))
431 (home-page "https://www.haskell.org/ghc")
432 (synopsis "The Glasgow Haskell Compiler")
246b3437
FB
433 (description
434 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
435interactive environment for the functional language Haskell.")
3ac73271 436 (license license:bsd-3)))
246b3437 437
9587544b
RW
438(define-public ghc-8
439 (package (inherit ghc-8.0)
440 (name "ghc")
441 (version "8.4.3")
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append "https://www.haskell.org/ghc/dist/"
446 version "/" name "-" version "-src.tar.xz"))
447 (sha256
448 (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf"))))
449 (inputs
450 `(("gmp" ,gmp)
451 ("ncurses" ,ncurses)
452 ("libffi" ,libffi)
453 ("target-binutils" ,binutils)
454 ("target-gcc" ,gcc)
455 ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
456 #:binutils binutils))))
457 (native-inputs
458 `(("perl" ,perl)
459 ("python" ,python) ; for tests
460 ("ghostscript" ,ghostscript) ; for tests
461 ;; GHC 8.4.3 is built with GHC 8.
462 ("ghc-bootstrap" ,ghc-8.0)
463 ("ghc-testsuite"
464 ,(origin
465 (method url-fetch)
466 (uri (string-append
467 "https://www.haskell.org/ghc/dist/"
468 version "/" name "-" version "-testsuite.tar.xz"))
469 (sha256
470 (base32
471 "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz"))))))
472 (arguments
473 `(#:test-target "test"
474 ;; We get a smaller number of test failures by disabling parallel test
475 ;; execution.
476 #:parallel-tests? #f
477
478 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
479 ;; gremlin) doesn't support it yet, so skip this phase.
480 #:validate-runpath? #f
481
482 ;; Don't pass --build=<triplet>, because the configure script
483 ;; auto-detects slightly different triplets for --host and --target and
484 ;; then complains that they don't match.
485 #:build #f
486
487 #:configure-flags
488 (list
489 (string-append "--with-gmp-libraries="
490 (assoc-ref %build-inputs "gmp") "/lib")
491 (string-append "--with-gmp-includes="
492 (assoc-ref %build-inputs "gmp") "/include")
493 "--with-system-libffi"
494 (string-append "--with-ffi-libraries="
495 (assoc-ref %build-inputs "libffi") "/lib")
496 (string-append "--with-ffi-includes="
497 (assoc-ref %build-inputs "libffi") "/include")
498 (string-append "--with-curses-libraries="
499 (assoc-ref %build-inputs "ncurses") "/lib")
500 (string-append "--with-curses-includes="
501 (assoc-ref %build-inputs "ncurses") "/include"))
502 #:phases
503 (modify-phases %standard-phases
504 (add-after 'unpack 'unpack-testsuite
505 (lambda* (#:key inputs #:allow-other-keys)
506 (invoke "tar" "xvf"
507 (assoc-ref inputs "ghc-testsuite")
508 "--strip-components=1")
509 #t))
510 (add-after 'unpack-testsuite 'fix-shell-wrappers
511 (lambda _
512 (substitute* '("driver/ghci/ghc.mk"
513 "utils/mkdirhier/ghc.mk"
514 "rules/shell-wrapper.mk")
515 (("echo '#!/bin/sh'")
516 (format #f "echo '#!~a'" (which "sh"))))
517 #t))
518 ;; This is necessary because the configure system no longer uses
519 ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the
520 ;; plain command names.
521 (add-before 'configure 'set-target-programs
522 (lambda* (#:key inputs #:allow-other-keys)
523 (let ((binutils (assoc-ref inputs "target-binutils"))
524 (gcc (assoc-ref inputs "target-gcc"))
525 (ld-wrapper (assoc-ref inputs "target-ld-wrapper")))
526 (setenv "CC" (string-append gcc "/bin/gcc"))
527 (setenv "CXX" (string-append gcc "/bin/g++"))
528 (setenv "LD" (string-append ld-wrapper "/bin/ld"))
529 (setenv "NM" (string-append binutils "/bin/nm"))
530 (setenv "RANLIB" (string-append binutils "/bin/ranlib"))
531 (setenv "STRIP" (string-append binutils "/bin/strip"))
532 ;; The 'ar' command does not follow the same pattern.
533 (setenv "fp_prog_ar" (string-append binutils "/bin/ar"))
534 #t)))
535 (add-before 'build 'fix-references
536 (lambda _
537 (substitute* '("testsuite/timeout/Makefile"
538 "testsuite/timeout/timeout.py"
539 "testsuite/timeout/timeout.hs"
540 "testsuite/tests/programs/life_space_leak/life.test"
541 ;; libraries
542 "libraries/process/System/Process/Posix.hs"
543 "libraries/process/tests/process001.hs"
544 "libraries/process/tests/process002.hs"
545 "libraries/unix/cbits/execvpe.c")
546 (("/bin/sh") (which "sh"))
547 (("/bin/ls") (which "ls"))
548 (("/bin/rm") "rm"))
549 #t))
550 (add-before 'build 'fix-environment
551 (lambda _
552 (unsetenv "GHC_PACKAGE_PATH")
553 (setenv "CONFIG_SHELL" (which "bash"))
554 #t)))))
555 (native-search-paths (list (search-path-specification
556 (variable "GHC_PACKAGE_PATH")
557 (files (list
558 (string-append "lib/ghc-" version)))
559 (file-pattern ".*\\.conf\\.d$")
560 (file-type 'directory))))))
561
562(define-public ghc ghc-8.0)
e2dc97d6 563
ccd7b308
EB
564(define-public ghc-hostname
565 (package
566 (name "ghc-hostname")
567 (version "1.0")
568 (source
569 (origin
570 (method url-fetch)
612fddec 571 (uri (string-append "https://hackage.haskell.org/package/hostname/"
ccd7b308
EB
572 "hostname-" version ".tar.gz"))
573 (sha256
574 (base32
575 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
576 (build-system haskell-build-system)
577 (home-page "https://hackage.haskell.org/package/hostname")
578 (synopsis "Hostname in Haskell")
579 (description "Network.HostName is a simple package providing a means to
580determine the hostname.")
3ac73271 581 (license license:bsd-3)))
ccd7b308 582
f8362eac
RW
583(define-public ghc-convertible
584 (package
585 (name "ghc-convertible")
586 (version "1.1.1.0")
587 (source
588 (origin
589 (method url-fetch)
590 (uri (string-append "https://hackage.haskell.org/package/convertible/"
591 "convertible-" version ".tar.gz"))
592 (sha256
593 (base32
594 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
595 (build-system haskell-build-system)
596 (inputs
597 `(("ghc-old-time" ,ghc-old-time)
598 ("ghc-old-locale" ,ghc-old-locale)
599 ("ghc-mtl" ,ghc-mtl)
600 ("ghc-text" ,ghc-text)))
601 (home-page "https://hackage.haskell.org/package/convertible")
602 (synopsis "Typeclasses and instances for converting between types")
603 (description
604 "This package provides a typeclass with a single function that is
605designed to help convert between different types: numeric values, dates and
606times, and the like. The conversions perform bounds checking and return a
607pure @code{Either} value. This means that you need not remember which specific
608function performs the conversion you desire.")
609 (license license:bsd-3)))
610
de866854
RW
611(define-public ghc-double-conversion
612 (package
613 (name "ghc-double-conversion")
614 (version "2.0.2.0")
615 (source
616 (origin
617 (method url-fetch)
618 (uri (string-append "https://hackage.haskell.org/package/"
619 "double-conversion/double-conversion-"
620 version ".tar.gz"))
621 (sha256
622 (base32
623 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
624 (build-system haskell-build-system)
625 (inputs `(("ghc-text" ,ghc-text)))
626 (native-inputs
627 `(("ghc-hunit" ,ghc-hunit)
628 ("ghc-test-framework" ,ghc-test-framework)
629 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
630 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
631 (home-page "https://github.com/bos/double-conversion")
632 (synopsis "Fast conversion between double precision floating point and text")
633 (description
634 "This package provides a library that performs fast, accurate conversion
635between double precision floating point and text.")
636 (license license:bsd-3)))
637
1472ba25
EB
638(define-public ghc-libxml
639 (package
640 (name "ghc-libxml")
641 (version "0.1.1")
642 (source
643 (origin
644 (method url-fetch)
98b90194 645 (uri (string-append "https://hackage.haskell.org/package/libxml/"
1472ba25
EB
646 "libxml-" version ".tar.gz"))
647 (sha256
648 (base32
649 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
650 (build-system haskell-build-system)
651 (inputs
652 `(("ghc-mtl" ,ghc-mtl)
653 ("libxml2" ,libxml2)))
654 (arguments
655 `(#:configure-flags
656 `(,(string-append "--extra-include-dirs="
657 (assoc-ref %build-inputs "libxml2")
658 "/include/libxml2"))))
98b90194 659 (home-page "https://hackage.haskell.org/package/libxml")
1472ba25
EB
660 (synopsis "Haskell bindings to libxml2")
661 (description
662 "This library provides minimal Haskell binding to libxml2.")
3ac73271 663 (license license:bsd-3)))
1472ba25 664
1e473fb8
PW
665(define-public ghc-prelude-extras
666 (package
667 (name "ghc-prelude-extras")
29466a9b 668 (version "0.4.0.3")
1e473fb8
PW
669 (source
670 (origin
671 (method url-fetch)
672 (uri (string-append
612fddec 673 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
1e473fb8
PW
674 version
675 ".tar.gz"))
676 (sha256
677 (base32
29466a9b 678 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
1e473fb8 679 (build-system haskell-build-system)
612fddec 680 (home-page "https://github.com/ekmett/prelude-extras")
1e473fb8
PW
681 (synopsis "Higher order versions of Prelude classes")
682 (description "This library provides higher order versions of
683@code{Prelude} classes to ease programming with polymorphic recursion and
684reduce @code{UndecidableInstances}.")
3ac73271 685 (license license:bsd-3)))
1e473fb8 686
1c77d0ca
SB
687(define-public ghc-data-default
688 (package
689 (name "ghc-data-default")
f9cb5105 690 (version "0.7.1.1")
1c77d0ca
SB
691 (source
692 (origin
693 (method url-fetch)
694 (uri (string-append
612fddec 695 "https://hackage.haskell.org/package/data-default/data-default-"
1c77d0ca
SB
696 version
697 ".tar.gz"))
698 (sha256
f9cb5105 699 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
1c77d0ca 700 (build-system haskell-build-system)
2d47cee2 701 (inputs
1c77d0ca
SB
702 `(("ghc-data-default-class"
703 ,ghc-data-default-class)
704 ("ghc-data-default-instances-base"
705 ,ghc-data-default-instances-base)
706 ("ghc-data-default-instances-containers"
707 ,ghc-data-default-instances-containers)
708 ("ghc-data-default-instances-dlist"
709 ,ghc-data-default-instances-dlist)
710 ("ghc-data-default-instances-old-locale"
711 ,ghc-data-default-instances-old-locale)))
612fddec 712 (home-page "https://hackage.haskell.org/package/data-default")
1c77d0ca
SB
713 (synopsis "Types with default values")
714 (description
715 "This package defines a class for types with a default value, and
716provides instances for types from the base, containers, dlist and old-locale
717packages.")
3ac73271 718 (license license:bsd-3)))
1c77d0ca 719
5079a0af
SB
720(define-public ghc-data-default-class
721 (package
722 (name "ghc-data-default-class")
f378ea16 723 (version "0.1.2.0")
5079a0af
SB
724 (source
725 (origin
726 (method url-fetch)
727 (uri (string-append
612fddec 728 "https://hackage.haskell.org/package/data-default-class/"
5079a0af
SB
729 "data-default-class-" version ".tar.gz"))
730 (sha256
f378ea16 731 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
5079a0af 732 (build-system haskell-build-system)
612fddec 733 (home-page "https://hackage.haskell.org/package/data-default-class")
5079a0af
SB
734 (synopsis "Types with default values")
735 (description
736 "This package defines a class for types with default values.")
3ac73271 737 (license license:bsd-3)))
5079a0af 738
9deb95aa
SB
739(define-public ghc-data-default-instances-base
740 (package
741 (name "ghc-data-default-instances-base")
64a6954b 742 (version "0.1.0.1")
9deb95aa
SB
743 (source
744 (origin
745 (method url-fetch)
746 (uri (string-append
612fddec 747 "https://hackage.haskell.org/package/"
9deb95aa
SB
748 "data-default-instances-base/"
749 "data-default-instances-base-" version ".tar.gz"))
750 (sha256
64a6954b 751 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
9deb95aa 752 (build-system haskell-build-system)
2d47cee2 753 (inputs
9deb95aa 754 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 755 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
9deb95aa
SB
756 (synopsis "Default instances for types in base")
757 (description
758 "This package provides default instances for types from the base
759package.")
3ac73271 760 (license license:bsd-3)))
9deb95aa 761
77a23be2
SB
762(define-public ghc-data-default-instances-containers
763 (package
764 (name "ghc-data-default-instances-containers")
765 (version "0.0.1")
766 (source
767 (origin
768 (method url-fetch)
769 (uri (string-append
612fddec 770 "https://hackage.haskell.org/package/"
77a23be2
SB
771 "data-default-instances-containers/"
772 "data-default-instances-containers-" version ".tar.gz"))
773 (sha256
774 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
775 (build-system haskell-build-system)
2d47cee2 776 (inputs
77a23be2 777 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 778 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
77a23be2
SB
779 (synopsis "Default instances for types in containers")
780 (description "Provides default instances for types from the containers
781package.")
3ac73271 782 (license license:bsd-3)))
77a23be2 783
4271d134
SB
784(define-public ghc-data-default-instances-dlist
785 (package
786 (name "ghc-data-default-instances-dlist")
787 (version "0.0.1")
788 (source
789 (origin
790 (method url-fetch)
791 (uri (string-append
612fddec 792 "https://hackage.haskell.org/package/"
4271d134
SB
793 "data-default-instances-dlist/"
794 "data-default-instances-dlist-" version ".tar.gz"))
795 (sha256
796 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
797 (build-system haskell-build-system)
2d47cee2 798 (inputs
4271d134
SB
799 `(("ghc-data-default-class" ,ghc-data-default-class)
800 ("ghc-dlist" ,ghc-dlist)))
612fddec 801 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
4271d134
SB
802 (synopsis "Default instances for types in dlist")
803 (description "Provides default instances for types from the dlist
804package.")
3ac73271 805 (license license:bsd-3)))
4271d134 806
df7309fc
PM
807(define-public ghc-code-page
808 (package
809 (name "ghc-code-page")
810 (version "0.1.3")
811 (source
812 (origin
813 (method url-fetch)
814 (uri (string-append
815 "https://hackage.haskell.org/package/code-page/code-page-"
816 version ".tar.gz"))
817 (sha256
818 (base32
819 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
820 (build-system haskell-build-system)
821 (home-page "https://github.com/RyanGlScott/code-page")
822 (synopsis "Windows code page library for Haskell")
823 (description "A cross-platform library with functions for adjusting
824code pages on Windows. On all other operating systems, the library does
825nothing.")
826 (license license:bsd-3)))
827
56b3bc56 828(define-public ghc-haddock-library
eb6ae860 829 (package
56b3bc56 830 (name "ghc-haddock-library")
354902e4 831 (version "1.4.3")
eb6ae860
SB
832 (source
833 (origin
834 (method url-fetch)
835 (uri (string-append
612fddec 836 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
eb6ae860
SB
837 version
838 ".tar.gz"))
839 (sha256
56b3bc56 840 (base32
354902e4 841 "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p"))))
eb6ae860 842 (build-system haskell-build-system)
56b3bc56 843 (inputs
354902e4
RW
844 `(("ghc-base-compat" ,ghc-base-compat)))
845 (native-inputs
846 `(("hspec-discover" ,hspec-discover)
56b3bc56
PW
847 ("ghc-hspec" ,ghc-hspec)
848 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 849 (home-page "https://www.haskell.org/haddock/")
354902e4 850 (synopsis "Library exposing some functionality of Haddock")
eb6ae860 851 (description
56b3bc56
PW
852 "Haddock is a documentation-generation tool for Haskell libraries. These
853modules expose some functionality of it without pulling in the GHC dependency.
854Please note that the API is likely to change so specify upper bounds in your
855project if you can't release often. For interacting with Haddock itself, see
856the ‘haddock’ package.")
3ac73271 857 (license license:bsd-3)))
eb6ae860 858
735bd9c9 859(define-public ghc-haddock-api
05b964ae 860 (package
735bd9c9 861 (name "ghc-haddock-api")
a559c26c
RW
862 ;; This is the last version to be supported by Cabal < 2.0
863 (version "2.17.4")
05b964ae
SB
864 (source
865 (origin
866 (method url-fetch)
735bd9c9 867 (uri (string-append
612fddec 868 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
735bd9c9
PW
869 version
870 ".tar.gz"))
05b964ae 871 (sha256
735bd9c9 872 (base32
a559c26c 873 "00fn6pzgg8xjbaw12d76jdqh2dbc5xy7miyz0x6kidvvar7i35ss"))))
05b964ae 874 (build-system haskell-build-system)
2d47cee2 875 (inputs
735bd9c9
PW
876 `(("ghc-paths" ,ghc-paths)
877 ("ghc-haddock-library" ,ghc-haddock-library)))
a559c26c
RW
878 (native-inputs
879 `(("ghc-quickcheck" ,ghc-quickcheck)
880 ("ghc-hspec" ,ghc-hspec)
881 ("hspec-discover" ,hspec-discover)))
98b90194 882 (home-page "https://www.haskell.org/haddock/")
735bd9c9
PW
883 (synopsis "API for documentation-generation tool Haddock")
884 (description "This package provides an API to Haddock, the
885documentation-generation tool for Haskell libraries.")
3ac73271 886 (license license:bsd-3)))
05b964ae 887
35182fa2
RW
888(define-public ghc-haddock-test
889 (package
890 (name "ghc-haddock-test")
891 (version "0.0.1")
892 (source
893 (origin
894 (method url-fetch)
895 (uri (string-append "https://hackage.haskell.org/package/"
896 "haddock-test/haddock-test-"
897 version ".tar.gz"))
898 (sha256
899 (base32
900 "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
901 (build-system haskell-build-system)
902 (inputs
903 `(("ghc-xml" ,ghc-xml)
904 ("ghc-syb" ,ghc-syb)))
905 (home-page "http://www.haskell.org/haddock/")
906 (synopsis "Test utilities for Haddock")
907 (description "This package provides test utilities for Haddock.")
908 (license license:bsd-3)))
909
e0492a8d 910(define-public ghc-haddock
7d5baa30 911 (package
e0492a8d 912 (name "ghc-haddock")
613845d0 913 (version "2.17.4")
7d5baa30
FB
914 (source
915 (origin
916 (method url-fetch)
917 (uri (string-append
612fddec 918 "https://hackage.haskell.org/package/haddock/haddock-"
7d5baa30
FB
919 version
920 ".tar.gz"))
921 (sha256
922 (base32
613845d0 923 "1z3h3v7w84dzsm47iavdppc2w899mr4c1agq9fzghgz902i0a655"))))
7d5baa30 924 (build-system haskell-build-system)
613845d0
RW
925 ;; FIXME: Tests fail with this error:
926 ;; driver-test/Main.hs:4:1: error:
927 ;; Failed to load interface for ‘ResponseFileSpec’
928 (arguments `(#:tests? #f))
e0492a8d 929 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
613845d0
RW
930 (native-inputs
931 `(("ghc-hspec" ,ghc-hspec)
932 ("ghc-haddock-test" ,ghc-haddock-test)))
98b90194 933 (home-page "https://www.haskell.org/haddock/")
7d5baa30 934 (synopsis
e0492a8d 935 "Documentation-generation tool for Haskell libraries")
7d5baa30 936 (description
e0492a8d 937 "Haddock is a documentation-generation tool for Haskell libraries.")
3ac73271 938 (license license:bsd-3)))
7d5baa30 939
6729152d 940(define-public ghc-simple-reflect
0939da6e 941 (package
6729152d
PW
942 (name "ghc-simple-reflect")
943 (version "0.3.2")
0939da6e
FB
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append
612fddec 948 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
0939da6e
FB
949 version
950 ".tar.gz"))
951 (sha256
952 (base32
6729152d 953 "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"))))
0939da6e 954 (build-system haskell-build-system)
6729152d 955 (home-page
98b90194 956 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
0939da6e 957 (synopsis
6729152d 958 "Simple reflection of expressions containing variables")
0939da6e 959 (description
6729152d
PW
960 "This package allows simple reflection of expressions containing
961variables. Reflection here means that a Haskell expression is turned into a
962string. The primary aim of this package is teaching and understanding; there
963are no options for manipulating the reflected expressions beyond showing
964them.")
3ac73271 965 (license license:bsd-3)))
0939da6e 966
e0d17b84 967(define-public ghc-haskell-src
3d3613d5 968 (package
e0d17b84
PW
969 (name "ghc-haskell-src")
970 (version "1.0.2.0")
3d3613d5
FB
971 (source
972 (origin
973 (method url-fetch)
974 (uri (string-append
612fddec 975 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
3d3613d5
FB
976 version
977 ".tar.gz"))
978 (sha256
979 (base32
e0d17b84 980 "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a"))))
3d3613d5 981 (build-system haskell-build-system)
e0d17b84
PW
982 (inputs
983 `(("ghc-happy" ,ghc-happy)
984 ("ghc-syb" ,ghc-syb)))
985 (home-page
612fddec 986 "https://hackage.haskell.org/package/haskell-src")
3d3613d5 987 (synopsis
e0d17b84 988 "Support for manipulating Haskell source code")
3d3613d5 989 (description
e0d17b84
PW
990 "The 'haskell-src' package provides support for manipulating Haskell
991source code. The package provides a lexer, parser and pretty-printer, and a
992definition of a Haskell abstract syntax tree (AST). Common uses of this
993package are to parse or generate Haskell 98 code.")
3ac73271 994 (license license:bsd-3)))
3d3613d5 995
e40b2543 996(define-public ghc-alex
a39f3936 997 (package
e40b2543 998 (name "ghc-alex")
8301d739 999 (version "3.2.3")
a39f3936
FB
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
612fddec 1004 "https://hackage.haskell.org/package/alex/alex-"
a39f3936
FB
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
8301d739 1009 "0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs"))))
a39f3936 1010 (build-system haskell-build-system)
e40b2543 1011 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 1012 (home-page "https://www.haskell.org/alex/")
e40b2543
PW
1013 (synopsis
1014 "Tool for generating lexical analysers in Haskell")
a39f3936 1015 (description
e40b2543
PW
1016 "Alex is a tool for generating lexical analysers in Haskell. It takes a
1017description of tokens based on regular expressions and generates a Haskell
1018module containing code for scanning text efficiently. It is similar to the
1019tool lex or flex for C/C++.")
3ac73271 1020 (license license:bsd-3)))
a39f3936 1021
1f477b59 1022(define-public ghc-cgi
e916e211 1023 (package
1f477b59 1024 (name "ghc-cgi")
22b439db 1025 (version "3001.3.0.2")
e916e211
FB
1026 (source
1027 (origin
1028 (method url-fetch)
1029 (uri (string-append
612fddec 1030 "https://hackage.haskell.org/package/cgi/cgi-"
e916e211
FB
1031 version
1032 ".tar.gz"))
1033 (sha256
1034 (base32
22b439db 1035 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
e916e211 1036 (build-system haskell-build-system)
22b439db
RW
1037 (arguments
1038 `(#:configure-flags (list "--allow-newer=QuickCheck")))
1f477b59
PW
1039 (inputs
1040 `(("ghc-parsec" ,ghc-parsec)
1f477b59
PW
1041 ("ghc-exceptions" ,ghc-exceptions)
1042 ("ghc-multipart" ,ghc-multipart)
1043 ("ghc-network-uri" ,ghc-network-uri)
1044 ("ghc-network" ,ghc-network)
1045 ("ghc-mtl" ,ghc-mtl)))
22b439db
RW
1046 (native-inputs
1047 `(("ghc-doctest" ,ghc-doctest)
1048 ("ghc-quickcheck" ,ghc-quickcheck)))
1f477b59
PW
1049 (home-page
1050 "https://github.com/cheecheeo/haskell-cgi")
1051 (synopsis "Library for writing CGI programs")
e916e211 1052 (description
1f477b59 1053 "This is a Haskell library for writing CGI programs.")
3ac73271 1054 (license license:bsd-3)))
e916e211 1055
0ba56364 1056(define-public ghc-cmdargs
deb36de0 1057 (package
0ba56364 1058 (name "ghc-cmdargs")
bfd2ebda 1059 (version "0.10.18")
deb36de0
FB
1060 (source
1061 (origin
1062 (method url-fetch)
1063 (uri (string-append
612fddec 1064 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
bfd2ebda 1065 version ".tar.gz"))
deb36de0
FB
1066 (sha256
1067 (base32
bfd2ebda 1068 "1lnmcsf6p9yrwwz1zvrw5lbc32xpff7b70yz4ylawaflnlz6wrlh"))))
deb36de0 1069 (build-system haskell-build-system)
0ba56364
PW
1070 (home-page
1071 "http://community.haskell.org/~ndm/cmdargs/")
1072 (synopsis "Command line argument processing")
deb36de0 1073 (description
0ba56364 1074 "This library provides an easy way to define command line parsers.")
3ac73271 1075 (license license:bsd-3)))
deb36de0 1076
839415ec
LC
1077(define-public ghc-concatenative
1078 (package
1079 (name "ghc-concatenative")
1080 (version "1.0.1")
1081 (source (origin
1082 (method url-fetch)
1083 (uri (string-append
612fddec 1084 "https://hackage.haskell.org/package/concatenative/concatenative-"
839415ec
LC
1085 version ".tar.gz"))
1086 (sha256
1087 (base32
1088 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1089 (build-system haskell-build-system)
1090 (home-page
1091 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1092 (synopsis "Library for postfix control flow")
1093 (description
1094 "Concatenative gives Haskell Factor-style combinators and arrows for
1095postfix notation. For more information on stack based languages, see
98b90194 1096@uref{https://concatenative.org}.")
839415ec
LC
1097 (license license:bsd-3)))
1098
81da1a45 1099(define-public ghc-happy
775be802 1100 (package
81da1a45 1101 (name "ghc-happy")
ead48d05 1102 (version "1.19.8")
775be802
FB
1103 (source
1104 (origin
1105 (method url-fetch)
1106 (uri (string-append
612fddec 1107 "https://hackage.haskell.org/package/happy/happy-"
775be802
FB
1108 version
1109 ".tar.gz"))
1110 (sha256
1111 (base32
ead48d05 1112 "186ky3bly0i3cc56qk3r7j7pxh2108aackq4n2lli7jmbnb3kxsd"))))
775be802 1113 (build-system haskell-build-system)
2d47cee2 1114 (inputs
81da1a45
PW
1115 `(("ghc-mtl" ,ghc-mtl)))
1116 (home-page "https://hackage.haskell.org/package/happy")
1117 (synopsis "Parser generator for Haskell")
1118 (description "Happy is a parser generator for Haskell. Given a grammar
1119specification in BNF, Happy generates Haskell code to parse the grammar.
1120Happy works in a similar way to the yacc tool for C.")
3ac73271 1121 (license license:bsd-3)))
775be802 1122
b9a64a36
RW
1123(define-public ghc-haskell-lexer
1124 (package
1125 (name "ghc-haskell-lexer")
1126 (version "1.0.1")
1127 (source
1128 (origin
1129 (method url-fetch)
1130 (uri (string-append
1131 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
1132 version ".tar.gz"))
1133 (sha256
1134 (base32
1135 "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
1136 (build-system haskell-build-system)
1137 (home-page "http://hackage.haskell.org/package/haskell-lexer")
1138 (synopsis "Fully compliant Haskell 98 lexer")
1139 (description
1140 "This package provides a fully compliant Haskell 98 lexer.")
1141 (license license:bsd-3)))
1142
f30b7538
RW
1143(define-public ghc-pretty-show
1144 (package
1145 (name "ghc-pretty-show")
1146 (version "1.6.12")
1147 (source
1148 (origin
1149 (method url-fetch)
1150 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1151 "pretty-show-" version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "1fblcxw4z4ry14brin1mvwccs6hqqlhi7xhwv1f23szjq25cjacn"))))
1155 (build-system haskell-build-system)
1156 (inputs
1157 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
1158 ("ghc-happy" ,ghc-happy)))
1159 (home-page "http://wiki.github.com/yav/pretty-show")
1160 (synopsis "Tools for working with derived `Show` instances")
1161 (description
1162 "This package provides a library and an executable for working with
1163derived @code{Show} instances. By using the library, derived @code{Show}
1164instances can be parsed into a generic data structure. The @code{ppsh} tool
1165uses the library to produce human-readable versions of @code{Show} instances,
1166which can be quite handy for debugging Haskell programs. We can also render
1167complex generic values into an interactive Html page, for easier
1168examination.")
1169 (license license:expat)))
1170
e0ba59a9
RW
1171(define-public ghc-pretty-show-for-haskell-src-exts
1172 (package (inherit ghc-pretty-show)
1173 (name "ghc-pretty-show")
1174 (version "1.6.10")
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1179 "pretty-show-" version ".tar.gz"))
1180 (sha256
1181 (base32
1182 "133s4l1gk46saf6ycm785rswycy8g3j0qqrv93b5wp8cp50kd0ww"))))))
1183
6ff19687 1184(define-public ghc-haskell-src-exts
c3b90c0e 1185 (package
6ff19687 1186 (name "ghc-haskell-src-exts")
f707b243 1187 (version "1.20.1")
c3b90c0e
FB
1188 (source
1189 (origin
1190 (method url-fetch)
1191 (uri (string-append
612fddec 1192 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
c3b90c0e
FB
1193 version
1194 ".tar.gz"))
1195 (sha256
1196 (base32
f707b243 1197 "1jsjl9hja2dpcfq4mzlfpwyr6axwnwgacfb7aa070kz4lbygzaa8"))))
c3b90c0e 1198 (build-system haskell-build-system)
2d47cee2 1199 (inputs
6ff19687 1200 `(("cpphs" ,cpphs)
6ff19687 1201 ("ghc-happy" ,ghc-happy)
f707b243
RW
1202 ("ghc-mtl" ,ghc-mtl)
1203 ("ghc-pretty-show" ,ghc-pretty-show-for-haskell-src-exts)))
172bb3b8
RW
1204 (native-inputs
1205 `(("ghc-smallcheck" ,ghc-smallcheck)
1206 ("ghc-tasty" ,ghc-tasty)
1207 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
1208 ("ghc-tasty-golden" ,ghc-tasty-golden)))
6ff19687
PW
1209 (home-page "https://github.com/haskell-suite/haskell-src-exts")
1210 (synopsis "Library for manipulating Haskell source")
1211 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
1212extension of the standard @code{haskell-src} package, and handles most
1213registered syntactic extensions to Haskell. All extensions implemented in GHC
1214are supported. Apart from these standard extensions, it also handles regular
1215patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
3ac73271 1216 (license license:bsd-3)))
c3b90c0e 1217
3657bd1f
RW
1218(define-public ghc-haskell-src-exts-util
1219 (package
1220 (name "ghc-haskell-src-exts-util")
1221 (version "0.2.2")
1222 (source
1223 (origin
1224 (method url-fetch)
1225 (uri (string-append "https://hackage.haskell.org/package/"
1226 "haskell-src-exts-util/haskell-src-exts-util-"
1227 version ".tar.gz"))
1228 (sha256
1229 (base32
1230 "14rhwcrdz3kfb69c64qn8kybl7wnpajrjlfz5p95ca4bva4mwclg"))))
1231 (build-system haskell-build-system)
1232 (inputs
1233 `(("ghc-data-default" ,ghc-data-default)
1234 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1235 ("ghc-semigroups" ,ghc-semigroups)
1236 ("ghc-uniplate" ,ghc-uniplate)))
1237 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
1238 (synopsis "Helper functions for working with haskell-src-exts trees")
1239 (description
1240 "This package provides helper functions for working with
1241@code{haskell-src-exts} trees.")
1242 (license license:bsd-3)))
1243
b28f0ffa
RW
1244(define-public ghc-refact
1245 (package
1246 (name "ghc-refact")
1247 (version "0.3.0.2")
1248 (source
1249 (origin
1250 (method url-fetch)
1251 (uri (string-append "https://hackage.haskell.org/package/"
1252 "refact/refact-"
1253 version ".tar.gz"))
1254 (sha256
1255 (base32
1256 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
1257 (build-system haskell-build-system)
1258 (home-page "http://hackage.haskell.org/package/refact")
1259 (synopsis "Specify refactorings to perform with apply-refact")
1260 (description
1261 "This library provides a datatype which can be interpreted by
add928d3 1262@code{apply-refact}. It exists as a separate library so that applications can
b28f0ffa
RW
1263specify refactorings without depending on GHC.")
1264 (license license:bsd-3)))
1265
6397aef0 1266(define-public hlint
df596b94 1267 (package
6397aef0 1268 (name "hlint")
5b367a1a 1269 (version "2.1.1")
df596b94
FB
1270 (source
1271 (origin
1272 (method url-fetch)
1273 (uri (string-append
612fddec 1274 "https://hackage.haskell.org/package/" name
6397aef0 1275 "/" name "-" version ".tar.gz"))
df596b94 1276 (sha256
6397aef0 1277 (base32
5b367a1a 1278 "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4"))))
df596b94 1279 (build-system haskell-build-system)
6397aef0
PW
1280 (inputs
1281 `(("cpphs" ,cpphs)
780185cc
RW
1282 ("ghc-unordered-containers" ,ghc-unordered-containers)
1283 ("ghc-yaml" ,ghc-yaml)
1284 ("ghc-vector" ,ghc-vector)
1285 ("ghc-text" ,ghc-text)
1286 ("ghc-data-default" ,ghc-data-default)
6397aef0
PW
1287 ("ghc-cmdargs" ,ghc-cmdargs)
1288 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
780185cc 1289 ("ghc-haskell-src-exts-util" ,ghc-haskell-src-exts-util)
6397aef0
PW
1290 ("ghc-uniplate" ,ghc-uniplate)
1291 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1292 ("ghc-extra" ,ghc-extra)
780185cc
RW
1293 ("ghc-refact" ,ghc-refact)
1294 ("ghc-aeson" ,ghc-aeson)
6397aef0
PW
1295 ("hscolour" ,hscolour)))
1296 (home-page "http://community.haskell.org/~ndm/hlint/")
1297 (synopsis "Suggest improvements for Haskell source code")
1298 (description "HLint reads Haskell programs and suggests changes that
1299hopefully make them easier to read. HLint also makes it easy to disable
1300unwanted suggestions, and to add your own custom suggestions.")
3ac73271 1301 (license license:bsd-3)))
4af803a7 1302
85b2a2f5 1303(define-public ghc-resourcet
4af803a7 1304 (package
85b2a2f5 1305 (name "ghc-resourcet")
990cd5ef 1306 (version "1.2.1")
4af803a7
FB
1307 (source
1308 (origin
1309 (method url-fetch)
990cd5ef
RW
1310 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
1311 "resourcet-" version ".tar.gz"))
4af803a7
FB
1312 (sha256
1313 (base32
990cd5ef 1314 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
4af803a7 1315 (build-system haskell-build-system)
2d47cee2 1316 (inputs
85b2a2f5
PW
1317 `(("ghc-transformers-base" ,ghc-transformers-base)
1318 ("ghc-monad-control" ,ghc-monad-control)
1319 ("ghc-transformers-compat" ,ghc-transformers-compat)
1320 ("ghc-mtl" ,ghc-mtl)
1321 ("ghc-mmorph" ,ghc-mmorph)
990cd5ef
RW
1322 ("ghc-exceptions" ,ghc-exceptions)
1323 ("ghc-unliftio-core" ,ghc-unliftio-core)))
2d47cee2 1324 (native-inputs
85b2a2f5
PW
1325 `(("ghc-lifted-base" ,ghc-lifted-base)
1326 ("ghc-hspec" ,ghc-hspec)))
612fddec 1327 (home-page "https://github.com/snoyberg/conduit")
85b2a2f5
PW
1328 (synopsis "Deterministic allocation and freeing of scarce resources")
1329 (description "ResourceT is a monad transformer which creates a region of
1330code where you can safely allocate resources.")
3ac73271 1331 (license license:bsd-3)))
4af803a7 1332
74fa80ee 1333(define-public ghc-objectname
dc0ae39a 1334 (package
74fa80ee 1335 (name "ghc-objectname")
1d9d3ec2 1336 (version "1.1.0.1")
dc0ae39a
FB
1337 (source
1338 (origin
1339 (method url-fetch)
1340 (uri (string-append
612fddec 1341 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
dc0ae39a
FB
1342 version
1343 ".tar.gz"))
1344 (sha256
1345 (base32
1d9d3ec2 1346 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
dc0ae39a 1347 (build-system haskell-build-system)
74fa80ee
PW
1348 (home-page "https://hackage.haskell.org/package/ObjectName")
1349 (synopsis "Helper library for Haskell OpenGL")
1350 (description "This tiny package contains the class ObjectName, which
1351corresponds to the general notion of explicitly handled identifiers for API
1352objects, e.g. a texture object name in OpenGL or a buffer object name in
1353OpenAL.")
3ac73271 1354 (license license:bsd-3)))
dc0ae39a 1355
b784e8c5 1356(define-public ghc-sdl
7a1e8c74 1357 (package
b784e8c5
PW
1358 (name "ghc-sdl")
1359 (version "0.6.5.1")
7a1e8c74
FB
1360 (source
1361 (origin
1362 (method url-fetch)
1363 (uri (string-append
612fddec 1364 "https://hackage.haskell.org/package/SDL/SDL-"
7a1e8c74
FB
1365 version
1366 ".tar.gz"))
1367 (sha256
1368 (base32
b784e8c5 1369 "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46"))))
7a1e8c74
FB
1370 (build-system haskell-build-system)
1371 (inputs
b784e8c5
PW
1372 `(("sdl" ,sdl)))
1373 (home-page "https://hackage.haskell.org/package/SDL")
1374 (synopsis "LibSDL for Haskell")
1375 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
1376multimedia library designed to provide low level access to audio, keyboard,
1377mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
1378by MPEG playback software, emulators, and many popular games, including the
1379award winning Linux port of \"Civilization: Call To Power.\"")
3ac73271 1380 (license license:bsd-3)))
7a1e8c74 1381
224a0ddb 1382(define-public ghc-sdl-mixer
eaa3088e 1383 (package
224a0ddb 1384 (name "ghc-sdl-mixer")
4123cb7f 1385 (version "0.6.2.0")
eaa3088e
FB
1386 (source
1387 (origin
1388 (method url-fetch)
1389 (uri (string-append
612fddec 1390 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
eaa3088e
FB
1391 version
1392 ".tar.gz"))
1393 (sha256
1394 (base32
4123cb7f 1395 "1fhray79d80dk2aj9mx3ks05mm48sd832g8zgxli226jx471fs8r"))))
eaa3088e 1396 (build-system haskell-build-system)
224a0ddb
PW
1397 (arguments
1398 `(#:configure-flags
1399 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
1400 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
fd59d2ee 1401 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
eaa3088e 1402 (inputs
2d47cee2
RW
1403 `(("ghc-sdl" ,ghc-sdl)
1404 ("sdl-mixer" ,sdl-mixer)))
612fddec 1405 (home-page "https://hackage.haskell.org/package/SDL-mixer")
224a0ddb
PW
1406 (synopsis "Haskell bindings to libSDL_mixer")
1407 (description "SDL_mixer is a sample multi-channel audio mixer library. It
1408supports any number of simultaneously playing channels of 16 bit stereo audio,
1409plus a single channel of music, mixed by the popular MikMod MOD, Timidity
1410MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
3ac73271 1411 (license license:bsd-3)))
eaa3088e 1412
c783cac0 1413(define-public ghc-sdl-image
61c02099 1414 (package
c783cac0 1415 (name "ghc-sdl-image")
4fa53bd3 1416 (version "0.6.1.2")
61c02099
FB
1417 (source
1418 (origin
1419 (method url-fetch)
1420 (uri (string-append
612fddec 1421 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
61c02099
FB
1422 version
1423 ".tar.gz"))
1424 (sha256
1425 (base32
4fa53bd3 1426 "1ybdwlqi5nqzpsbh2md5mxhwmjn910iqysf6nykwjxlmvhcjk281"))))
61c02099 1427 (build-system haskell-build-system)
61c02099 1428 (arguments
c783cac0
PW
1429 `(#:configure-flags
1430 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1431 (sdl-image-include (string-append sdl-image "/include/SDL")))
fd59d2ee 1432 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
c783cac0 1433 (inputs
2d47cee2
RW
1434 `(("ghc-sdl" ,ghc-sdl)
1435 ("sdl-image" ,sdl-image)))
612fddec 1436 (home-page "https://hackage.haskell.org/package/SDL-image")
c783cac0
PW
1437 (synopsis "Haskell bindings to libSDL_image")
1438 (description "SDL_image is an image file loading library. It loads images
1439as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1440PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
3ac73271 1441 (license license:bsd-3)))
61c02099 1442
22db3ce7 1443(define-public ghc-half
c5043f4a 1444 (package
22db3ce7 1445 (name "ghc-half")
f1c2aed7 1446 (version "0.2.2.3")
c5043f4a
FB
1447 (source
1448 (origin
1449 (method url-fetch)
1450 (uri (string-append
612fddec 1451 "https://hackage.haskell.org/package/half/half-"
f1c2aed7 1452 version ".tar.gz"))
c5043f4a
FB
1453 (sha256
1454 (base32
f1c2aed7 1455 "0p4sb7vv9cljv48wlx65wgdnkryrk5d6yfh7g4yrm20w1p449hl5"))))
c5043f4a 1456 (build-system haskell-build-system)
612fddec 1457 (home-page "https://github.com/ekmett/half")
22db3ce7
PW
1458 (synopsis "Half-precision floating-point computations")
1459 (description "This library provides a half-precision floating-point
1460computation library for Haskell.")
3ac73271 1461 (license license:bsd-3)))
c5043f4a 1462
0ffea6f2
RW
1463(define-public ghc-fixed
1464 (package
1465 (name "ghc-fixed")
1466 (version "0.2.1.1")
1467 (source
1468 (origin
1469 (method url-fetch)
1470 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
1471 version ".tar.gz"))
1472 (sha256
1473 (base32
1474 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
1475 (build-system haskell-build-system)
1476 (home-page "https://github.com/ekmett/fixed")
1477 (synopsis "Signed 15.16 precision fixed point arithmetic")
1478 (description
1479 "This package provides functions for signed 15.16 precision fixed point
1480arithmetic.")
1481 (license license:bsd-3)))
1482
c480b85e 1483(define-public ghc-openglraw
01a687da 1484 (package
c480b85e 1485 (name "ghc-openglraw")
e80e97b5 1486 (version "3.2.7.0")
01a687da
FB
1487 (source
1488 (origin
1489 (method url-fetch)
1490 (uri (string-append
612fddec 1491 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
01a687da
FB
1492 version
1493 ".tar.gz"))
1494 (sha256
1495 (base32
e80e97b5 1496 "024aln102d1mmsdalq9jd5mmwjbnrb8gxcak73lybrc7q87kswk2"))))
01a687da
FB
1497 (build-system haskell-build-system)
1498 (inputs
c480b85e 1499 `(("ghc-half" ,ghc-half)
e80e97b5 1500 ("ghc-fixed" ,ghc-fixed)
c480b85e
PW
1501 ("glu" ,glu)
1502 ("ghc-text" ,ghc-text)))
98b90194 1503 (home-page "https://www.haskell.org/haskellwiki/Opengl")
c480b85e
PW
1504 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1505 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1506graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1507of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1508offers access to all necessary functions, tokens and types plus a general
1509facility for loading extension entries. The module hierarchy closely mirrors
1510the naming structure of the OpenGL extensions, making it easy to find the
1511right module to import. All API entries are loaded dynamically, so no special
1512C header files are needed for building this package. If an API entry is not
1513found at runtime, a userError is thrown.")
3ac73271 1514 (license license:bsd-3)))
01a687da 1515
bce03084 1516(define-public ghc-glut
d692228e 1517 (package
bce03084 1518 (name "ghc-glut")
8951861c 1519 (version "2.7.0.10")
d692228e
FB
1520 (source
1521 (origin
1522 (method url-fetch)
1523 (uri (string-append
612fddec 1524 "https://hackage.haskell.org/package/GLUT/GLUT-"
d692228e
FB
1525 version
1526 ".tar.gz"))
1527 (sha256
1528 (base32
8951861c 1529 "0sbm943bg896nf3qjmlnsg3zzrr3pl330rzh9g0hwv47nzwwn4ab"))))
d692228e 1530 (build-system haskell-build-system)
2d47cee2 1531 (inputs
bce03084 1532 `(("ghc-statevar" ,ghc-statevar)
2d47cee2 1533 ("ghc-opengl" ,ghc-opengl)
dd169b73 1534 ("ghc-openglraw" ,ghc-openglraw)
bce03084 1535 ("freeglut" ,freeglut)))
98b90194 1536 (home-page "https://www.haskell.org/haskellwiki/Opengl")
bce03084
PW
1537 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1538 (description "This library provides Haskell bindings for the OpenGL
1539Utility Toolkit, a window system-independent toolkit for writing OpenGL
1540programs.")
3ac73271 1541 (license license:bsd-3)))
d692228e 1542
894562e3 1543(define-public ghc-gluraw
fa468e87 1544 (package
894562e3 1545 (name "ghc-gluraw")
a36c03b2 1546 (version "2.0.0.2")
fa468e87
FB
1547 (source
1548 (origin
1549 (method url-fetch)
1550 (uri (string-append
612fddec 1551 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
fa468e87
FB
1552 version
1553 ".tar.gz"))
1554 (sha256
894562e3 1555 (base32
a36c03b2 1556 "1phmvxr0kkxq89ykmr8rj77inj8dvcxd6h72z1ncdgdazfz3sjw8"))))
fa468e87 1557 (build-system haskell-build-system)
2d47cee2 1558 (inputs
894562e3 1559 `(("ghc-openglraw" ,ghc-openglraw)))
98b90194 1560 (home-page "https://www.haskell.org/haskellwiki/Opengl")
894562e3
PW
1561 (synopsis "Raw Haskell bindings GLU")
1562 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1563utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1564basis for a nicer interface.")
3ac73271 1565 (license license:bsd-3)))
fa468e87 1566
fe28ba70 1567(define-public ghc-opengl
f50fc138 1568 (package
fe28ba70 1569 (name "ghc-opengl")
aad2e837 1570 (version "3.0.1.0")
f50fc138
FB
1571 (source
1572 (origin
1573 (method url-fetch)
1574 (uri (string-append
612fddec 1575 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
f50fc138
FB
1576 version
1577 ".tar.gz"))
1578 (sha256
1579 (base32
aad2e837 1580 "1nm2mzrn1h2nnfs9vl5p088hqpll7rdvcsyqsn8q641im9jhqp7l"))))
f50fc138 1581 (build-system haskell-build-system)
2d47cee2 1582 (inputs
fe28ba70
PW
1583 `(("ghc-text" ,ghc-text)
1584 ("ghc-objectname" ,ghc-objectname)
1585 ("ghc-gluraw" ,ghc-gluraw)
1586 ("ghc-statevar" ,ghc-statevar)
1587 ("ghc-openglraw" ,ghc-openglraw)))
98b90194 1588 (home-page "https://www.haskell.org/haskellwiki/Opengl")
fe28ba70
PW
1589 (synopsis "Haskell bindings for the OpenGL graphics system")
1590 (description "This package provides Haskell bindings for the OpenGL
1591graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1592version 1.3).")
3ac73271 1593 (license license:bsd-3)))
f50fc138 1594
f550db48 1595(define-public ghc-streaming-commons
abfed253 1596 (package
f550db48 1597 (name "ghc-streaming-commons")
c437b800 1598 (version "0.2.1.0")
abfed253
FB
1599 (source
1600 (origin
1601 (method url-fetch)
c437b800
RW
1602 (uri (string-append "https://hackage.haskell.org/package/"
1603 "streaming-commons/streaming-commons-"
1604 version ".tar.gz"))
abfed253
FB
1605 (sha256
1606 (base32
c437b800 1607 "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
abfed253
FB
1608 (build-system haskell-build-system)
1609 (inputs
c437b800
RW
1610 `(("ghc-async" ,ghc-async)
1611 ("ghc-blaze-builder" ,ghc-blaze-builder)
2d47cee2
RW
1612 ("ghc-network" ,ghc-network)
1613 ("ghc-random" ,ghc-random)
f550db48
PW
1614 ("ghc-stm" ,ghc-stm)
1615 ("ghc-text" ,ghc-text)
f550db48 1616 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
1617 (native-inputs
1618 `(("ghc-quickcheck" ,ghc-quickcheck)
1619 ("ghc-hspec" ,ghc-hspec)
1620 ("hspec-discover" ,hspec-discover)))
f550db48
PW
1621 (home-page "https://hackage.haskell.org/package/streaming-commons")
1622 (synopsis "Conduit and pipes needed by some streaming data libraries")
b90f72dc
RW
1623 (description "This package provides low-dependency functionality commonly
1624needed by various Haskell streaming data libraries, such as @code{conduit} and
f550db48 1625@code{pipe}s.")
b90f72dc 1626 (license license:expat)))
abfed253 1627
78249cc0 1628(define-public cpphs
9ce031c5 1629 (package
78249cc0 1630 (name "cpphs")
c12562e1 1631 (version "1.20.8")
9ce031c5
FB
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (string-append
612fddec 1636 "https://hackage.haskell.org/package/" name "/"
78249cc0
PW
1637 name "-" version ".tar.gz"))
1638 (sha256
1639 (base32
c12562e1 1640 "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
78249cc0 1641 (build-system haskell-build-system)
2d47cee2 1642 (inputs
78249cc0
PW
1643 `(("ghc-polyparse" ,ghc-polyparse)
1644 ("ghc-old-locale" ,ghc-old-locale)
1645 ("ghc-old-time" ,ghc-old-time)))
1646 (home-page "http://projects.haskell.org/cpphs/")
1647 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1648 (description "Cpphs is a re-implementation of the C pre-processor that is
1649both more compatible with Haskell, and itself written in Haskell so that it
1650can be distributed with compilers. This version of the C pre-processor is
1651pretty-much feature-complete and compatible with traditional (K&R)
1652pre-processors. Additional features include: a plain-text mode; an option to
1653unlit literate code files; and an option to turn off macro-expansion.")
3ac73271 1654 (license (list license:lgpl2.1+ license:gpl3+))))
78249cc0 1655
865ac573
PW
1656(define-public ghc-reflection
1657 (package
1658 (name "ghc-reflection")
fd4f26ee 1659 (version "2.1.2")
865ac573
PW
1660 (source
1661 (origin
1662 (method url-fetch)
1663 (uri (string-append
612fddec 1664 "https://hackage.haskell.org/package/reflection/reflection-"
9ce031c5
FB
1665 version
1666 ".tar.gz"))
1667 (sha256
1668 (base32
fd4f26ee 1669 "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9"))))
9ce031c5 1670 (build-system haskell-build-system)
865ac573 1671 (inputs `(("ghc-tagged" ,ghc-tagged)))
612fddec 1672 (home-page "https://github.com/ekmett/reflection")
865ac573
PW
1673 (synopsis "Reify arbitrary terms into types that can be reflected back
1674into terms")
1675 (description "This package addresses the 'configuration problem' which is
1676propogating configurations that are available at run-time, allowing multiple
1677configurations to coexist without resorting to mutable global variables or
1678@code{System.IO.Unsafe.unsafePerformIO}.")
3ac73271 1679 (license license:bsd-3)))
9ce031c5 1680
6a0add9c 1681(define-public ghc-old-locale
a231ef7e 1682 (package
6a0add9c
PW
1683 (name "ghc-old-locale")
1684 (version "1.0.0.7")
a231ef7e
FB
1685 (source
1686 (origin
1687 (method url-fetch)
1688 (uri (string-append
612fddec 1689 "https://hackage.haskell.org/package/old-locale/old-locale-"
a231ef7e
FB
1690 version
1691 ".tar.gz"))
1692 (sha256
6a0add9c 1693 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
a231ef7e 1694 (build-system haskell-build-system)
afff0b6d
RW
1695 (arguments
1696 `(#:configure-flags (list "--allow-newer=base")))
612fddec 1697 (home-page "https://hackage.haskell.org/package/old-locale")
6a0add9c
PW
1698 (synopsis "Adapt to locale conventions")
1699 (description
1700 "This package provides the ability to adapt to locale conventions such as
1701date and time formats.")
3ac73271 1702 (license license:bsd-3)))
6a0add9c 1703
7ae4c102
PW
1704(define-public ghc-old-time
1705 (package
1706 (name "ghc-old-time")
1707 (version "1.1.0.3")
1708 (source
1709 (origin
1710 (method url-fetch)
1711 (uri (string-append
612fddec 1712 "https://hackage.haskell.org/package/old-time/old-time-"
7ae4c102
PW
1713 version
1714 ".tar.gz"))
1715 (sha256
1716 (base32
1717 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1718 (build-system haskell-build-system)
037181ed
RW
1719 (arguments
1720 `(#:configure-flags (list "--allow-newer=base")))
2d47cee2 1721 (inputs
7ae4c102 1722 `(("ghc-old-locale" ,ghc-old-locale)))
612fddec 1723 (home-page "https://hackage.haskell.org/package/old-time")
7ae4c102
PW
1724 (synopsis "Time compatibility library for Haskell")
1725 (description "Old-time is a package for backwards compatibility with the
1726old @code{time} library. For new projects, the newer
612fddec 1727@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
3ac73271 1728 (license license:bsd-3)))
7ae4c102 1729
684f29ab
SB
1730(define-public ghc-data-default-instances-old-locale
1731 (package
1732 (name "ghc-data-default-instances-old-locale")
1733 (version "0.0.1")
1734 (source
1735 (origin
1736 (method url-fetch)
1737 (uri (string-append
612fddec 1738 "https://hackage.haskell.org/package/"
684f29ab
SB
1739 "data-default-instances-old-locale/"
1740 "data-default-instances-old-locale-" version ".tar.gz"))
1741 (sha256
1742 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1743 (build-system haskell-build-system)
2d47cee2 1744 (inputs
6a0add9c
PW
1745 `(("ghc-data-default-class" ,ghc-data-default-class)
1746 ("ghc-old-locale" ,ghc-old-locale)))
684f29ab 1747 (home-page
612fddec 1748 "https://hackage.haskell.org/package/data-default-instances-old-locale")
684f29ab
SB
1749 (synopsis "Default instances for types in old-locale")
1750 (description "Provides Default instances for types from the old-locale
1751 package.")
3ac73271 1752 (license license:bsd-3)))
684f29ab 1753
eb6ae860
SB
1754(define-public ghc-dlist
1755 (package
1756 (name "ghc-dlist")
40a6d7a2 1757 (version "0.8.0.4")
eb6ae860
SB
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append
612fddec 1762 "https://hackage.haskell.org/package/dlist/dlist-"
eb6ae860
SB
1763 version
1764 ".tar.gz"))
1765 (sha256
40a6d7a2 1766 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
eb6ae860 1767 (build-system haskell-build-system)
409ec7c0
PW
1768 (inputs
1769 `(("ghc-quickcheck" ,ghc-quickcheck)))
eb6ae860
SB
1770 (home-page "https://github.com/spl/dlist")
1771 (synopsis "Difference lists")
1772 (description
1773 "Difference lists are a list-like type supporting O(1) append. This is
1774particularly useful for efficient logging and pretty printing (e.g. with the
1775Writer monad), where list append quickly becomes too expensive.")
3ac73271 1776 (license license:bsd-3)))
eb6ae860 1777
05b964ae
SB
1778(define-public ghc-extensible-exceptions
1779 (package
1780 (name "ghc-extensible-exceptions")
1781 (version "0.1.1.4")
1782 (source
1783 (origin
1784 (method url-fetch)
612fddec 1785 (uri (string-append "https://hackage.haskell.org/package/"
05b964ae
SB
1786 "extensible-exceptions/extensible-exceptions-"
1787 version ".tar.gz"))
1788 (sha256
1789 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1790 (build-system haskell-build-system)
612fddec 1791 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
05b964ae
SB
1792 (synopsis "Extensible exceptions for Haskell")
1793 (description
1794 "This package provides extensible exceptions for both new and old
1795versions of GHC (i.e., < 6.10).")
3ac73271 1796 (license license:bsd-3)))
05b964ae 1797
df1db767
SB
1798(define-public cabal-install
1799 (package
1800 (name "cabal-install")
35a9b5c7 1801 (version "1.22.6.0")
df1db767
SB
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
612fddec 1806 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
df1db767
SB
1807 version
1808 ".tar.gz"))
1809 (sha256
35a9b5c7 1810 (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
df1db767
SB
1811 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
1812 (build-system haskell-build-system)
2d47cee2 1813 (inputs
df1db767
SB
1814 `(("ghc-http" ,ghc-http)
1815 ("ghc-mtl" ,ghc-mtl)
1816 ("ghc-network-uri" ,ghc-network-uri)
1817 ("ghc-network" ,ghc-network)
1818 ("ghc-random" ,ghc-random)
1819 ("ghc-stm" ,ghc-stm)
1820 ("ghc-zlib" ,ghc-zlib)))
98b90194 1821 (home-page "https://www.haskell.org/cabal/")
df1db767
SB
1822 (synopsis "Command-line interface for Cabal and Hackage")
1823 (description
1824 "The cabal command-line program simplifies the process of managing
1825Haskell software by automating the fetching, configuration, compilation and
1826installation of Haskell libraries and programs.")
3ac73271 1827 (license license:bsd-3)))
df1db767 1828
3168796a
RW
1829(define-public cabal-doctest
1830 (package
1831 (name "cabal-doctest")
1832 (version "1.0.6")
1833 (source
1834 (origin
1835 (method url-fetch)
1836 (uri (string-append "https://hackage.haskell.org/package/"
1837 "cabal-doctest/cabal-doctest-"
1838 version ".tar.gz"))
1839 (sha256
1840 (base32
1841 "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
1842 (build-system haskell-build-system)
1843 (home-page "https://github.com/phadej/cabal-doctest")
1844 (synopsis "Setup.hs helper for running doctests")
1845 (description
1846 "To properly work, the @code{doctest} package needs plenty of
1847configuration. This library provides the common bits for writing custom
1848@file{Setup.hs} files.")
1849 (license license:bsd-3)))
1850
7d5baa30
FB
1851(define-public ghc-mtl
1852 (package
1853 (name "ghc-mtl")
a59ab247 1854 (version "2.2.1")
7d5baa30
FB
1855 (outputs '("out" "doc"))
1856 (source
1857 (origin
1858 (method url-fetch)
1859 (uri (string-append
612fddec 1860 "https://hackage.haskell.org/package/mtl/mtl-"
7d5baa30
FB
1861 version
1862 ".tar.gz"))
1863 (sha256
1864 (base32
a59ab247 1865 "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa"))))
7d5baa30 1866 (build-system haskell-build-system)
9729f975
RW
1867 ;; This is an official revision, relaxing the requirement transformers ==
1868 ;; 0.4 to transformers >= 0.4 && < 0.6; see
1869 ;; https://hackage.haskell.org/package/mtl-2.2.1/revision/1.cabal
c088e393
RW
1870 (arguments
1871 `(#:configure-flags (list "--allow-newer=transformers")))
612fddec 1872 (home-page "https://github.com/ekmett/mtl")
7d5baa30
FB
1873 (synopsis
1874 "Monad classes, using functional dependencies")
a59ab247
PW
1875 (description "Monad classes using functional dependencies, with instances
1876for various monad transformers, inspired by the paper 'Functional Programming
1877with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced
1878School of Functional Programming', 1995. See
98b90194 1879@uref{https://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
3ac73271 1880 (license license:bsd-3)))
7d5baa30 1881
fe0fb890
TGR
1882(define-public ghc-parsec-numbers
1883 (package
1884 (name "ghc-parsec-numbers")
1885 (version "0.1.0")
1886 (source
1887 (origin
1888 (method url-fetch)
1889 (uri (string-append "https://hackage.haskell.org/package/"
1890 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
1891 (sha256
1892 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
1893 (build-system haskell-build-system)
1894 (inputs
1895 `(("ghc-parsec" ,ghc-parsec)))
95bf0780 1896 (home-page "https://hackage.haskell.org/package/parsec-numbers")
fe0fb890
TGR
1897 (synopsis "Utilities for parsing numbers from strings")
1898 (description
1899 "This package provides the number parsers without the need to use a large
1900(and unportable) token parser.")
1901 (license license:bsd-3)))
1902
0939da6e
FB
1903(define-public ghc-paths
1904 (package
1905 (name "ghc-paths")
1906 (version "0.1.0.9")
1907 (outputs '("out" "doc"))
1908 (source
1909 (origin
1910 (method url-fetch)
1911 (uri (string-append
612fddec 1912 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
0939da6e
FB
1913 version
1914 ".tar.gz"))
1915 (sha256
1916 (base32
1917 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
1918 (build-system haskell-build-system)
1919 (home-page "https://github.com/simonmar/ghc-paths")
1920 (synopsis
1921 "Knowledge of GHC's installation directories")
1922 (description
1923 "Knowledge of GHC's installation directories.")
3ac73271 1924 (license license:bsd-3)))
0939da6e 1925
7fc7186e
SB
1926(define-public ghc-utf8-string
1927 (package
1928 (name "ghc-utf8-string")
ac426aa5 1929 (version "1.0.1.1")
7fc7186e
SB
1930 (source
1931 (origin
1932 (method url-fetch)
1933 (uri (string-append
612fddec 1934 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
7fc7186e
SB
1935 version
1936 ".tar.gz"))
1937 (sha256
ac426aa5 1938 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
7fc7186e 1939 (build-system haskell-build-system)
4fe3ce82
RW
1940 (arguments
1941 `(#:configure-flags (list "--allow-newer=base")))
612fddec 1942 (home-page "https://github.com/glguy/utf8-string/")
7fc7186e
SB
1943 (synopsis "Support for reading and writing UTF8 Strings")
1944 (description
ac426aa5 1945 "A UTF8 layer for Strings. The utf8-string package provides operations
7fc7186e
SB
1946for encoding UTF8 strings to Word8 lists and back, and for reading and writing
1947UTF8 without truncation.")
3ac73271 1948 (license license:bsd-3)))
7fc7186e 1949
a45a15df
PW
1950(define-public ghc-setenv
1951 (package
1952 (name "ghc-setenv")
1953 (version "0.1.1.3")
1954 (source
1955 (origin
1956 (method url-fetch)
1957 (uri (string-append
612fddec 1958 "https://hackage.haskell.org/package/setenv/setenv-"
a45a15df
PW
1959 version
1960 ".tar.gz"))
1961 (sha256
1962 (base32
1963 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
1964 (build-system haskell-build-system)
612fddec 1965 (home-page "https://hackage.haskell.org/package/setenv")
a45a15df
PW
1966 (synopsis "Library for setting environment variables")
1967 (description "This package provides a Haskell library for setting
1968environment variables.")
3ac73271 1969 (license license:expat)))
a45a15df 1970
c7bdb413
MM
1971(define-public ghc-setlocale
1972 (package
1973 (name "ghc-setlocale")
35a30cff 1974 (version "1.0.0.6")
c7bdb413
MM
1975 (source (origin
1976 (method url-fetch)
1977 (uri (string-append
1978 "https://hackage.haskell.org/package/setlocale-"
1979 version "/setlocale-" version ".tar.gz"))
1980 (sha256
1981 (base32
35a30cff 1982 "1rl8qb8vzv8fdbczy2dxwgn4cb68lfrjdxf2w8nn9wy1acqzcyjq"))))
c7bdb413
MM
1983 (build-system haskell-build-system)
1984 (home-page "https://hackage.haskell.org/package/setlocale")
1985 (synopsis "Haskell bindings to setlocale")
1986 (description "This package provides Haskell bindings to the
1987@code{setlocale} C function.")
1988 (license license:bsd-3)))
1989
720fb41c
SB
1990(define-public ghc-x11
1991 (package
1992 (name "ghc-x11")
48ca045c 1993 (version "1.8")
720fb41c
SB
1994 (source
1995 (origin
1996 (method url-fetch)
612fddec 1997 (uri (string-append "https://hackage.haskell.org/package/X11/"
720fb41c
SB
1998 "X11-" version ".tar.gz"))
1999 (sha256
48ca045c 2000 (base32 "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl"))))
720fb41c
SB
2001 (build-system haskell-build-system)
2002 (inputs
2003 `(("libx11" ,libx11)
2004 ("libxrandr" ,libxrandr)
2005 ("libxinerama" ,libxinerama)
2d47cee2
RW
2006 ("libxscrnsaver" ,libxscrnsaver)
2007 ("ghc-data-default" ,ghc-data-default)))
720fb41c
SB
2008 (home-page "https://github.com/haskell-pkg-janitors/X11")
2009 (synopsis "Bindings to the X11 graphics library")
2010 (description
2011 "This package provides Haskell bindings to the X11 graphics library. The
2012bindings are a direct translation of the C bindings.")
3ac73271 2013 (license license:bsd-3)))
720fb41c 2014
c34507d6
SB
2015(define-public ghc-x11-xft
2016 (package
2017 (name "ghc-x11-xft")
2018 (version "0.3.1")
2019 (source
2020 (origin
2021 (method url-fetch)
612fddec 2022 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
c34507d6
SB
2023 "X11-xft-" version ".tar.gz"))
2024 (sha256
2025 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
c34507d6 2026 (inputs
2d47cee2
RW
2027 `(("ghc-x11" ,ghc-x11)
2028 ("ghc-utf8-string" ,ghc-utf8-string)
2029 ("libx11" ,libx11)
c34507d6 2030 ("libxft" ,libxft)
6a6db57f 2031 ("xorgproto" ,xorgproto)))
c34507d6
SB
2032 (native-inputs
2033 `(("pkg-config" ,pkg-config)))
2034 (build-system haskell-build-system)
612fddec 2035 (home-page "https://hackage.haskell.org/package/X11-xft")
c34507d6
SB
2036 (synopsis "Bindings to Xft")
2037 (description
2038 "Bindings to the Xft, X Free Type interface library, and some Xrender
2039parts.")
3ac73271 2040 (license license:lgpl2.1)))
c34507d6 2041
318f9d88
PW
2042(define-public ghc-stringbuilder
2043 (package
2044 (name "ghc-stringbuilder")
2045 (version "0.5.0")
2046 (source
2047 (origin
2048 (method url-fetch)
2049 (uri (string-append
612fddec 2050 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
318f9d88
PW
2051 version
2052 ".tar.gz"))
2053 (sha256
2054 (base32
2055 "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9"))))
2056 (build-system haskell-build-system)
2057 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
2058 ; enabled
612fddec 2059 (home-page "https://hackage.haskell.org/package/stringbuilder")
318f9d88
PW
2060 (synopsis "Writer monad for multi-line string literals")
2061 (description "This package provides a writer monad for multi-line string
2062literals.")
3ac73271 2063 (license license:expat)))
318f9d88 2064
3d3613d5
FB
2065(define-public ghc-zlib
2066 (package
2067 (name "ghc-zlib")
d3c7e708 2068 (version "0.6.2")
3d3613d5
FB
2069 (outputs '("out" "doc"))
2070 (source
2071 (origin
2072 (method url-fetch)
2073 (uri (string-append
612fddec 2074 "https://hackage.haskell.org/package/zlib/zlib-"
3d3613d5
FB
2075 version
2076 ".tar.gz"))
2077 (sha256
2078 (base32
d3c7e708 2079 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
3d3613d5 2080 (build-system haskell-build-system)
906a396b 2081 (arguments `(#:configure-flags (list "--allow-newer=tasty")))
3d3613d5 2082 (inputs `(("zlib" ,zlib)))
906a396b
AI
2083 (native-inputs
2084 `(("ghc-quickcheck" ,ghc-quickcheck)
2085 ("ghc-tasty" ,ghc-tasty)
2086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
612fddec 2088 (home-page "https://hackage.haskell.org/package/zlib")
3d3613d5
FB
2089 (synopsis
2090 "Compression and decompression in the gzip and zlib formats")
2091 (description
2092 "This package provides a pure interface for compressing and decompressing
2093streams of data represented as lazy 'ByteString's. It uses the zlib C library
2094so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
2095compression formats. It provides a convenient high level API suitable for
2096most tasks and for the few cases where more control is needed it provides
2097access to the full zlib feature set.")
3ac73271 2098 (license license:bsd-3)))
3d3613d5 2099
a39f3936
FB
2100(define-public ghc-stm
2101 (package
2102 (name "ghc-stm")
567bf5b9 2103 (version "2.4.5.0")
a39f3936
FB
2104 (outputs '("out" "doc"))
2105 (source
2106 (origin
2107 (method url-fetch)
2108 (uri (string-append
612fddec 2109 "https://hackage.haskell.org/package/stm/stm-"
a39f3936
FB
2110 version
2111 ".tar.gz"))
2112 (sha256
2113 (base32
567bf5b9 2114 "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri"))))
a39f3936 2115 (build-system haskell-build-system)
612fddec 2116 (home-page "https://hackage.haskell.org/package/stm")
a39f3936
FB
2117 (synopsis "Software Transactional Memory")
2118 (description
567bf5b9
RW
2119 "Software Transactional Memory, or STM, is an abstraction for concurrent
2120communication. The main benefits of STM are composability and modularity.
2121That is, using STM you can write concurrent abstractions that can be easily
2122composed with any other abstraction built using STM, without exposing the
2123details of how your abstraction ensures safety. This is typically not the
2124case with other forms of concurrent communication, such as locks or
2125@code{MVar}s.")
3ac73271 2126 (license license:bsd-3)))
a39f3936 2127
e916e211
FB
2128(define-public ghc-parallel
2129 (package
2130 (name "ghc-parallel")
6d148d3b 2131 (version "3.2.1.0")
e916e211
FB
2132 (outputs '("out" "doc"))
2133 (source
2134 (origin
2135 (method url-fetch)
2136 (uri (string-append
612fddec 2137 "https://hackage.haskell.org/package/parallel/parallel-"
e916e211
FB
2138 version
2139 ".tar.gz"))
2140 (sha256
2141 (base32
6d148d3b 2142 "09l52k1gsn667lmv0pp052cbwkzkbhfivp51f2xkrlfzf6xwvqsd"))))
e916e211 2143 (build-system haskell-build-system)
612fddec 2144 (home-page "https://hackage.haskell.org/package/parallel")
e916e211
FB
2145 (synopsis "Parallel programming library")
2146 (description
2147 "This package provides a library for parallel programming.")
3ac73271 2148 (license license:bsd-3)))
e916e211 2149
6950a450
TS
2150(define-public ghc-safesemaphore
2151 (package
2152 (name "ghc-safesemaphore")
2153 (version "0.10.1")
2154 (source
2155 (origin
2156 (method url-fetch)
2157 (uri (string-append "https://hackage.haskell.org/package/"
2158 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
2159 (sha256
2160 (base32
2161 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
2162 (build-system haskell-build-system)
2163 (inputs
2164 `(("ghc-stm" ,ghc-stm)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)))
2167 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
2168 (synopsis "Exception safe semaphores")
2169 (description "This library provides exception safe semaphores that can be
2170used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
2171are not exception safe and can be broken by @code{killThread}.")
2172 (license license:bsd-3)))
2173
deb36de0
FB
2174(define-public ghc-text
2175 (package
2176 (name "ghc-text")
5e3840e2 2177 (version "1.2.2.2")
deb36de0
FB
2178 (outputs '("out" "doc"))
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append
612fddec 2183 "https://hackage.haskell.org/package/text/text-"
deb36de0
FB
2184 version
2185 ".tar.gz"))
2186 (sha256
2187 (base32
5e3840e2 2188 "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii"))))
deb36de0 2189 (build-system haskell-build-system)
5e3840e2
RW
2190 ;; The test dependencies depend on ghc-text: ghc-test-framework -> ghc-xml -> ghc-text
2191 (arguments `(#:tests? #f))
2192 (inputs
2193 `(("ghc-random" ,ghc-random)))
deb36de0 2194 (home-page "https://github.com/bos/text")
1eefe4a8 2195 (synopsis "Efficient packed Unicode text type library")
deb36de0
FB
2196 (description
2197 "An efficient packed, immutable Unicode text type (both strict and
2198lazy), with a powerful loop fusion optimization framework.
2199
2200The 'Text' type represents Unicode character strings, in a time and
1eefe4a8 2201space-efficient manner. This package provides text processing
deb36de0
FB
2202capabilities that are optimized for performance critical use, both
2203in terms of large data quantities and high speed.")
3ac73271 2204 (license license:bsd-3)))
deb36de0 2205
f941a52a
RW
2206(define-public ghc-text-binary
2207 (package
2208 (name "ghc-text-binary")
2209 (version "0.2.1.1")
2210 (source
2211 (origin
2212 (method url-fetch)
2213 (uri (string-append "https://hackage.haskell.org/package/"
2214 "text-binary/text-binary-"
2215 version ".tar.gz"))
2216 (sha256
2217 (base32
2218 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
2219 (build-system haskell-build-system)
2220 (inputs `(("ghc-text" ,ghc-text)))
2221 (home-page "https://github.com/kawu/text-binary")
2222 (synopsis "Binary instances for text types")
2223 (description
2224 "This package provides a compatibility layer providing @code{Binary}
2225instances for strict and lazy text types for versions older than 1.2.1 of the
2226text package.")
2227 (license license:bsd-2)))
2228
f99a57dc
AV
2229(define-public ghc-strict
2230 (package
2231 (name "ghc-strict")
2232 (version "0.3.2")
2233 (source
2234 (origin
2235 (method url-fetch)
2236 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
2237 version ".tar.gz"))
2238 (sha256
2239 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
2240 (build-system haskell-build-system)
2241 (home-page "https://hackage.haskell.org/package/strict")
2242 (synopsis "Strict data types and String IO")
2243 (description
2244 "This package provides strict versions of some standard Haskell data
2245types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
2246IO operations.")
2247 (license license:bsd-3)))
2248
775be802
FB
2249(define-public ghc-hashable
2250 (package
2251 (name "ghc-hashable")
c165ff9c 2252 (version "1.2.6.1")
775be802
FB
2253 (outputs '("out" "doc"))
2254 (source
2255 (origin
2256 (method url-fetch)
2257 (uri (string-append
612fddec 2258 "https://hackage.haskell.org/package/hashable/hashable-"
775be802
FB
2259 version
2260 ".tar.gz"))
2261 (sha256
2262 (base32
c165ff9c 2263 "0ymv2mcrrgbdc2w39rib171fwnhg7fgp0sy4h8amrh1vw64qgjll"))))
775be802 2264 (build-system haskell-build-system)
2d47cee2 2265 (inputs
c165ff9c
RW
2266 `(("ghc-text" ,ghc-text)
2267 ("ghc-random" ,ghc-random)))
2268 (native-inputs
2269 `(("ghc-test-framework" ,ghc-test-framework)
2270 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2271 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2272 ("ghc-hunit" ,ghc-hunit)
2273 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 2274 (home-page "https://github.com/tibbe/hashable")
c165ff9c 2275 (synopsis "Class for types that can be converted to a hash value")
775be802 2276 (description
c165ff9c 2277 "This package defines a class, @code{Hashable}, for types that can be
775be802
FB
2278converted to a hash value. This class exists for the benefit of hashing-based
2279data structures. The package provides instances for basic types and a way to
2280combine hash values.")
3ac73271 2281 (license license:bsd-3)))
775be802 2282
82674ed9
RW
2283(define-public ghc-hashable-time
2284 (package
2285 (name "ghc-hashable-time")
2286 (version "0.2.0.1")
2287 (source
2288 (origin
2289 (method url-fetch)
2290 (uri (string-append
2291 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
2292 version
2293 ".tar.gz"))
2294 (sha256
2295 (base32
2296 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
2297 (build-system haskell-build-system)
2298 (inputs `(("ghc-hashable" ,ghc-hashable)))
2299 (home-page "http://hackage.haskell.org/package/hashable-time")
2300 (synopsis "Hashable instances for Data.Time")
2301 (description
2302 "This package provides @code{Hashable} instances for types in
2303@code{Data.Time}.")
2304 (license license:bsd-3)))
2305
ca48a345
AV
2306(define-public ghc-data-hash
2307 (package
2308 (name "ghc-data-hash")
2309 (version "0.2.0.1")
2310 (source
2311 (origin
2312 (method url-fetch)
2313 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2314 "/data-hash-" version ".tar.gz"))
2315 (sha256
2316 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2317 (build-system haskell-build-system)
2318 (inputs
2319 `(("ghc-quickcheck" ,ghc-quickcheck)
2320 ("ghc-test-framework" ,ghc-test-framework)
2321 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2322 (home-page "https://hackage.haskell.org/package/data-hash")
2323 (synopsis "Combinators for building fast hashing functions")
2324 (description
2325 "This package provides combinators for building fast hashing functions.
2326It includes hashing functions for all basic Haskell98 types.")
2327 (license license:bsd-3)))
2328
a623fd7f
AV
2329(define-public ghc-murmur-hash
2330 (package
2331 (name "ghc-murmur-hash")
2332 (version "0.1.0.9")
2333 (source
2334 (origin
2335 (method url-fetch)
2336 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
2337 "/murmur-hash-" version ".tar.gz"))
2338 (sha256
2339 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
2340 (build-system haskell-build-system)
2341 (home-page "https://github.com/nominolo/murmur-hash")
2342 (synopsis "MurmurHash2 implementation for Haskell")
2343 (description
2344 "This package provides an implementation of MurmurHash2, a good, fast,
2345general-purpose, non-cryptographic hashing function. See
2346@url{https://sites.google.com/site/murmurhash/} for details. This
2347implementation is pure Haskell, so it might be a bit slower than a C FFI
2348binding.")
2349 (license license:bsd-3)))
2350
df596b94
FB
2351(define-public ghc-random
2352 (package
2353 (name "ghc-random")
2354 (version "1.1")
2355 (outputs '("out" "doc"))
2356 (source
2357 (origin
2358 (method url-fetch)
2359 (uri (string-append
612fddec 2360 "https://hackage.haskell.org/package/random/random-"
df596b94
FB
2361 version
2362 ".tar.gz"))
2363 (sha256
2364 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
2365 (build-system haskell-build-system)
612fddec 2366 (home-page "https://hackage.haskell.org/package/random")
df596b94
FB
2367 (synopsis "Random number library")
2368 (description "This package provides a basic random number generation
2369library, including the ability to split random number generators.")
3ac73271 2370 (license license:bsd-3)))
4af803a7
FB
2371
2372(define-public ghc-primitive
2373 (package
2374 (name "ghc-primitive")
49e5432b 2375 (version "0.6.3.0")
4af803a7
FB
2376 (outputs '("out" "doc"))
2377 (source
2378 (origin
2379 (method url-fetch)
2380 (uri (string-append
612fddec 2381 "https://hackage.haskell.org/package/primitive/primitive-"
4af803a7
FB
2382 version
2383 ".tar.gz"))
2384 (sha256
2385 (base32
49e5432b 2386 "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd"))))
4af803a7
FB
2387 (build-system haskell-build-system)
2388 (home-page
2389 "https://github.com/haskell/primitive")
2390 (synopsis "Primitive memory-related operations")
2391 (description
2392 "This package provides various primitive memory-related operations.")
3ac73271 2393 (license license:bsd-3)))
4af803a7 2394
c272160a
FB
2395(define-public ghc-tf-random
2396 (package
2397 (name "ghc-tf-random")
2398 (version "0.5")
2399 (outputs '("out" "doc"))
2400 (source
2401 (origin
2402 (method url-fetch)
2403 (uri (string-append
612fddec 2404 "https://hackage.haskell.org/package/tf-random/tf-random-"
c272160a
FB
2405 version
2406 ".tar.gz"))
2407 (sha256
2408 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
2409 (build-system haskell-build-system)
2d47cee2 2410 (inputs
c272160a
FB
2411 `(("ghc-primitive" ,ghc-primitive)
2412 ("ghc-random" ,ghc-random)))
612fddec 2413 (home-page "https://hackage.haskell.org/package/tf-random")
c272160a
FB
2414 (synopsis "High-quality splittable pseudorandom number generator")
2415 (description "This package contains an implementation of a high-quality
2416splittable pseudorandom number generator. The generator is based on a
2417cryptographic hash function built on top of the ThreeFish block cipher. See
2418the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
2419Hashing\" by Claessen, Pałka for details and the rationale of the design.")
3ac73271 2420 (license license:bsd-3)))
c272160a 2421
c27f3ace
PW
2422(define-public ghc-transformers-base
2423 (package
2424 (name "ghc-transformers-base")
2425 (version "0.4.4")
2426 (source
2427 (origin
2428 (method url-fetch)
2429 (uri (string-append
612fddec 2430 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
c27f3ace
PW
2431 version
2432 ".tar.gz"))
2433 (sha256
2434 (base32
2435 "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va"))))
2436 (build-system haskell-build-system)
c27f3ace 2437 (inputs
2d47cee2
RW
2438 `(("ghc-stm" ,ghc-stm)
2439 ("ghc-transformers-compat" ,ghc-transformers-compat)))
c27f3ace 2440 (home-page
612fddec 2441 "https://hackage.haskell.org/package/transformers-compat")
c27f3ace
PW
2442 (synopsis
2443 "Backported transformer library")
2444 (description
2445 "Backported versions of types that were added to transformers in
2446transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
2447compatibility to run on old versions of the platform.")
3ac73271 2448 (license license:bsd-3)))
c27f3ace 2449
379a5ad5
PW
2450(define-public ghc-transformers-compat
2451 (package
2452 (name "ghc-transformers-compat")
b85fbd99 2453 (version "0.5.1.4")
379a5ad5
PW
2454 (source
2455 (origin
2456 (method url-fetch)
2457 (uri (string-append
612fddec 2458 "https://hackage.haskell.org/package/transformers-compat"
379a5ad5
PW
2459 "/transformers-compat-" version ".tar.gz"))
2460 (sha256
2461 (base32
b85fbd99 2462 "17yam0199fh9ndsn9n69jx9nvbsmymzzwbi23dck3dk4q57fz0fq"))))
379a5ad5 2463 (build-system haskell-build-system)
612fddec 2464 (home-page "https://github.com/ekmett/transformers-compat/")
379a5ad5
PW
2465 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
2466 (description "This package includes backported versions of types that were
2467added to transformers in transformers 0.3 and 0.4 for users who need strict
2468transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
2469but also need those types.")
3ac73271 2470 (license license:bsd-3)))
379a5ad5 2471
5ef40cb2
PW
2472(define-public ghc-unix-time
2473 (package
2474 (name "ghc-unix-time")
5b4f6170 2475 (version "0.3.7")
5ef40cb2
PW
2476 (source
2477 (origin
2478 (method url-fetch)
2479 (uri (string-append
612fddec 2480 "https://hackage.haskell.org/package/unix-time/unix-time-"
5ef40cb2
PW
2481 version
2482 ".tar.gz"))
2483 (sha256
2484 (base32
5b4f6170 2485 "1qdlc9raih8s0m3x8x3n7q3ngh4faw2alv9l78sp6gnx648k0c8i"))))
5ef40cb2
PW
2486 (build-system haskell-build-system)
2487 (arguments
fd59d2ee
PW
2488 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
2489 ; is weird, that should be provided by GHC 7.10.2.
2d47cee2 2490 (inputs
5ef40cb2
PW
2491 `(("ghc-old-time" ,ghc-old-time)
2492 ("ghc-old-locale" ,ghc-old-locale)))
612fddec 2493 (home-page "https://hackage.haskell.org/package/unix-time")
5ef40cb2
PW
2494 (synopsis "Unix time parser/formatter and utilities")
2495 (description "This library provides fast parsing and formatting utilities
2496for Unix time in Haskell.")
3ac73271 2497 (license license:bsd-3)))
5ef40cb2 2498
801cc88d
PW
2499(define-public ghc-unix-compat
2500 (package
2501 (name "ghc-unix-compat")
99c4e561 2502 (version "0.4.2.0")
801cc88d
PW
2503 (source
2504 (origin
2505 (method url-fetch)
2506 (uri (string-append
612fddec 2507 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
801cc88d
PW
2508 version
2509 ".tar.gz"))
2510 (sha256
2511 (base32
99c4e561 2512 "036nv05w0yjxc3rfpar60ddjrlzc40mdgr5k6ihvwlvqfmq1gw9m"))))
801cc88d
PW
2513 (build-system haskell-build-system)
2514 (home-page
612fddec 2515 "https://github.com/jystic/unix-compat")
801cc88d
PW
2516 (synopsis "Portable POSIX-compatibility layer")
2517 (description
2518 "This package provides portable implementations of parts of the unix
2519package. This package re-exports the unix package when available. When it
2520isn't available, portable implementations are used.")
3ac73271 2521 (license license:bsd-3)))
801cc88d 2522
b6bfa2ca
LC
2523(define-public ghc-indents
2524 (package
2525 (name "ghc-indents")
2526 (version "0.3.3")
2527 (source (origin
2528 (method url-fetch)
2529 (uri (string-append
612fddec 2530 "https://hackage.haskell.org/package/indents/indents-"
b6bfa2ca
LC
2531 version ".tar.gz"))
2532 (sha256
2533 (base32
2534 "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn"))))
2535 (build-system haskell-build-system)
2536 (inputs
2537 `(("ghc-parsec" ,ghc-parsec)
2538 ("ghc-concatenative" ,ghc-concatenative)
2539 ("ghc-mtl" ,ghc-mtl)))
2540 (home-page "http://patch-tag.com/r/salazar/indents")
2541 (synopsis "Indentation sensitive parser-combinators for parsec")
2542 (description
2543 "This library provides functions for use in parsing indentation sensitive
2544contexts. It parses blocks of lines all indented to the same level as well as
2545lines continued at an indented level below.")
2546 (license license:bsd-3)))
2547
685502dc
PW
2548(define-public ghc-iproute
2549 (package
2550 (name "ghc-iproute")
1cc0942f 2551 (version "1.7.1")
685502dc
PW
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
612fddec 2556 "https://hackage.haskell.org/package/iproute/iproute-"
685502dc
PW
2557 version
2558 ".tar.gz"))
2559 (sha256
2560 (base32
1cc0942f 2561 "1viyxq3m1aifl05w0hxwrhhhcfpmvwz4ymil2gngi4nfm0yd1f2p"))))
685502dc
PW
2562 (build-system haskell-build-system)
2563 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2564 ; exported by ghc-byteorder. Doctest issue.
685502dc 2565 (inputs
2d47cee2
RW
2566 `(("ghc-appar" ,ghc-appar)
2567 ("ghc-byteorder" ,ghc-byteorder)
2568 ("ghc-network" ,ghc-network)
685502dc 2569 ("ghc-safe" ,ghc-safe)))
e427a0e4 2570 (home-page "https://www.mew.org/~kazu/proj/iproute/")
685502dc
PW
2571 (synopsis "IP routing table")
2572 (description "IP Routing Table is a tree of IP ranges to search one of
2573them on the longest match base. It is a kind of TRIE with one way branching
2574removed. Both IPv4 and IPv6 are supported.")
3ac73271 2575 (license license:bsd-3)))
685502dc 2576
a7101996
TGR
2577(define-public ghc-iwlib
2578 (package
2579 (name "ghc-iwlib")
2580 (version "0.1.0")
2581 (source
2582 (origin
2583 (method url-fetch)
2584 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
2585 version ".tar.gz"))
2586 (sha256
2587 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
2588 (build-system haskell-build-system)
2589 (inputs
2590 `(("wireless-tools" ,wireless-tools)))
2591 (home-page "https://github.com/jaor/iwlib")
2592 (synopsis "Haskell binding to the iw wireless networking library")
2593 (description
2594 "IWlib is a thin Haskell binding to the iw C library. It provides
2595information about the current wireless network connections, and adapters on
2596supported systems.")
2597 (license license:bsd-3)))
2598
9d5f0399
PW
2599(define-public ghc-regex-base
2600 (package
2601 (name "ghc-regex-base")
2602 (version "0.93.2")
2603 (source
2604 (origin
2605 (method url-fetch)
2606 (uri (string-append
612fddec 2607 "https://hackage.haskell.org/package/regex-base/regex-base-"
9d5f0399
PW
2608 version
2609 ".tar.gz"))
2610 (sha256
2611 (base32
2612 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2613 (build-system haskell-build-system)
2d47cee2 2614 (inputs
9d5f0399
PW
2615 `(("ghc-mtl" ,ghc-mtl)))
2616 (home-page
3b3b60d0 2617 "https://sourceforge.net/projects/lazy-regex")
9d5f0399
PW
2618 (synopsis "Replaces/Enhances Text.Regex")
2619 (description "@code{Text.Regex.Base} provides the interface API for
2620regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
3ac73271 2621 (license license:bsd-3)))
9d5f0399 2622
e422279b
PW
2623(define-public ghc-regex-posix
2624 (package
2625 (name "ghc-regex-posix")
2626 (version "0.95.2")
2627 (source
2628 (origin
2629 (method url-fetch)
2630 (uri (string-append
612fddec 2631 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
e422279b
PW
2632 version
2633 ".tar.gz"))
2634 (sha256
2635 (base32
2636 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2637 (build-system haskell-build-system)
2d47cee2 2638 (inputs
0eeaa169 2639 `(("ghc-regex-base" ,ghc-regex-base)))
3b3b60d0 2640 (home-page "https://sourceforge.net/projects/lazy-regex")
e422279b
PW
2641 (synopsis "POSIX regular expressions for Haskell")
2642 (description "This library provides the POSIX regex backend used by the
2643Haskell library @code{regex-base}.")
3ac73271 2644 (license license:bsd-3)))
e422279b 2645
25d51164
PW
2646(define-public ghc-regex-compat
2647 (package
2648 (name "ghc-regex-compat")
2649 (version "0.95.1")
2650 (source
2651 (origin
2652 (method url-fetch)
2653 (uri (string-append
612fddec 2654 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
25d51164
PW
2655 version
2656 ".tar.gz"))
2657 (sha256
2658 (base32
2659 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2660 (build-system haskell-build-system)
2661 (inputs
2662 `(("ghc-regex-base" ,ghc-regex-base)
2663 ("ghc-regex-posix" ,ghc-regex-posix)))
3b3b60d0 2664 (home-page "https://sourceforge.net/projects/lazy-regex")
25d51164
PW
2665 (synopsis "Replaces/Enhances Text.Regex")
2666 (description "This library provides one module layer over
2667@code{regex-posix} to replace @code{Text.Regex}.")
3ac73271 2668 (license license:bsd-3)))
25d51164 2669
34128d2b
PW
2670(define-public ghc-regex-tdfa-rc
2671 (package
2672 (name "ghc-regex-tdfa-rc")
2673 (version "1.1.8.3")
2674 (source
2675 (origin
2676 (method url-fetch)
2677 (uri (string-append
612fddec 2678 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
34128d2b
PW
2679 version
2680 ".tar.gz"))
2681 (sha256
2682 (base32
2683 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2684 (build-system haskell-build-system)
34128d2b 2685 (inputs
2d47cee2
RW
2686 `(("ghc-regex-base" ,ghc-regex-base)
2687 ("ghc-parsec" ,ghc-parsec)
2688 ("ghc-mtl" ,ghc-mtl)))
34128d2b 2689 (home-page
612fddec 2690 "https://hackage.haskell.org/package/regex-tdfa")
34128d2b
PW
2691 (synopsis "Tagged DFA regex engine for Haskell")
2692 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2693@code{libtre} (fork by Roman Cheplyaka).")
3ac73271 2694 (license license:bsd-3)))
34128d2b 2695
e73ed2a1
DM
2696(define-public ghc-regex-tdfa-text
2697 (package
2698 (name "ghc-regex-tdfa-text")
2699 (version "1.0.0.3")
2700 (source
2701 (origin
2702 (method url-fetch)
2703 (uri (string-append
2704 "https://hackage.haskell.org/package/regex-tdfa-text/"
2705 "regex-tdfa-text-" version ".tar.gz"))
2706 (sha256
2707 (base32
2708 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
2709 (build-system haskell-build-system)
2710 (inputs
2711 `(("ghc-text" ,ghc-text)
2712 ("ghc-regex-base" ,ghc-regex-base)
2713 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
2714 (home-page
2715 "http://hackage.haskell.org/package/regex-tdfa-text")
2716 (synopsis "Text interface for regex-tdfa")
2717 (description
2718 "This provides an extra text interface for regex-tdfa.")
2719 (license license:bsd-3)))
2720
7e2c8cb5
RW
2721(define-public ghc-regex
2722 (package
2723 (name "ghc-regex")
2724 (version "1.0.1.3")
2725 (source
2726 (origin
2727 (method url-fetch)
2728 (uri (string-append "https://hackage.haskell.org/package/regex/"
2729 "regex-" version ".tar.gz"))
2730 (sha256
2731 (base32
2732 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
2733 (build-system haskell-build-system)
2734 (inputs
2735 `(("ghc-base-compat" ,ghc-base-compat)
2736 ("ghc-hashable" ,ghc-hashable)
2737 ("ghc-regex-base" ,ghc-regex-base)
2738 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
2739 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
2740 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
2741 ("ghc-text" ,ghc-text)
2742 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
2743 ("ghc-unordered-containers" ,ghc-unordered-containers)
2744 ("ghc-utf8-string" ,ghc-utf8-string)))
2745 (home-page "http://regex.uk")
2746 (synopsis "Toolkit for regex-base")
2747 (description
2748 "This package provides a regular expression toolkit for @code{regex-base}
2749with compile-time checking of regular expression syntax, data types for
2750matches and captures, a text replacement toolkit, portable options, high-level
2751AWK-like tools for building text processing apps, regular expression macros
2752with parsers and test bench, comprehensive documentation, tutorials and
2753copious examples.")
2754 (license license:bsd-3)))
2755
e372520e
PW
2756(define-public ghc-parsers
2757 (package
2758 (name "ghc-parsers")
fef57b73 2759 (version "0.12.4")
e372520e
PW
2760 (source
2761 (origin
2762 (method url-fetch)
2763 (uri (string-append
612fddec 2764 "https://hackage.haskell.org/package/parsers/parsers-"
e372520e
PW
2765 version
2766 ".tar.gz"))
2767 (sha256
2768 (base32
fef57b73 2769 "07najh7f9y3ahh42z96sw4hnd0kc4x3wm0xlf739y0gh81ys5097"))))
e372520e
PW
2770 (build-system haskell-build-system)
2771 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2772 ; -package attoparsec-0.13.0.1"
2d47cee2 2773 (inputs
e372520e
PW
2774 `(("ghc-base-orphans" ,ghc-base-orphans)
2775 ("ghc-attoparsec" ,ghc-attoparsec)
2776 ("ghc-parsec" ,ghc-parsec)
2777 ("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
2778 ("ghc-charset" ,ghc-charset)
2779 ("ghc-text" ,ghc-text)
e372520e 2780 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 2781 (home-page "https://github.com/ekmett/parsers/")
e372520e
PW
2782 (synopsis "Parsing combinators")
2783 (description "This library provides convenient combinators for working
2784with and building parsing combinator libraries. Given a few simple instances,
2785you get access to a large number of canned definitions. Instances exist for
2786the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
2787@code{Text.Read}.")
3ac73271 2788 (license license:bsd-3)))
e372520e 2789
93248cfd
PW
2790(define-public ghc-trifecta
2791 (package
2792 (name "ghc-trifecta")
183d1b1a 2793 (version "1.7.1.1")
3ea25176
DC
2794 (source (origin
2795 (method url-fetch)
2796 (uri (string-append
2797 "https://hackage.haskell.org/package/trifecta/"
2798 "trifecta-" version ".tar.gz"))
2799 (sha256
2800 (base32
183d1b1a 2801 "13n6a3fdxngnzsjnhfrzigv1c2g0xm6lqkjcnirpc37sd0rpby31"))))
93248cfd 2802 (build-system haskell-build-system)
2d47cee2 2803 (inputs
183d1b1a
RW
2804 `(("ghc-doctest" ,ghc-doctest-0.13)
2805 ("ghc-reducers" ,ghc-reducers)
2d47cee2
RW
2806 ("ghc-semigroups" ,ghc-semigroups)
2807 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
93248cfd
PW
2808 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2809 ("ghc-blaze-builder" ,ghc-blaze-builder)
2810 ("ghc-blaze-html" ,ghc-blaze-html)
2811 ("ghc-blaze-markup" ,ghc-blaze-markup)
3ea25176
DC
2812 ("ghc-charset" ,ghc-charset)
2813 ("ghc-comonad" ,ghc-comonad)
2814 ("ghc-doctest" ,ghc-doctest)
93248cfd
PW
2815 ("ghc-fingertree" ,ghc-fingertree)
2816 ("ghc-hashable" ,ghc-hashable)
3ea25176 2817 ("ghc-lens" ,ghc-lens)
93248cfd
PW
2818 ("ghc-mtl" ,ghc-mtl)
2819 ("ghc-parsers" ,ghc-parsers)
3ea25176
DC
2820 ("ghc-profunctors" ,ghc-profunctors)
2821 ("ghc-quickcheck" ,ghc-quickcheck)
93248cfd
PW
2822 ("ghc-unordered-containers" ,ghc-unordered-containers)
2823 ("ghc-utf8-string" ,ghc-utf8-string)))
183d1b1a
RW
2824 (native-inputs
2825 `(("cabal-doctest" ,cabal-doctest)))
612fddec 2826 (home-page "https://github.com/ekmett/trifecta/")
93248cfd
PW
2827 (synopsis "Parser combinator library with convenient diagnostics")
2828 (description "Trifecta is a modern parser combinator library for Haskell,
2829with slicing and Clang-style colored diagnostics.")
3ac73271 2830 (license license:bsd-3)))
93248cfd 2831
5e51bcf7
RW
2832(define-public ghc-time-locale-compat
2833 (package
2834 (name "ghc-time-locale-compat")
2835 (version "0.1.1.3")
2836 (source
2837 (origin
2838 (method url-fetch)
2839 (uri (string-append "https://hackage.haskell.org/package/"
2840 "time-locale-compat/time-locale-compat-"
2841 version ".tar.gz"))
2842 (sha256
2843 (base32
2844 "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i"))))
2845 (build-system haskell-build-system)
2846 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
2847 (home-page "https://github.com/khibino/haskell-time-locale-compat")
2848 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
2849 (description "This package contains a wrapped name module for
2850@code{TimeLocale}.")
2851 (license license:bsd-3)))
2852
bc74e0e1
PW
2853(define-public ghc-attoparsec
2854 (package
2855 (name "ghc-attoparsec")
1b1a1067 2856 (version "0.13.2.2")
bc74e0e1
PW
2857 (source
2858 (origin
2859 (method url-fetch)
2860 (uri (string-append
612fddec 2861 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
bc74e0e1
PW
2862 version
2863 ".tar.gz"))
2864 (sha256
2865 (base32
1b1a1067 2866 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
bc74e0e1 2867 (build-system haskell-build-system)
1b1a1067
RW
2868 ;; FIXME: at least on test fails with QuickCheck > 2.9.2. Once upstream
2869 ;; has updated the tests to work with a later version of QuickCheck we can
2870 ;; re-enable them.
2871 (arguments `(#:tests? #f))
bc74e0e1 2872 (inputs
3ad6b890 2873 `(("ghc-scientific-bootstrap" ,ghc-scientific-bootstrap)
2d47cee2
RW
2874 ("ghc-text" ,ghc-text)))
2875 (native-inputs
1b1a1067
RW
2876 `(("ghc-tasty" ,ghc-tasty)
2877 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2878 ("ghc-quickcheck" ,ghc-quickcheck)
19206f5e 2879 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
bc74e0e1
PW
2880 ("ghc-vector" ,ghc-vector)))
2881 (home-page "https://github.com/bos/attoparsec")
2882 (synopsis "Fast combinator parsing for bytestrings and text")
2883 (description "This library provides a fast parser combinator library,
2884aimed particularly at dealing efficiently with network protocols and
2885complicated text/binary file formats.")
3ac73271 2886 (license license:bsd-3)))
bc74e0e1 2887
3ad6b890
AI
2888(define ghc-attoparsec-bootstrap
2889 (package
2890 (inherit ghc-attoparsec)
2891 (name "ghc-attoparsec-bootstrap")
2892 (arguments '(#:tests? #f))
2893 (native-inputs '())))
2894
ca41c155
PW
2895(define-public ghc-zip-archive
2896 (package
2897 (name "ghc-zip-archive")
2025964b 2898 (version "0.3.0.5")
ca41c155
PW
2899 (source
2900 (origin
2901 (method url-fetch)
2902 (uri (string-append
612fddec 2903 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
ca41c155
PW
2904 version
2905 ".tar.gz"))
2906 (sha256
2907 (base32
2025964b 2908 "1iwpzjck4jg9bz1yqky051i2wljsqc14q5zbi10dydfp8ip3d0yw"))))
ca41c155 2909 (build-system haskell-build-system)
ca41c155 2910 (inputs
2d47cee2
RW
2911 `(("ghc-old-time" ,ghc-old-time)
2912 ("ghc-digest" ,ghc-digest)
ca41c155 2913 ("zip" ,zip)
2d47cee2 2914 ("ghc-mtl" ,ghc-mtl)
2025964b 2915 ("ghc-temporary" ,ghc-temporary)
ca41c155
PW
2916 ("ghc-text" ,ghc-text)
2917 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
2918 (native-inputs
2919 `(("ghc-hunit" ,ghc-hunit)))
ca41c155
PW
2920 (home-page "https://hackage.haskell.org/package/zip-archive")
2921 (synopsis "Zip archive library for Haskell")
2922 (description "The zip-archive library provides functions for creating,
2923modifying, and extracting files from zip archives in Haskell.")
3ac73271 2924 (license license:bsd-3)))
ca41c155 2925
fa4f5024
PW
2926(define-public ghc-distributive
2927 (package
2928 (name "ghc-distributive")
c2d30e31 2929 (version "0.5.3")
fa4f5024
PW
2930 (source
2931 (origin
2932 (method url-fetch)
2933 (uri (string-append
612fddec 2934 "https://hackage.haskell.org/package/distributive/distributive-"
fa4f5024
PW
2935 version
2936 ".tar.gz"))
2937 (sha256
2938 (base32
c2d30e31 2939 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
fa4f5024 2940 (build-system haskell-build-system)
2d47cee2 2941 (inputs
fa4f5024 2942 `(("ghc-tagged" ,ghc-tagged)
c2d30e31
RW
2943 ("ghc-base-orphans" ,ghc-base-orphans)
2944 ("ghc-transformers-compat" ,ghc-transformers-compat)
2945 ("ghc-semigroups" ,ghc-semigroups)
2946 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2947 (native-inputs
2948 `(("cabal-doctest" ,cabal-doctest)
2949 ("ghc-doctest" ,ghc-doctest-0.12)
2950 ("ghc-hspec" ,ghc-hspec)
2951 ("hspec-discover" ,hspec-discover)))
612fddec 2952 (home-page "https://github.com/ekmett/distributive/")
fa4f5024
PW
2953 (synopsis "Distributive functors for Haskell")
2954 (description "This package provides distributive functors for Haskell.
2955Dual to @code{Traversable}.")
3ac73271 2956 (license license:bsd-3)))
fa4f5024 2957
10e61452
PW
2958(define-public ghc-cereal
2959 (package
2960 (name "ghc-cereal")
3295a6da 2961 (version "0.5.3.0")
10e61452
PW
2962 (source
2963 (origin
2964 (method url-fetch)
2965 (uri (string-append
612fddec 2966 "https://hackage.haskell.org/package/cereal/cereal-"
10e61452
PW
2967 version
2968 ".tar.gz"))
2969 (sha256
2970 (base32
3295a6da 2971 "1x4aib7nnaf4x2b9zlndq5n5zsqniw78jifkf55nhnbmvryf05n3"))))
10e61452 2972 (build-system haskell-build-system)
3295a6da
RW
2973 (native-inputs
2974 `(("ghc-quickcheck" ,ghc-quickcheck)
2975 ("ghc-fail" ,ghc-fail)
2976 ("ghc-test-framework" ,ghc-test-framework)
2977 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 2978 (home-page "https://hackage.haskell.org/package/cereal")
10e61452
PW
2979 (synopsis "Binary serialization library")
2980 (description "This package provides a binary serialization library,
2981similar to @code{binary}, that introduces an @code{isolate} primitive for
2982parser isolation, and labeled blocks for better error messages.")
3ac73271 2983 (license license:bsd-3)))
10e61452 2984
40b56b52
PW
2985(define-public ghc-comonad
2986 (package
2987 (name "ghc-comonad")
4854c7be 2988 (version "5")
40b56b52
PW
2989 (source
2990 (origin
2991 (method url-fetch)
2992 (uri (string-append
612fddec 2993 "https://hackage.haskell.org/package/comonad/comonad-"
40b56b52
PW
2994 version
2995 ".tar.gz"))
2996 (sha256
2997 (base32
4854c7be 2998 "0anb36m9z52y9xsipxzj9w1b41b2rj8r389cxd6d20dplnfv3rbq"))))
40b56b52 2999 (build-system haskell-build-system)
bdd4aa16
TGR
3000 (native-inputs
3001 `(("ghc-doctest" ,ghc-doctest)))
40b56b52 3002 (inputs
7e95d0fd
TGR
3003 `(("ghc-contravariant" ,ghc-contravariant)
3004 ("ghc-distributive" ,ghc-distributive)
2d47cee2 3005 ("ghc-semigroups" ,ghc-semigroups)
40b56b52 3006 ("ghc-tagged" ,ghc-tagged)
7e95d0fd 3007 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3008 (home-page "https://github.com/ekmett/comonad/")
40b56b52
PW
3009 (synopsis "Comonads for Haskell")
3010 (description "This library provides @code{Comonad}s for Haskell.")
3ac73271 3011 (license license:bsd-3)))
40b56b52 3012
ce78a0f5
PW
3013(define-public hscolour
3014 (package
3015 (name "hscolour")
c710d4e8 3016 (version "1.24.1")
ce78a0f5
PW
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append
612fddec 3021 "https://hackage.haskell.org/package/hscolour/hscolour-"
ce78a0f5
PW
3022 version
3023 ".tar.gz"))
3024 (sha256
3025 (base32
c710d4e8 3026 "1j3rpzjygh3igvnd1n2xn63bq68rs047cjxr2qi6xyfnivgf6vz4"))))
ce78a0f5
PW
3027 (build-system haskell-build-system)
3028 (home-page "https://hackage.haskell.org/package/hscolour")
3029 (synopsis "Script to colourise Haskell code")
3030 (description "HSColour is a small Haskell script to colourise Haskell
3031code. It currently has six output formats: ANSI terminal codes (optionally
3032XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
3033with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
3034and mIRC chat codes.")
3ac73271 3035 (license license:bsd-3)))
ce78a0f5 3036
47038762
PW
3037(define-public ghc-polyparse
3038 (package
3039 (name "ghc-polyparse")
7fb6eb17 3040 (version "1.12")
47038762
PW
3041 (source
3042 (origin
3043 (method url-fetch)
3044 (uri (string-append
612fddec 3045 "https://hackage.haskell.org/package/polyparse/polyparse-"
47038762
PW
3046 version
3047 ".tar.gz"))
3048 (sha256
3049 (base32
7fb6eb17 3050 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
47038762 3051 (build-system haskell-build-system)
2d47cee2 3052 (inputs
47038762
PW
3053 `(("ghc-text" ,ghc-text)))
3054 (home-page
3055 "http://code.haskell.org/~malcolm/polyparse/")
3056 (synopsis
3057 "Alternative parser combinator libraries")
3058 (description
3059 "This package provides a variety of alternative parser combinator
3060libraries, including the original HuttonMeijer set. The Poly sets have
3061features like good error reporting, arbitrary token type, running state, lazy
3062parsing, and so on. Finally, Text.Parse is a proposed replacement for the
3063standard Read class, for better deserialisation of Haskell values from
3064Strings.")
3ac73271 3065 (license license:lgpl2.1)))
47038762 3066
fad564ec
PW
3067(define-public ghc-extra
3068 (package
3069 (name "ghc-extra")
7d4de988 3070 (version "1.6.3")
fad564ec
PW
3071 (source
3072 (origin
3073 (method url-fetch)
3074 (uri (string-append
612fddec 3075 "https://hackage.haskell.org/package/extra/extra-"
fad564ec
PW
3076 version
3077 ".tar.gz"))
3078 (sha256
3079 (base32
7d4de988 3080 "06ds0jlx6sljwdf63l154qbzia9mnsri79i9qm3xikky3nj9ia1m"))))
fad564ec 3081 (build-system haskell-build-system)
7d4de988
RW
3082 (inputs
3083 `(("ghc-clock" ,ghc-clock)
3084 ("ghc-quickcheck" ,ghc-quickcheck)))
fad564ec
PW
3085 (home-page "https://github.com/ndmitchell/extra")
3086 (synopsis "Extra Haskell functions")
3087 (description "This library provides extra functions for the standard
3088Haskell libraries. Most functions are simple additions, filling out missing
3089functionality. A few functions are available in later versions of GHC, but
3090this package makes them available back to GHC 7.2.")
3ac73271 3091 (license license:bsd-3)))
fad564ec 3092
f221841c
PW
3093(define-public ghc-profunctors
3094 (package
3095 (name "ghc-profunctors")
4a1b5600 3096 (version "5.2.2")
f221841c
PW
3097 (source
3098 (origin
3099 (method url-fetch)
3100 (uri (string-append
612fddec 3101 "https://hackage.haskell.org/package/profunctors/profunctors-"
f221841c
PW
3102 version
3103 ".tar.gz"))
3104 (sha256
3105 (base32
4a1b5600 3106 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
f221841c 3107 (build-system haskell-build-system)
f221841c 3108 (inputs
4a1b5600
RW
3109 `(("ghc-base-orphans" ,ghc-base-orphans)
3110 ("ghc-bifunctors" ,ghc-bifunctors)
2d47cee2 3111 ("ghc-comonad" ,ghc-comonad)
4a1b5600
RW
3112 ("ghc-contravariant" ,ghc-contravariant)
3113 ("ghc-distributive" ,ghc-distributive)
3114 ("ghc-semigroups" ,ghc-semigroups)
f221841c 3115 ("ghc-tagged" ,ghc-tagged)))
612fddec 3116 (home-page "https://github.com/ekmett/profunctors/")
f221841c
PW
3117 (synopsis "Profunctors for Haskell")
3118 (description "This library provides profunctors for Haskell.")
3ac73271 3119 (license license:bsd-3)))
f221841c 3120
d2639cbc
PW
3121(define-public ghc-reducers
3122 (package
3123 (name "ghc-reducers")
2815963b 3124 (version "3.12.2")
d2639cbc
PW
3125 (source
3126 (origin
3127 (method url-fetch)
3128 (uri (string-append
612fddec 3129 "https://hackage.haskell.org/package/reducers/reducers-"
d2639cbc
PW
3130 version
3131 ".tar.gz"))
3132 (sha256
3133 (base32
2815963b 3134 "1gbaa5x4zbvnbklcb0d4q4m8hk6w0gz4s0c4m288czi1nw43dl65"))))
d2639cbc 3135 (build-system haskell-build-system)
d2639cbc
PW
3136 (inputs
3137 `(("ghc-fingertree" ,ghc-fingertree)
3138 ("ghc-hashable" ,ghc-hashable)
3139 ("ghc-text" ,ghc-text)
3140 ("ghc-unordered-containers" ,ghc-unordered-containers)
2d47cee2 3141 ("ghc-semigroupoids" ,ghc-semigroupoids)
d2639cbc 3142 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 3143 (home-page "https://github.com/ekmett/reducers/")
d2639cbc
PW
3144 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
3145 (description "This library provides various semigroups, specialized
3146containers and a general map/reduce framework for Haskell.")
3ac73271 3147 (license license:bsd-3)))
d2639cbc 3148
76ae28f1
PW
3149(define-public ghc-appar
3150 (package
3151 (name "ghc-appar")
3152 (version "0.1.4")
3153 (source
3154 (origin
3155 (method url-fetch)
3156 (uri (string-append
612fddec 3157 "https://hackage.haskell.org/package/appar/appar-"
76ae28f1
PW
3158 version
3159 ".tar.gz"))
3160 (sha256
3161 (base32
3162 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
3163 (build-system haskell-build-system)
3164 (home-page
612fddec 3165 "https://hackage.haskell.org/package/appar")
76ae28f1
PW
3166 (synopsis "Simple applicative parser")
3167 (description "This package provides a simple applicative parser in Parsec
3168style.")
3ac73271 3169 (license license:bsd-3)))
76ae28f1 3170
78c5b39d
PW
3171(define-public ghc-safe
3172 (package
3173 (name "ghc-safe")
3174 (version "0.3.9")
3175 (source
3176 (origin
3177 (method url-fetch)
3178 (uri (string-append
612fddec 3179 "https://hackage.haskell.org/package/safe/safe-"
78c5b39d
PW
3180 version
3181 ".tar.gz"))
3182 (sha256
3183 (base32
3184 "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
3185 (build-system haskell-build-system)
3186 (home-page "https://github.com/ndmitchell/safe#readme")
3187 (synopsis "Library of safe (exception free) functions")
3188 (description "This library provides wrappers around @code{Prelude} and
3189@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
3190exceptions.")
3ac73271 3191 (license license:bsd-3)))
78c5b39d 3192
476f7bab
PW
3193(define-public ghc-generic-deriving
3194 (package
3195 (name "ghc-generic-deriving")
24857542 3196 (version "1.11.1")
476f7bab
PW
3197 (source
3198 (origin
3199 (method url-fetch)
3200 (uri (string-append
612fddec 3201 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
476f7bab
PW
3202 version
3203 ".tar.gz"))
3204 (sha256
3205 (base32
24857542 3206 "1sdh5hpcwvh3b6zvgfk3pr3hla8p88l82njnih880c0gk5zl53dk"))))
476f7bab 3207 (build-system haskell-build-system)
24857542
RW
3208 (native-inputs
3209 `(("ghc-hspec" ,ghc-hspec)
3210 ("hspec-discover" ,hspec-discover)))
476f7bab
PW
3211 (home-page "https://hackage.haskell.org/package/generic-deriving")
3212 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3213 (description "This package provides functionality for generalising the
3214deriving mechanism in Haskell to arbitrary classes.")
3ac73271 3215 (license license:bsd-3)))
476f7bab 3216
b10f7be3
PW
3217(define-public ghc-pcre-light
3218 (package
3219 (name "ghc-pcre-light")
eff94e6b 3220 (version "0.4.0.4")
b10f7be3
PW
3221 (source
3222 (origin
3223 (method url-fetch)
3224 (uri (string-append
612fddec 3225 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
b10f7be3
PW
3226 version
3227 ".tar.gz"))
3228 (sha256
3229 (base32
eff94e6b 3230 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
b10f7be3
PW
3231 (build-system haskell-build-system)
3232 (inputs
3233 `(("pcre" ,pcre)))
eff94e6b
RW
3234 (native-inputs
3235 `(("pkg-config" ,pkg-config)))
b10f7be3
PW
3236 (home-page "https://github.com/Daniel-Diaz/pcre-light")
3237 (synopsis "Haskell library for Perl 5 compatible regular expressions")
3238 (description "This package provides a small, efficient, and portable regex
3239library for Perl 5 compatible regular expressions. The PCRE library is a set
3240of functions that implement regular expression pattern matching using the same
3241syntax and semantics as Perl 5.")
3ac73271 3242 (license license:bsd-3)))
b10f7be3 3243
748463be
PW
3244(define-public ghc-logict
3245 (package
3246 (name "ghc-logict")
3247 (version "0.6.0.2")
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
612fddec 3252 "https://hackage.haskell.org/package/logict/logict-"
748463be
PW
3253 version
3254 ".tar.gz"))
3255 (sha256
3256 (base32
3257 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
3258 (build-system haskell-build-system)
3259 (inputs `(("ghc-mtl" ,ghc-mtl)))
3260 (home-page "http://code.haskell.org/~dolio/")
3261 (synopsis "Backtracking logic-programming monad")
3262 (description "This library provides a continuation-based, backtracking,
3263logic programming monad. An adaptation of the two-continuation implementation
3264found in the paper \"Backtracking, Interleaving, and Terminating Monad
3265Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
3266online}.")
3ac73271 3267 (license license:bsd-3)))
748463be 3268
d10fed28
PW
3269(define-public ghc-xml
3270 (package
3271 (name "ghc-xml")
3272 (version "1.3.14")
3273 (source
3274 (origin
3275 (method url-fetch)
3276 (uri (string-append
612fddec 3277 "https://hackage.haskell.org/package/xml/xml-"
d10fed28
PW
3278 version
3279 ".tar.gz"))
3280 (sha256
3281 (base32
3282 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
3283 (build-system haskell-build-system)
2d47cee2 3284 (inputs
d10fed28
PW
3285 `(("ghc-text" ,ghc-text)))
3286 (home-page "http://code.galois.com")
3287 (synopsis "Simple XML library for Haskell")
3288 (description "This package provides a simple XML library for Haskell.")
3ac73271 3289 (license license:bsd-3)))
d10fed28 3290
e3aae496
TS
3291(define-public ghc-feed
3292 (package
3293 (name "ghc-feed")
3294 (version "0.3.12.0")
3295 (source
3296 (origin
3297 (method url-fetch)
3298 (uri (string-append "https://hackage.haskell.org/package/"
3299 "feed/feed-" version ".tar.gz"))
3300 (sha256
3301 (base32
3302 "0hkrsinspg70bbm3hwqdrvivws6zya1hyk0a3awpaz82j4xnlbfc"))))
3303 (build-system haskell-build-system)
3304 (inputs
3305 `(("ghc-old-locale" ,ghc-old-locale)
3306 ("ghc-old-time" ,ghc-old-time)
3307 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3308 ("ghc-utf8-string" ,ghc-utf8-string)
3309 ("ghc-xml" ,ghc-xml)))
3310 (native-inputs
3311 `(("ghc-hunit" ,ghc-hunit)
3312 ("ghc-test-framework" ,ghc-test-framework)
3313 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3314 (home-page "https://github.com/bergmark/feed")
3315 (synopsis "Haskell package for handling various syndication formats")
3316 (description "This Haskell package includes tools for generating and
3317consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3318 (license license:bsd-3)))
3319
31cac1ee
PW
3320(define-public ghc-exceptions
3321 (package
3322 (name "ghc-exceptions")
092ab12f 3323 (version "0.8.3")
31cac1ee
PW
3324 (source
3325 (origin
3326 (method url-fetch)
3327 (uri (string-append
612fddec 3328 "https://hackage.haskell.org/package/exceptions/exceptions-"
31cac1ee
PW
3329 version
3330 ".tar.gz"))
3331 (sha256
3332 (base32
092ab12f 3333 "1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd"))))
31cac1ee 3334 (build-system haskell-build-system)
e2d3e4d6
RW
3335 (arguments
3336 `(#:configure-flags (list "--allow-newer=QuickCheck")))
e1e80388
TGR
3337 (native-inputs
3338 `(("ghc-test-framework" ,ghc-test-framework)
3339 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2d47cee2 3340 (inputs
31cac1ee
PW
3341 `(("ghc-stm" ,ghc-stm)
3342 ("ghc-mtl" ,ghc-mtl)
3343 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3344 (home-page "https://github.com/ekmett/exceptions/")
31cac1ee
PW
3345 (synopsis "Extensible optionally-pure exceptions")
3346 (description "This library provides extensible optionally-pure exceptions
3347for Haskell.")
3ac73271 3348 (license license:bsd-3)))
31cac1ee 3349
5257c341
PW
3350(define-public ghc-temporary
3351 (package
3352 (name "ghc-temporary")
de428d4d 3353 (version "1.2.0.4")
5257c341
PW
3354 (source
3355 (origin
3356 (method url-fetch)
3357 (uri (string-append
612fddec 3358 "https://hackage.haskell.org/package/temporary/temporary-"
5257c341
PW
3359 version
3360 ".tar.gz"))
3361 (sha256
3362 (base32
de428d4d 3363 "0qk741yqnpd69sksgks2vb7zi50rglp9m498lzw4sh268a017rsi"))))
5257c341 3364 (build-system haskell-build-system)
2d47cee2 3365 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
98b90194 3366 (home-page "https://www.github.com/batterseapower/temporary")
5257c341
PW
3367 (synopsis "Temporary file and directory support")
3368 (description "The functions for creating temporary files and directories
3369in the Haskelll base library are quite limited. This library just repackages
3370the Cabal implementations of its own temporary file and folder functions so
3371that you can use them without linking against Cabal or depending on it being
3372installed.")
3ac73271 3373 (license license:bsd-3)))
5257c341 3374
fa67563c
PW
3375(define-public ghc-temporary-rc
3376 (package
3377 (name "ghc-temporary-rc")
3378 (version "1.2.0.3")
3379 (source
3380 (origin
3381 (method url-fetch)
3382 (uri (string-append
612fddec 3383 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
fa67563c
PW
3384 version
3385 ".tar.gz"))
3386 (sha256
3387 (base32
3388 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
3389 (build-system haskell-build-system)
2d47cee2 3390 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
fa67563c 3391 (home-page
98b90194 3392 "https://www.github.com/feuerbach/temporary")
fa67563c
PW
3393 (synopsis
3394 "Portable temporary file and directory support")
3395 (description
3396 "The functions for creating temporary files and directories in the base
3397library are quite limited. The unixutils package contains some good ones, but
3398they aren't portable to Windows. This library just repackages the Cabal
3399implementations of its own temporary file and folder functions so that you can
3400use them without linking against Cabal or depending on it being installed.
3401This is a better maintained fork of the \"temporary\" package.")
3ac73271 3402 (license license:bsd-3)))
fa67563c 3403
b53fa046
PW
3404(define-public ghc-smallcheck
3405 (package
3406 (name "ghc-smallcheck")
b625f3a5 3407 (version "1.1.5")
b53fa046
PW
3408 (source
3409 (origin
3410 (method url-fetch)
3411 (uri (string-append
612fddec 3412 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
b53fa046
PW
3413 version
3414 ".tar.gz"))
3415 (sha256
3416 (base32
b625f3a5 3417 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
b53fa046 3418 (build-system haskell-build-system)
b53fa046 3419 (inputs
2d47cee2
RW
3420 `(("ghc-logict" ,ghc-logict)
3421 ("ghc-mtl" ,ghc-mtl)))
b53fa046
PW
3422 (home-page
3423 "https://github.com/feuerbach/smallcheck")
3424 (synopsis "Property-based testing library")
3425 (description "SmallCheck is a testing library that allows to verify
3426properties for all test cases up to some depth. The test cases are generated
3427automatically by SmallCheck.")
3ac73271 3428 (license license:bsd-3)))
b53fa046 3429
acd881a4
PW
3430(define-public ghc-silently
3431 (package
3432 (name "ghc-silently")
3433 (version "1.2.5")
3434 (source
3435 (origin
3436 (method url-fetch)
3437 (uri (string-append
612fddec 3438 "https://hackage.haskell.org/package/silently/silently-"
acd881a4
PW
3439 version
3440 ".tar.gz"))
3441 (sha256
3442 (base32
3443 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
3444 (build-system haskell-build-system)
3445 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
3446 ;; (inputs
3447 ;; `(("ghc-temporary" ,ghc-temporary)))
3448 (home-page "https://github.com/hspec/silently")
3449 (synopsis "Prevent writing to stdout")
3450 (description "This package provides functions to prevent or capture
3451writing to stdout and other handles.")
3ac73271 3452 (license license:bsd-3)))
acd881a4 3453
7a1e8c74
FB
3454(define-public ghc-case-insensitive
3455 (package
3456 (name "ghc-case-insensitive")
fc9dd558 3457 (version "1.2.0.7")
7a1e8c74
FB
3458 (outputs '("out" "doc"))
3459 (source
3460 (origin
3461 (method url-fetch)
3462 (uri (string-append
612fddec 3463 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
7a1e8c74
FB
3464 version
3465 ".tar.gz"))
3466 (sha256
3467 (base32
fc9dd558 3468 "1j6ahvrz1g5q89y2difyk838yhwjc8z67zr0v2z512qdznc3h38n"))))
7a1e8c74
FB
3469 (build-system haskell-build-system)
3470 (inputs
3471 `(("ghc-hunit" ,ghc-hunit)))
3472 ;; these inputs are necessary to use this library
2d47cee2 3473 (inputs
7a1e8c74
FB
3474 `(("ghc-text" ,ghc-text)
3475 ("ghc-hashable" ,ghc-hashable)))
3476 (arguments
3477 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3478 (home-page
3479 "https://github.com/basvandijk/case-insensitive")
3480 (synopsis "Case insensitive string comparison")
3481 (description
3482 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3483which can be parameterised by a string-like type like: 'String', 'ByteString',
3484'Text', etc.. Comparisons of values of the resulting type will be insensitive
3485to cases.")
3ac73271 3486 (license license:bsd-3)))
7a1e8c74 3487
eaa3088e
FB
3488(define-public ghc-syb
3489 (package
3490 (name "ghc-syb")
a306190f 3491 (version "0.6")
eaa3088e
FB
3492 (outputs '("out" "doc"))
3493 (source
3494 (origin
3495 (method url-fetch)
3496 (uri (string-append
612fddec 3497 "https://hackage.haskell.org/package/syb/syb-"
eaa3088e
FB
3498 version
3499 ".tar.gz"))
3500 (sha256
3501 (base32
a306190f 3502 "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
eaa3088e
FB
3503 (build-system haskell-build-system)
3504 (inputs
3505 `(("ghc-hunit" ,ghc-hunit)
3506 ("ghc-mtl" ,ghc-mtl)))
3507 (home-page
3508 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3509 (synopsis "Scrap Your Boilerplate")
a306190f 3510 (description "This package contains the generics system described in the
eaa3088e 3511/Scrap Your Boilerplate/ papers (see
a306190f
PW
3512@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3513defines the 'Data' class of types permitting folding and unfolding of
3514constructor applications, instances of this class for primitive types, and a
3515variety of traversals.")
3ac73271 3516 (license license:bsd-3)))
eaa3088e 3517
c5043f4a
FB
3518(define-public ghc-fgl
3519 (package
3520 (name "ghc-fgl")
b1a16000 3521 (version "5.6.0.0")
c5043f4a
FB
3522 (outputs '("out" "doc"))
3523 (source
3524 (origin
3525 (method url-fetch)
3526 (uri (string-append
612fddec 3527 "https://hackage.haskell.org/package/fgl/fgl-"
c5043f4a
FB
3528 version
3529 ".tar.gz"))
3530 (sha256
3531 (base32
b1a16000 3532 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
c5043f4a 3533 (build-system haskell-build-system)
c0a541cb 3534 (arguments
b1a16000
AI
3535 `(#:configure-flags (list "--allow-newer=QuickCheck"
3536 "--allow-newer=hspec")))
ce242fd0 3537 (inputs
3538 `(("ghc-mtl" ,ghc-mtl)
3539 ("ghc-hspec" ,ghc-hspec)
3540 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 3541 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
c5043f4a
FB
3542 (synopsis
3543 "Martin Erwig's Functional Graph Library")
3544 (description "The functional graph library, FGL, is a collection of type
3545and function definitions to address graph problems. The basis of the library
3546is an inductive definition of graphs in the style of algebraic data types that
3547encourages inductive, recursive definitions of graph algorithms.")
3ac73271 3548 (license license:bsd-3)))
c5043f4a 3549
4eca62be
EB
3550(define-public ghc-chasingbottoms
3551 (package
3552 (name "ghc-chasingbottoms")
2c72272a 3553 (version "1.3.1.3")
4eca62be
EB
3554 (source
3555 (origin
3556 (method url-fetch)
612fddec 3557 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
4eca62be
EB
3558 "ChasingBottoms-" version ".tar.gz"))
3559 (sha256
3560 (base32
2c72272a 3561 "04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q"))))
4eca62be 3562 (build-system haskell-build-system)
2d47cee2 3563 (inputs
4eca62be
EB
3564 `(("ghc-mtl" ,ghc-mtl)
3565 ("ghc-quickcheck" ,ghc-quickcheck)
3566 ("ghc-random" ,ghc-random)
3567 ("ghc-syb" ,ghc-syb)))
612fddec 3568 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
4eca62be
EB
3569 (synopsis "Testing of partial and infinite values in Haskell")
3570 (description
3571 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3572 ;; rendered properly.
3573 "This is a library for testing code involving bottoms or infinite values.
3574For the underlying theory and a larger example involving use of QuickCheck,
3575see the article
3576@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3577\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3578Partial and Infinite Values\"}.")
3ac73271 3579 (license license:expat)))
4eca62be 3580
01a687da
FB
3581(define-public ghc-unordered-containers
3582 (package
3583 (name "ghc-unordered-containers")
426f92ba 3584 (version "0.2.7.1")
01a687da
FB
3585 (outputs '("out" "doc"))
3586 (source
3587 (origin
3588 (method url-fetch)
3589 (uri (string-append
612fddec 3590 "https://hackage.haskell.org/package/unordered-containers"
0e03d76a 3591 "/unordered-containers-" version ".tar.gz"))
01a687da
FB
3592 (sha256
3593 (base32
426f92ba 3594 "00npqiphivjp2d7ryqsdavfn4m5v3w1lq2azhdsrfh0wsvqpg4ig"))))
01a687da
FB
3595 (build-system haskell-build-system)
3596 (inputs
c3c61a78
EB
3597 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3598 ("ghc-hunit" ,ghc-hunit)
3599 ("ghc-quickcheck" ,ghc-quickcheck)
3600 ("ghc-test-framework" ,ghc-test-framework)
3601 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2d47cee2
RW
3602 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3603 ("ghc-hashable" ,ghc-hashable)))
01a687da
FB
3604 (home-page
3605 "https://github.com/tibbe/unordered-containers")
3606 (synopsis
3607 "Efficient hashing-based container types")
3608 (description
3609 "Efficient hashing-based container types. The containers have been
3610optimized for performance critical use, both in terms of large data quantities
3611and high speed.")
3ac73271 3612 (license license:bsd-3)))
01a687da 3613
10de4306
PW
3614(define-public ghc-uniplate
3615 (package
3616 (name "ghc-uniplate")
3617 (version "1.6.12")
3618 (source
3619 (origin
3620 (method url-fetch)
3621 (uri (string-append
612fddec 3622 "https://hackage.haskell.org/package/uniplate/uniplate-"
10de4306
PW
3623 version
3624 ".tar.gz"))
3625 (sha256
3626 (base32
3627 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3628 (build-system haskell-build-system)
2d47cee2 3629 (inputs
10de4306
PW
3630 `(("ghc-syb" ,ghc-syb)
3631 ("ghc-hashable" ,ghc-hashable)
3632 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3633 (home-page "http://community.haskell.org/~ndm/uniplate/")
3634 (synopsis "Simple, concise and fast generic operations")
3635 (description "Uniplate is a library for writing simple and concise generic
3636operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3637work, but is substantially simpler and faster.")
3ac73271 3638 (license license:bsd-3)))
10de4306 3639
3410470d
PW
3640(define-public ghc-base64-bytestring
3641 (package
3642 (name "ghc-base64-bytestring")
3643 (version "1.0.0.1")
3644 (source
3645 (origin
3646 (method url-fetch)
3647 (uri (string-append
612fddec 3648 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3410470d
PW
3649 version
3650 ".tar.gz"))
3651 (sha256
3652 (base32
3653 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3654 (build-system haskell-build-system)
3655 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3656 (home-page "https://github.com/bos/base64-bytestring")
3657 (synopsis "Base64 encoding and decoding for ByteStrings")
3658 (description "This library provides fast base64 encoding and decoding for
3659Haskell @code{ByteString}s.")
3ac73271 3660 (license license:bsd-3)))
3410470d 3661
4e125497
PW
3662(define-public ghc-annotated-wl-pprint
3663 (package
3664 (name "ghc-annotated-wl-pprint")
3665 (version "0.7.0")
3666 (source
3667 (origin
3668 (method url-fetch)
3669 (uri (string-append
612fddec 3670 "https://hackage.haskell.org/package/annotated-wl-pprint"
4e125497
PW
3671 "/annotated-wl-pprint-" version
3672 ".tar.gz"))
3673 (sha256
3674 (base32
3675 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3676 (build-system haskell-build-system)
3677 (home-page
3678 "https://github.com/david-christiansen/annotated-wl-pprint")
3679 (synopsis
3680 "The Wadler/Leijen Pretty Printer, with annotation support")
3681 (description "This is a modified version of wl-pprint, which was based on
3682Wadler's paper \"A Prettier Printer\". This version allows the library user
3683to annotate the text with semantic information, which can later be rendered in
3684a variety of ways.")
3ac73271 3685 (license license:bsd-3)))
4e125497 3686
febf7ef6
LC
3687(define-public ghc-wl-pprint
3688 (package
3689 (name "ghc-wl-pprint")
3690 (version "1.2")
3691 (source (origin
3692 (method url-fetch)
3693 (uri (string-append
612fddec 3694 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
febf7ef6
LC
3695 version ".tar.gz"))
3696 (sha256
3697 (base32
3698 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3699 (build-system haskell-build-system)
612fddec 3700 (home-page "https://hackage.haskell.org/package/wl-pprint")
febf7ef6
LC
3701 (synopsis "Wadler/Leijen pretty printer")
3702 (description
3703 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3704Printer}. This version allows the library user to declare overlapping
3705instances of the @code{Pretty} class.")
3706 (license license:bsd-3)))
3707
e9333348
PW
3708(define-public ghc-ansi-wl-pprint
3709 (package
3710 (name "ghc-ansi-wl-pprint")
05916da7 3711 (version "0.6.8.2")
e9333348
PW
3712 (source
3713 (origin
3714 (method url-fetch)
05916da7
RW
3715 (uri (string-append "https://hackage.haskell.org/package/"
3716 "ansi-wl-pprint/ansi-wl-pprint-"
3717 version ".tar.gz"))
e9333348
PW
3718 (sha256
3719 (base32
05916da7 3720 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
e9333348 3721 (build-system haskell-build-system)
2d47cee2 3722 (inputs
e9333348 3723 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
612fddec 3724 (home-page "https://github.com/ekmett/ansi-wl-pprint")
e9333348
PW
3725 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3726 (description "This is a pretty printing library based on Wadler's paper
3727\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3728colored output using the ansi-terminal package.")
3ac73271 3729 (license license:bsd-3)))
e9333348 3730
d692228e
FB
3731(define-public ghc-split
3732 (package
3733 (name "ghc-split")
86e9076d 3734 (version "0.2.3.1")
d692228e
FB
3735 (outputs '("out" "doc"))
3736 (source
3737 (origin
3738 (method url-fetch)
3739 (uri (string-append
612fddec 3740 "https://hackage.haskell.org/package/split/split-"
d692228e
FB
3741 version
3742 ".tar.gz"))
3743 (sha256
3744 (base32
86e9076d 3745 "12660m16c6sib3laaxn6w9s453pyx1b49myrmzfij372vq5bc5bn"))))
d692228e 3746 (build-system haskell-build-system)
86e9076d 3747 (native-inputs
d692228e 3748 `(("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 3749 (home-page "https://hackage.haskell.org/package/split")
565f040d
PW
3750 (synopsis "Combinator library for splitting lists")
3751 (description "This package provides a collection of Haskell functions for
3752splitting lists into parts, akin to the @code{split} function found in several
3753mainstream languages.")
3ac73271 3754 (license license:bsd-3)))
d692228e 3755
fa468e87
FB
3756(define-public ghc-parsec
3757 (package
3758 (name "ghc-parsec")
e2439904 3759 (version "3.1.11")
fa468e87
FB
3760 (outputs '("out" "doc"))
3761 (source
3762 (origin
3763 (method url-fetch)
3764 (uri (string-append
612fddec 3765 "https://hackage.haskell.org/package/parsec/parsec-"
fa468e87
FB
3766 version
3767 ".tar.gz"))
3768 (sha256
e2439904 3769 (base32 "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg"))))
fa468e87 3770 (build-system haskell-build-system)
2d47cee2 3771 (native-inputs
fa468e87 3772 `(("ghc-hunit" ,ghc-hunit)))
2d47cee2 3773 (inputs
fa468e87
FB
3774 `(("ghc-text" ,ghc-text)
3775 ("ghc-mtl" ,ghc-mtl)))
3776 (arguments
3777 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3778 (home-page
3779 "https://github.com/aslatter/parsec")
3780 (synopsis "Monadic parser combinators")
3781 (description "Parsec is a parser library. It is simple, safe, well
3782documented, has extensive libraries, good error messages, and is fast. It is
3783defined as a monad transformer that can be stacked on arbitrary monads, and it
3784is also parametric in the input stream type.")
3ac73271 3785 (license license:bsd-3)))
fa468e87 3786
aeecabd4
RW
3787(define-public ghc-parser-combinators
3788 (package
3789 (name "ghc-parser-combinators")
3790 (version "0.4.0")
3791 (source
3792 (origin
3793 (method url-fetch)
3794 (uri (string-append "https://hackage.haskell.org/package/"
3795 "parser-combinators/parser-combinators-"
3796 version ".tar.gz"))
3797 (sha256
3798 (base32
3799 "1azkz0a6ikym02s8wydjcklp7rz8k512bs4s9lp9g1g03m0yj95i"))))
3800 (build-system haskell-build-system)
3801 (home-page "https://github.com/mrkkrp/parser-combinators")
3802 (synopsis "Commonly useful parser combinators")
3803 (description
3804 "This is a lightweight package providing commonly useful parser
3805combinators.")
3806 (license license:bsd-3)))
3807
ad5de226
RW
3808(define-public ghc-megaparsec
3809 (package
3810 (name "ghc-megaparsec")
3811 (version "6.4.0")
3812 (source
3813 (origin
3814 (method url-fetch)
3815 (uri (string-append "https://hackage.haskell.org/package/"
3816 "megaparsec/megaparsec-"
3817 version ".tar.gz"))
3818 (sha256
3819 (base32
3820 "0h9azhs0dfrc359vrbd1jljrg3yfdbwd4p62cxqkn7mnh8913jpd"))))
3821 (build-system haskell-build-system)
3822 (inputs
3823 `(("ghc-case-insensitive" ,ghc-case-insensitive)
3824 ("ghc-mtl" ,ghc-mtl)
3825 ("ghc-parser-combinators" ,ghc-parser-combinators)
3826 ("ghc-scientific" ,ghc-scientific)
3827 ("ghc-text" ,ghc-text)))
3828 (native-inputs
3829 `(("ghc-quickcheck" ,ghc-quickcheck)
3830 ("ghc-hspec" ,ghc-hspec)
3831 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3832 ("hspec-discover" ,hspec-discover)))
3833 (home-page "https://github.com/mrkkrp/megaparsec")
3834 (synopsis "Monadic parser combinators")
3835 (description
3836 "This is an industrial-strength monadic parser combinator library.
3837Megaparsec is a feature-rich package that strikes a nice balance between
3838speed, flexibility, and quality of parse errors.")
3839 (license license:bsd-2)))
3840
f50fc138
FB
3841(define-public ghc-vector
3842 (package
3843 (name "ghc-vector")
4c8a1f40 3844 (version "0.12.0.1")
f50fc138
FB
3845 (outputs '("out" "doc"))
3846 (source
3847 (origin
3848 (method url-fetch)
3849 (uri (string-append
612fddec 3850 "https://hackage.haskell.org/package/vector/vector-"
f50fc138
FB
3851 version
3852 ".tar.gz"))
3853 (sha256
3854 (base32
4c8a1f40 3855 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
f50fc138 3856 (build-system haskell-build-system)
4c8a1f40
RW
3857 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
3858 ;; disabled for now.
3859 (arguments `(#:tests? #f))
e881752c 3860 (inputs
2d47cee2 3861 `(("ghc-primitive" ,ghc-primitive)
4c8a1f40
RW
3862 ("ghc-random" ,ghc-random)
3863 ("ghc-quickcheck" ,ghc-quickcheck)
3864 ;; ("ghc-hunit" ,ghc-hunit)
3865 ;; ("ghc-test-framework" ,ghc-test-framework)
3866 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3867 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3868 ))
f50fc138
FB
3869 (home-page "https://github.com/haskell/vector")
3870 (synopsis "Efficient Arrays")
0b61d503
PW
3871 (description "This library provides an efficient implementation of
3872Int-indexed arrays (both mutable and immutable), with a powerful loop
3873optimisation framework.")
3ac73271 3874 (license license:bsd-3)))
f50fc138 3875
576cdc5a
PW
3876(define-public ghc-vector-binary-instances
3877 (package
3878 (name "ghc-vector-binary-instances")
a7c0b95a 3879 (version "0.2.4")
576cdc5a
PW
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append
612fddec 3884 "https://hackage.haskell.org/package/"
576cdc5a
PW
3885 "vector-binary-instances/vector-binary-instances-"
3886 version ".tar.gz"))
3887 (sha256
3888 (base32
a7c0b95a 3889 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
576cdc5a 3890 (build-system haskell-build-system)
576cdc5a 3891 (inputs
a7c0b95a
RW
3892 `(("ghc-vector" ,ghc-vector)))
3893 (native-inputs
3894 `(("ghc-tasty" ,ghc-tasty)
3895 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
576cdc5a
PW
3896 (home-page "https://github.com/bos/vector-binary-instances")
3897 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3898 (description "This library provides instances of @code{Binary} for the
3899types defined in the @code{vector} package, making it easy to serialize
3900vectors to and from disk. We use the generic interface to vectors, so all
3901vector types are supported. Specific instances are provided for unboxed,
3902boxed and storable vectors.")
3ac73271 3903 (license license:bsd-3)))
576cdc5a 3904
4c798726
TS
3905(define-public ghc-bloomfilter
3906 (package
3907 (name "ghc-bloomfilter")
3908 (version "2.0.1.0")
3909 (source
3910 (origin
3911 (method url-fetch)
3912 (uri (string-append "https://hackage.haskell.org/package/"
3913 "bloomfilter/bloomfilter-" version ".tar.gz"))
3914 (sha256
3915 (base32
3916 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
3917 (build-system haskell-build-system)
3918 (native-inputs
3919 `(("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-random" ,ghc-random)
3921 ("ghc-test-framework" ,ghc-test-framework)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (home-page "https://github.com/bos/bloomfilter")
3924 (synopsis "Pure and impure Bloom filter implementations")
3925 (description "This package provides both mutable and immutable Bloom
3926filter data types, along with a family of hash functions and an easy-to-use
3927interface.")
3928 (license license:bsd-3)))
3929
abfed253
FB
3930(define-public ghc-network
3931 (package
3932 (name "ghc-network")
2f430bf8 3933 (version "2.6.3.1")
abfed253
FB
3934 (outputs '("out" "doc"))
3935 (source
3936 (origin
3937 (method url-fetch)
3938 (uri (string-append
612fddec 3939 "https://hackage.haskell.org/package/network/network-"
abfed253
FB
3940 version
3941 ".tar.gz"))
3942 (sha256
3943 (base32
2f430bf8 3944 "1rl2gl37cf4k0ddsq93q15fwdz1l25nhl4w205krbh7d5dg5y12p"))))
abfed253 3945 (build-system haskell-build-system)
2f430bf8
RW
3946 ;; The regression tests depend on an unpublished module.
3947 (arguments `(#:tests? #f))
3948 (native-inputs
3949 `(("ghc-hunit" ,ghc-hunit)
3950 ("ghc-doctest" ,ghc-doctest)
3951 ("ghc-test-framework" ,ghc-test-framework)
3952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
abfed253
FB
3953 (home-page "https://github.com/haskell/network")
3954 (synopsis "Low-level networking interface")
3955 (description
3956 "This package provides a low-level networking interface.")
3ac73271 3957 (license license:bsd-3)))
abfed253 3958
9ce031c5
FB
3959(define-public ghc-network-uri
3960 (package
3961 (name "ghc-network-uri")
29addb27 3962 (version "2.6.1.0")
9ce031c5
FB
3963 (outputs '("out" "doc"))
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append
612fddec 3968 "https://hackage.haskell.org/package/network-uri/network-uri-"
9ce031c5
FB
3969 version
3970 ".tar.gz"))
3971 (sha256
3972 (base32
29addb27 3973 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
9ce031c5 3974 (build-system haskell-build-system)
9ce031c5
FB
3975 (arguments
3976 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2d47cee2
RW
3977 (native-inputs
3978 `(("ghc-hunit" ,ghc-hunit)))
3979 (inputs
3980 `(("ghc-parsec" ,ghc-parsec)
3981 ("ghc-network" ,ghc-network)))
9ce031c5
FB
3982 (home-page
3983 "https://github.com/haskell/network-uri")
e881752c
AK
3984 (synopsis "Library for URI manipulation")
3985 (description "This package provides an URI manipulation interface. In
9ce031c5
FB
3986'network-2.6' the 'Network.URI' module was split off from the 'network'
3987package into this package.")
3ac73271 3988 (license license:bsd-3)))
9ce031c5 3989
cd27b23d
PW
3990(define-public ghc-ansi-terminal
3991 (package
3992 (name "ghc-ansi-terminal")
3993 (version "0.6.2.3")
3994 (source
3995 (origin
3996 (method url-fetch)
3997 (uri (string-append
612fddec 3998 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
cd27b23d
PW
3999 version
4000 ".tar.gz"))
4001 (sha256
4002 (base32
4003 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
4004 (build-system haskell-build-system)
4005 (home-page "https://github.com/feuerbach/ansi-terminal")
4006 (synopsis "ANSI terminal support for Haskell")
4007 (description "This package provides ANSI terminal support for Haskell. It
4008allows cursor movement, screen clearing, color output showing or hiding the
4009cursor, and changing the title.")
3ac73271 4010 (license license:bsd-3)))
cd27b23d 4011
6ecc4723
PW
4012(define-public ghc-vault
4013 (package
4014 (name "ghc-vault")
a25d3035 4015 (version "0.3.0.6")
6ecc4723
PW
4016 (source
4017 (origin
4018 (method url-fetch)
4019 (uri (string-append
612fddec 4020 "https://hackage.haskell.org/package/vault/vault-"
6ecc4723
PW
4021 version
4022 ".tar.gz"))
4023 (sha256
4024 (base32
a25d3035 4025 "0j7gcs440q7qlgzi2hn36crgp2c0w69k40g6vj9hxlm31zk3shqb"))))
6ecc4723 4026 (build-system haskell-build-system)
2d47cee2 4027 (inputs
6ecc4723
PW
4028 `(("ghc-unordered-containers" ,ghc-unordered-containers)
4029 ("ghc-hashable" ,ghc-hashable)))
4030 (home-page
4031 "https://github.com/HeinrichApfelmus/vault")
4032 (synopsis "Persistent store for arbitrary values")
4033 (description "This package provides vaults for Haskell. A vault is a
4034persistent store for values of arbitrary types. It's like having first-class
4035access to the storage space behind @code{IORefs}. The data structure is
4036analogous to a bank vault, where you can access different bank boxes with
4037different keys; hence the name. Also provided is a @code{locker} type,
4038representing a store for a single element.")
3ac73271 4039 (license license:bsd-3)))
6ecc4723 4040
212ae095
AV
4041(define-public ghc-edisonapi
4042 (package
4043 (name "ghc-edisonapi")
4044 (version "1.3.1")
4045 (source
4046 (origin
4047 (method url-fetch)
4048 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
4049 "/EdisonAPI-" version ".tar.gz"))
4050 (sha256
4051 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
4052 (build-system haskell-build-system)
4053 (inputs `(("ghc-mtl" ,ghc-mtl)))
4054 (home-page "http://rwd.rdockins.name/edison/home/")
4055 (synopsis "Library of efficient, purely-functional data structures (API)")
4056 (description
4057 "Edison is a library of purely functional data structures written by
4058Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
4059value EDiSon (Efficient Data Structures). Edison provides several families of
4060abstractions, each with multiple implementations. The main abstractions
4061provided by Edison are: Sequences such as stacks, queues, and dequeues;
4062Collections such as sets, bags and heaps; and Associative Collections such as
4063finite maps and priority queues where the priority and element are distinct.")
4064 (license license:expat)))
4065
1eced2a7
AV
4066(define-public ghc-edisoncore
4067 (package
4068 (name "ghc-edisoncore")
4069 (version "1.3.1.1")
4070 (source
4071 (origin
4072 (method url-fetch)
4073 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
4074 "/EdisonCore-" version ".tar.gz"))
4075 (sha256
4076 (base32 "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry"))))
4077 (build-system haskell-build-system)
4078 (inputs
4079 `(("ghc-mtl" ,ghc-mtl)
4080 ("ghc-quickcheck" ,ghc-quickcheck)
4081 ("ghc-edisonapi" ,ghc-edisonapi)))
4082 (home-page "http://rwd.rdockins.name/edison/home/")
e695d79d 4083 (synopsis "Library of efficient, purely-functional data structures")
1eced2a7
AV
4084 (description
4085 "This package provides the core Edison data structure implementations,
4086including multiple sequence, set, bag, and finite map concrete implementations
4087with various performance characteristics.")
4088 (license license:expat)))
4089
899916b5
PW
4090(define-public ghc-mmorph
4091 (package
4092 (name "ghc-mmorph")
aebb8db2 4093 (version "1.0.6")
899916b5
PW
4094 (source
4095 (origin
4096 (method url-fetch)
4097 (uri (string-append
612fddec 4098 "https://hackage.haskell.org/package/mmorph/mmorph-"
899916b5
PW
4099 version
4100 ".tar.gz"))
4101 (sha256
4102 (base32
aebb8db2 4103 "1i8dzrc5qi3ryc9vrrmpn3sihmramsbhhd592w4w2k5g26qr3hql"))))
899916b5 4104 (build-system haskell-build-system)
aebb8db2
RW
4105 (inputs
4106 `(("ghc-mtl" ,ghc-mtl)
4107 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4108 (home-page "https://hackage.haskell.org/package/mmorph")
899916b5
PW
4109 (synopsis "Monad morphisms")
4110 (description
4111 "This library provides monad morphism utilities, most commonly used for
4112manipulating monad transformer stacks.")
3ac73271 4113 (license license:bsd-3)))
899916b5 4114
a39e6fae
TS
4115(define-public ghc-ifelse
4116 (package
4117 (name "ghc-ifelse")
4118 (version "0.85")
4119 (source
4120 (origin
4121 (method url-fetch)
4122 (uri (string-append "https://hackage.haskell.org/package/"
4123 "IfElse/IfElse-" version ".tar.gz"))
4124 (sha256
4125 (base32
4126 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
4127 (build-system haskell-build-system)
4128 (inputs `(("ghc-mtl" ,ghc-mtl)))
4129 (home-page "http://hackage.haskell.org/package/IfElse")
4130 (synopsis "Monadic control flow with anaphoric variants")
4131 (description "This library provides functions for control flow inside of
4132monads with anaphoric variants on @code{if} and @code{when} and a C-like
4133@code{switch} function.")
4134 (license license:bsd-3)))
4135
85160205
PW
4136(define-public ghc-monad-control
4137 (package
4138 (name "ghc-monad-control")
009d0f6d 4139 (version "1.0.1.0")
85160205
PW
4140 (source
4141 (origin
4142 (method url-fetch)
4143 (uri (string-append
612fddec 4144 "https://hackage.haskell.org/package/monad-control"
85160205
PW
4145 "/monad-control-" version ".tar.gz"))
4146 (sha256
4147 (base32
009d0f6d 4148 "1x018gi5irznx5rgzmkr2nrgh26r8cvqwkcfc6n6y05pdjf21c6l"))))
85160205 4149 (build-system haskell-build-system)
2d47cee2 4150 (inputs
85160205
PW
4151 `(("ghc-stm" ,ghc-stm)
4152 ("ghc-transformers-base" ,ghc-transformers-base)
4153 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4154 (home-page "https://github.com/basvandijk/monad-control")
4155 (synopsis "Monad transformers to lift control operations like exception
4156catching")
4157 (description "This package defines the type class @code{MonadBaseControl},
4158a subset of @code{MonadBase} into which generic control operations such as
4159@code{catch} can be lifted from @code{IO} or any other base monad.")
3ac73271 4160 (license license:bsd-3)))
85160205 4161
005a08e3
AV
4162(define-public ghc-fail
4163 (package
4164 (name "ghc-fail")
4165 (version "4.9.0.0")
4166 (source
4167 (origin
4168 (method url-fetch)
4169 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4170 version ".tar.gz"))
4171 (sha256
4172 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4173 (build-system haskell-build-system)
57184328 4174 (arguments `(#:haddock? #f)) ; Package contains no documentation.
005a08e3
AV
4175 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4176 (synopsis "Forward-compatible MonadFail class")
4177 (description
4178 "This package contains the @code{Control.Monad.Fail} module providing the
4179@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4180class that became available in
4181@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4182older @code{base} package versions. This package turns into an empty package
4183when used with GHC versions which already provide the
4184@code{Control.Monad.Fail} module.")
4185 (license license:bsd-3)))
4186
298af2a8
AV
4187(define-public ghc-monadplus
4188 (package
4189 (name "ghc-monadplus")
4190 (version "1.4.2")
4191 (source
4192 (origin
4193 (method url-fetch)
4194 (uri (string-append "https://hackage.haskell.org/package/monadplus"
4195 "/monadplus-" version ".tar.gz"))
4196 (sha256
4197 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
4198 (build-system haskell-build-system)
4199 (home-page "https://hackage.haskell.org/package/monadplus")
4200 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
4201 (description
4202 "This package generalizes many common stream operations such as
4203@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
4204arbitrary @code{MonadPlus} instances.")
4205 (license license:bsd-3)))
4206
27e7c8b6
PW
4207(define-public ghc-byteorder
4208 (package
4209 (name "ghc-byteorder")
4210 (version "1.0.4")
4211 (source
4212 (origin
4213 (method url-fetch)
4214 (uri (string-append
612fddec 4215 "https://hackage.haskell.org/package/byteorder/byteorder-"
27e7c8b6
PW
4216 version
4217 ".tar.gz"))
4218 (sha256
4219 (base32
4220 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
4221 (build-system haskell-build-system)
4222 (home-page
4223 "http://community.haskell.org/~aslatter/code/byteorder")
4224 (synopsis
4225 "Exposes the native endianness of the system")
4226 (description
4227 "This package is for working with the native byte-ordering of the
4228system.")
3ac73271 4229 (license license:bsd-3)))
27e7c8b6 4230
71470edd
PW
4231(define-public ghc-base-compat
4232 (package
4233 (name "ghc-base-compat")
0fa2c552 4234 (version "0.10.4")
71470edd
PW
4235 (source
4236 (origin
4237 (method url-fetch)
4238 (uri (string-append
612fddec 4239 "https://hackage.haskell.org/package/base-compat/base-compat-"
71470edd
PW
4240 version
4241 ".tar.gz"))
4242 (sha256
4243 (base32
0fa2c552 4244 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
71470edd 4245 (build-system haskell-build-system)
2d47cee2 4246 (native-inputs
71470edd 4247 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4248 ("ghc-hspec" ,ghc-hspec)
4249 ("hspec-discover" ,hspec-discover)))
71470edd
PW
4250 (home-page "https://hackage.haskell.org/package/base-compat")
4251 (synopsis "Haskell compiler compatibility library")
4252 (description "This library provides functions available in later versions
4253of base to a wider range of compilers, without requiring the use of CPP
4254pragmas in your code.")
3ac73271 4255 (license license:bsd-3)))
71470edd 4256
94e1dc7a
PW
4257(define-public ghc-blaze-builder
4258 (package
4259 (name "ghc-blaze-builder")
3f691f71 4260 (version "0.4.0.2")
94e1dc7a
PW
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
612fddec 4265 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
94e1dc7a
PW
4266 version
4267 ".tar.gz"))
4268 (sha256
4269 (base32
3f691f71 4270 "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws"))))
94e1dc7a
PW
4271 (build-system haskell-build-system)
4272 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
2d47cee2 4273 (inputs
94e1dc7a
PW
4274 `(("ghc-text" ,ghc-text)
4275 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 4276 (home-page "https://github.com/lpsmith/blaze-builder")
94e1dc7a
PW
4277 (synopsis "Efficient buffered output")
4278 (description "This library provides an implementation of the older
4279@code{blaze-builder} interface in terms of the new builder that shipped with
4280@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
4281bridge to the new builder, so that code that uses the old interface can
4282interoperate with code that uses the new implementation.")
3ac73271 4283 (license license:bsd-3)))
94e1dc7a 4284
a311f5d0
PW
4285(define-public ghc-blaze-markup
4286 (package
4287 (name "ghc-blaze-markup")
969d0c64 4288 (version "0.8.2.0")
a311f5d0
PW
4289 (source
4290 (origin
4291 (method url-fetch)
969d0c64
RW
4292 (uri (string-append "https://hackage.haskell.org/package/"
4293 "blaze-markup/blaze-markup-"
4294 version ".tar.gz"))
a311f5d0
PW
4295 (sha256
4296 (base32
969d0c64 4297 "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4"))))
a311f5d0 4298 (build-system haskell-build-system)
2d47cee2 4299 (inputs
a311f5d0
PW
4300 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4301 ("ghc-text" ,ghc-text)))
969d0c64
RW
4302 (native-inputs
4303 `(("ghc-hunit" ,ghc-hunit)
4304 ("ghc-quickcheck" ,ghc-quickcheck)
4305 ("ghc-tasty" ,ghc-tasty)
4306 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4307 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 4308 (home-page "https://jaspervdj.be/blaze")
a311f5d0
PW
4309 (synopsis "Fast markup combinator library for Haskell")
4310 (description "This library provides core modules of a markup combinator
4311library for Haskell.")
3ac73271 4312 (license license:bsd-3)))
a311f5d0 4313
9525e25f
PW
4314(define-public ghc-easy-file
4315 (package
4316 (name "ghc-easy-file")
4317 (version "0.2.1")
4318 (source
4319 (origin
4320 (method url-fetch)
4321 (uri (string-append
612fddec 4322 "https://hackage.haskell.org/package/easy-file/easy-file-"
9525e25f
PW
4323 version
4324 ".tar.gz"))
4325 (sha256
4326 (base32
4327 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
4328 (build-system haskell-build-system)
4329 (home-page
612fddec 4330 "https://github.com/kazu-yamamoto/easy-file")
9525e25f
PW
4331 (synopsis "File handling library for Haskell")
4332 (description "This library provides file handling utilities for Haskell.")
3ac73271 4333 (license license:bsd-3)))
9525e25f 4334
e2fcaff2
PW
4335(define-public ghc-async
4336 (package
4337 (name "ghc-async")
1740cb77 4338 (version "2.1.1.1")
e2fcaff2
PW
4339 (source
4340 (origin
4341 (method url-fetch)
4342 (uri (string-append
612fddec 4343 "https://hackage.haskell.org/package/async/async-"
e2fcaff2
PW
4344 version
4345 ".tar.gz"))
4346 (sha256
4347 (base32
1740cb77 4348 "1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd"))))
e2fcaff2 4349 (build-system haskell-build-system)
e1c1b71c 4350 (inputs
2d47cee2
RW
4351 `(("ghc-stm" ,ghc-stm)
4352 ("ghc-hunit" ,ghc-hunit)
e1c1b71c
EB
4353 ("ghc-test-framework" ,ghc-test-framework)
4354 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
e2fcaff2
PW
4355 (home-page "https://github.com/simonmar/async")
4356 (synopsis "Library to run IO operations asynchronously")
4357 (description "Async provides a library to run IO operations
554093b7 4358asynchronously, and wait for their results. It is a higher-level interface
e2fcaff2
PW
4359over threads in Haskell, in which @code{Async a} is a concurrent thread that
4360will eventually deliver a value of type @code{a}.")
3ac73271 4361 (license license:bsd-3)))
e2fcaff2 4362
49465144
PW
4363(define-public ghc-fingertree
4364 (package
4365 (name "ghc-fingertree")
35deff72 4366 (version "0.1.3.0")
49465144
PW
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append
612fddec 4371 "https://hackage.haskell.org/package/fingertree/fingertree-"
35deff72 4372 version ".tar.gz"))
49465144
PW
4373 (sha256
4374 (base32
35deff72 4375 "1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs"))))
49465144 4376 (build-system haskell-build-system)
ffe8c06e
TGR
4377 (native-inputs
4378 `(("ghc-hunit" ,ghc-hunit)
4379 ("ghc-quickcheck" ,ghc-quickcheck)
4380 ("ghc-test-framework" ,ghc-test-framework)
4381 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4382 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 4383 (home-page "https://hackage.haskell.org/package/fingertree")
49465144
PW
4384 (synopsis "Generic finger-tree structure")
4385 (description "This library provides finger trees, a general sequence
4386representation with arbitrary annotations, for use as a base for
4387implementations of various collection types. It includes examples, as
4388described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4389simple general-purpose data structure\".")
3ac73271 4390 (license license:bsd-3)))
49465144 4391
918f690a
PW
4392(define-public ghc-optparse-applicative
4393 (package
4394 (name "ghc-optparse-applicative")
3c300542 4395 (version "0.14.2.0")
918f690a
PW
4396 (source
4397 (origin
4398 (method url-fetch)
4399 (uri (string-append
612fddec 4400 "https://hackage.haskell.org/package/optparse-applicative"
918f690a
PW
4401 "/optparse-applicative-" version ".tar.gz"))
4402 (sha256
4403 (base32
3c300542
AI
4404 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
4405 (build-system haskell-build-system)
2d47cee2 4406 (inputs
918f690a
PW
4407 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4408 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7c86efe7
RW
4409 (native-inputs
4410 `(("ghc-quickcheck" ,ghc-quickcheck)))
918f690a
PW
4411 (home-page "https://github.com/pcapriotti/optparse-applicative")
4412 (synopsis "Utilities and combinators for parsing command line options")
4413 (description "This package provides utilities and combinators for parsing
4414command line options in Haskell.")
3ac73271 4415 (license license:bsd-3)))
918f690a 4416
09fb622c
PW
4417(define-public ghc-base-orphans
4418 (package
4419 (name "ghc-base-orphans")
8184b0f9 4420 (version "0.6")
09fb622c
PW
4421 (source
4422 (origin
4423 (method url-fetch)
4424 (uri (string-append
612fddec 4425 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
09fb622c
PW
4426 version
4427 ".tar.gz"))
4428 (sha256
4429 (base32
8184b0f9 4430 "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67"))))
09fb622c 4431 (build-system haskell-build-system)
2d47cee2 4432 (native-inputs
09fb622c 4433 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4434 ("ghc-hspec" ,ghc-hspec)
4435 ("hspec-discover" ,hspec-discover)))
09fb622c
PW
4436 (home-page "https://hackage.haskell.org/package/base-orphans")
4437 (synopsis "Orphan instances for backwards compatibility")
4438 (description "This package defines orphan instances that mimic instances
4439available in later versions of base to a wider (older) range of compilers.")
3ac73271 4440 (license license:bsd-3)))
09fb622c 4441
bc0fb230
PW
4442(define-public ghc-auto-update
4443 (package
4444 (name "ghc-auto-update")
a8e5513c 4445 (version "0.1.4")
bc0fb230
PW
4446 (source
4447 (origin
4448 (method url-fetch)
4449 (uri (string-append
612fddec 4450 "https://hackage.haskell.org/package/auto-update/auto-update-"
bc0fb230
PW
4451 version
4452 ".tar.gz"))
4453 (sha256
4454 (base32
a8e5513c 4455 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
bc0fb230
PW
4456 (build-system haskell-build-system)
4457 (home-page "https://github.com/yesodweb/wai")
4458 (synopsis "Efficiently run periodic, on-demand actions")
4459 (description "This library provides mechanisms to efficiently run
4460periodic, on-demand actions in Haskell.")
3ac73271 4461 (license license:expat)))
bc0fb230 4462
7f0d5857
PW
4463(define-public ghc-tagged
4464 (package
4465 (name "ghc-tagged")
93303a3a 4466 (version "0.8.5")
7f0d5857
PW
4467 (source
4468 (origin
4469 (method url-fetch)
4470 (uri (string-append
612fddec 4471 "https://hackage.haskell.org/package/tagged/tagged-"
7f0d5857
PW
4472 version
4473 ".tar.gz"))
4474 (sha256
4475 (base32
93303a3a 4476 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
7f0d5857 4477 (build-system haskell-build-system)
93303a3a
RW
4478 (inputs
4479 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7f0d5857
PW
4480 (home-page "https://hackage.haskell.org/package/tagged")
4481 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4482 (description "This library provides phantom types for Haskell 98, to avoid
4483having to unsafely pass dummy arguments.")
3ac73271 4484 (license license:bsd-3)))
7f0d5857 4485
a24ec6f2
PW
4486(define-public ghc-unbounded-delays
4487 (package
4488 (name "ghc-unbounded-delays")
4489 (version "0.1.0.9")
4490 (source
4491 (origin
4492 (method url-fetch)
4493 (uri (string-append
612fddec 4494 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
a24ec6f2
PW
4495 version
4496 ".tar.gz"))
4497 (sha256
4498 (base32
4499 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4500 (build-system haskell-build-system)
4501 (home-page "https://github.com/basvandijk/unbounded-delays")
4502 (synopsis "Unbounded thread delays and timeouts")
4503 (description "The @code{threadDelay} and @code{timeout} functions from the
4504Haskell base library use the bounded @code{Int} type for specifying the delay
4505or timeout period. This package provides alternative functions which use the
4506unbounded @code{Integer} type.")
3ac73271 4507 (license license:bsd-3)))
a24ec6f2 4508
f4e5c04e
PW
4509(define-public ghc-clock
4510 (package
4511 (name "ghc-clock")
615abb95 4512 (version "0.7.2")
f4e5c04e
PW
4513 (source
4514 (origin
4515 (method url-fetch)
4516 (uri (string-append
612fddec 4517 "https://hackage.haskell.org/package/"
f4e5c04e
PW
4518 "clock/"
4519 "clock-" version ".tar.gz"))
4520 (sha256
615abb95 4521 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
f4e5c04e
PW
4522 (build-system haskell-build-system)
4523 (inputs
4524 `(("ghc-tasty" ,ghc-tasty)
4525 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4526 (home-page "https://hackage.haskell.org/package/clock")
3f2ce1dc
PW
4527 (synopsis "High-resolution clock for Haskell")
4528 (description "A package for convenient access to high-resolution clock and
4529timer functions of different operating systems via a unified API.")
3ac73271 4530 (license license:bsd-3)))
3f2ce1dc 4531
6ffc5be7
PW
4532(define-public ghc-charset
4533 (package
4534 (name "ghc-charset")
4535 (version "0.3.7.1")
4536 (source
4537 (origin
4538 (method url-fetch)
4539 (uri (string-append
612fddec 4540 "https://hackage.haskell.org/package/charset/charset-"
6ffc5be7
PW
4541 version
4542 ".tar.gz"))
4543 (sha256
4544 (base32
4545 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4546 (build-system haskell-build-system)
6ffc5be7 4547 (inputs
2d47cee2
RW
4548 `(("ghc-semigroups" ,ghc-semigroups)
4549 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 4550 (home-page "https://github.com/ekmett/charset")
6ffc5be7
PW
4551 (synopsis "Fast unicode character sets for Haskell")
4552 (description "This package provides fast unicode character sets for
4553Haskell, based on complemented PATRICIA tries.")
3ac73271 4554 (license license:bsd-3)))
6ffc5be7 4555
d76bf618
PW
4556(define-public ghc-bytestring-builder
4557 (package
4558 (name "ghc-bytestring-builder")
934dc8d2 4559 (version "0.10.8.1.0")
d76bf618
PW
4560 (source
4561 (origin
4562 (method url-fetch)
4563 (uri (string-append
612fddec 4564 "https://hackage.haskell.org/package/bytestring-builder"
d76bf618
PW
4565 "/bytestring-builder-" version ".tar.gz"))
4566 (sha256
4567 (base32
934dc8d2 4568 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
d76bf618
PW
4569 (build-system haskell-build-system)
4570 (arguments `(#:haddock? #f)) ; Package contains no documentation.
612fddec 4571 (home-page "https://hackage.haskell.org/package/bytestring-builder")
d76bf618
PW
4572 (synopsis "The new bytestring builder, packaged outside of GHC")
4573 (description "This package provides the bytestring builder that is
4574debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4575Compatibility package for older packages.")
3ac73271 4576 (license license:bsd-3)))
d76bf618 4577
878535bd
PW
4578(define-public ghc-nats
4579 (package
4580 (name "ghc-nats")
0798fddf 4581 (version "1.1.1")
878535bd
PW
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append
612fddec 4586 "https://hackage.haskell.org/package/nats/nats-"
878535bd
PW
4587 version
4588 ".tar.gz"))
4589 (sha256
4590 (base32
0798fddf 4591 "1kfl2yy97nb7q0j17v96rl73xvi3z4db9bk0xychc76dax41n78k"))))
878535bd
PW
4592 (build-system haskell-build-system)
4593 (arguments `(#:haddock? #f))
4594 (inputs
4595 `(("ghc-hashable" ,ghc-hashable)))
4596 (home-page "https://hackage.haskell.org/package/nats")
4597 (synopsis "Natural numbers")
4598 (description "This library provides the natural numbers for Haskell.")
3ac73271 4599 (license license:bsd-3)))
878535bd 4600
03f6074b
PW
4601(define-public ghc-void
4602 (package
4603 (name "ghc-void")
4604 (version "0.7.1")
4605 (source
4606 (origin
4607 (method url-fetch)
4608 (uri (string-append
612fddec 4609 "https://hackage.haskell.org/package/void/void-"
03f6074b
PW
4610 version
4611 ".tar.gz"))
4612 (sha256
4613 (base32
4614 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4615 (build-system haskell-build-system)
03f6074b 4616 (inputs
2d47cee2
RW
4617 `(("ghc-semigroups" ,ghc-semigroups)
4618 ("ghc-hashable" ,ghc-hashable)))
612fddec 4619 (home-page "https://github.com/ekmett/void")
03f6074b
PW
4620 (synopsis
4621 "Logically uninhabited data type")
4622 (description
4623 "A Haskell 98 logically uninhabited data type, used to indicate that a
4624given term should not exist.")
3ac73271 4625 (license license:bsd-3)))
03f6074b 4626
5125f63f
PW
4627(define-public ghc-kan-extensions
4628 (package
4629 (name "ghc-kan-extensions")
88da6cdb 4630 (version "5.0.1")
5125f63f
PW
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append
612fddec 4635 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5125f63f
PW
4636 version
4637 ".tar.gz"))
4638 (sha256
4639 (base32
88da6cdb 4640 "1qm0kf4krmyjbjynn96ab0h3q117vwcia5nin7n2b8b4f3jrzph1"))))
5125f63f 4641 (build-system haskell-build-system)
5125f63f 4642 (inputs
2d47cee2
RW
4643 `(("ghc-adjunctions" ,ghc-adjunctions)
4644 ("ghc-comonad" ,ghc-comonad)
5125f63f
PW
4645 ("ghc-contravariant" ,ghc-contravariant)
4646 ("ghc-distributive" ,ghc-distributive)
4647 ("ghc-free" ,ghc-free)
4648 ("ghc-mtl" ,ghc-mtl)
4649 ("ghc-semigroupoids" ,ghc-semigroupoids)
4650 ("ghc-tagged" ,ghc-tagged)))
612fddec 4651 (home-page "https://github.com/ekmett/kan-extensions/")
5125f63f
PW
4652 (synopsis "Kan extensions library")
4653 (description "This library provides Kan extensions, Kan lifts, various
4654forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
3ac73271 4655 (license license:bsd-3)))
5125f63f 4656
32ddba78
RW
4657(define-public ghc-call-stack
4658 (package
4659 (name "ghc-call-stack")
4660 (version "0.1.0")
4661 (source
4662 (origin
4663 (method url-fetch)
4664 (uri (string-append "https://hackage.haskell.org/package/"
4665 "call-stack/call-stack-"
4666 version ".tar.gz"))
4667 (sha256
4668 (base32
4669 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
4670 (build-system haskell-build-system)
4671 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
4672 (home-page "https://github.com/sol/call-stack#readme")
4673 (synopsis "Use GHC call-stacks in a backward compatible way")
4674 (description "This package provides a compatibility layer for using GHC
4675call stacks with different versions of the compiler.")
4676 (license license:expat)))
4677
e42e9024
RW
4678;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
4679;; because it depends on ghc-nanospec, which depends on ghc-hunit.
4680(define-public ghc-call-stack-boot
4681 (package
4682 (inherit ghc-call-stack)
4683 (arguments '(#:tests? #f))
4684 (inputs '())))
4685
f271524a
PW
4686(define-public ghc-statevar
4687 (package
4688 (name "ghc-statevar")
77c1e8b5 4689 (version "1.1.0.4")
f271524a
PW
4690 (source
4691 (origin
4692 (method url-fetch)
4693 (uri (string-append
612fddec 4694 "https://hackage.haskell.org/package/StateVar/StateVar-"
f271524a
PW
4695 version
4696 ".tar.gz"))
4697 (sha256
4698 (base32
77c1e8b5 4699 "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks"))))
f271524a 4700 (build-system haskell-build-system)
2d47cee2 4701 (inputs
f271524a 4702 `(("ghc-stm" ,ghc-stm)))
612fddec 4703 (home-page "https://hackage.haskell.org/package/StateVar")
f271524a
PW
4704 (synopsis "State variables for Haskell")
4705 (description "This package provides state variables, which are references
4706in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
3ac73271 4707 (license license:bsd-3)))
f271524a 4708
e1a35c39
PW
4709(define-public ghc-lens
4710 (package
4711 (name "ghc-lens")
38646a62 4712 (version "4.15.4")
e1a35c39
PW
4713 (source
4714 (origin
4715 (method url-fetch)
38646a62
RW
4716 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
4717 version ".tar.gz"))
e1a35c39
PW
4718 (sha256
4719 (base32
38646a62 4720 "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl"))))
e1a35c39 4721 (build-system haskell-build-system)
2d47cee2 4722 (inputs
e1a35c39
PW
4723 `(("ghc-base-orphans" ,ghc-base-orphans)
4724 ("ghc-bifunctors" ,ghc-bifunctors)
38646a62 4725 ("ghc-doctest" ,ghc-doctest-0.13)
e1a35c39
PW
4726 ("ghc-distributive" ,ghc-distributive)
4727 ("ghc-exceptions" ,ghc-exceptions)
4728 ("ghc-free" ,ghc-free)
4729 ("ghc-kan-extensions" ,ghc-kan-extensions)
4730 ("ghc-parallel" ,ghc-parallel)
4731 ("ghc-reflection" ,ghc-reflection)
4732 ("ghc-semigroupoids" ,ghc-semigroupoids)
2d47cee2 4733 ("ghc-vector" ,ghc-vector)
38646a62 4734 ("ghc-call-stack" ,ghc-call-stack)
2d47cee2 4735 ("ghc-comonad" ,ghc-comonad)
e1a35c39
PW
4736 ("ghc-contravariant" ,ghc-contravariant)
4737 ("ghc-hashable" ,ghc-hashable)
4738 ("ghc-mtl" ,ghc-mtl)
4739 ("ghc-profunctors" ,ghc-profunctors)
4740 ("ghc-semigroups" ,ghc-semigroups)
4741 ("ghc-tagged" ,ghc-tagged)
4742 ("ghc-text" ,ghc-text)
4743 ("ghc-transformers-compat" ,ghc-transformers-compat)
4744 ("ghc-unordered-containers" ,ghc-unordered-containers)
4745 ("ghc-void" ,ghc-void)
4746 ("ghc-generic-deriving" ,ghc-generic-deriving)
4747 ("ghc-nats" ,ghc-nats)
4748 ("ghc-simple-reflect" ,ghc-simple-reflect)
4749 ("hlint" ,hlint)))
38646a62
RW
4750 (native-inputs
4751 `(("cabal-doctest" ,cabal-doctest)
4752 ("ghc-hunit" ,ghc-hunit)
4753 ("ghc-test-framework" ,ghc-test-framework)
4754 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4755 ("ghc-test-framework-th" ,ghc-test-framework-th)
4756 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4757 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4758 (home-page "https://github.com/ekmett/lens/")
e1a35c39
PW
4759 (synopsis "Lenses, Folds and Traversals")
4760 (description "This library provides @code{Control.Lens}. The combinators
4761in @code{Control.Lens} provide a highly generic toolbox for composing families
4762of getters, folds, isomorphisms, traversals, setters and lenses and their
4763indexed variants.")
3ac73271 4764 (license license:bsd-3)))
e1a35c39 4765
d7e67cf1
PW
4766(define-public ghc-cheapskate
4767 (package
4768 (name "ghc-cheapskate")
e1358124 4769 (version "0.1.1")
d7e67cf1
PW
4770 (source
4771 (origin
4772 (method url-fetch)
4773 (uri (string-append
612fddec 4774 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
d7e67cf1
PW
4775 version
4776 ".tar.gz"))
4777 (sha256
4778 (base32
e1358124 4779 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
d7e67cf1 4780 (build-system haskell-build-system)
d7e67cf1 4781 (inputs
e1358124
RW
4782 `(("ghc-mtl" ,ghc-mtl)
4783 ("ghc-text" ,ghc-text)
751de3d6 4784 ("ghc-blaze-html" ,ghc-blaze-html)
e1358124 4785 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
2d47cee2 4786 ("ghc-data-default" ,ghc-data-default)
d7e67cf1 4787 ("ghc-syb" ,ghc-syb)
e1358124 4788 ("ghc-uniplate" ,ghc-uniplate)))
612fddec 4789 (home-page "https://github.com/jgm/cheapskate")
d7e67cf1
PW
4790 (synopsis "Experimental markdown processor")
4791 (description "Cheapskate is an experimental Markdown processor in pure
4792Haskell. It aims to process Markdown efficiently and in the most forgiving
4793possible way. It is designed to deal with any input, including garbage, with
4d9cdf3c
TGR
4794linear performance. Output is sanitized by default for protection against
4795cross-site scripting (@dfn{XSS}) attacks.")
3ac73271 4796 (license license:bsd-3)))
d7e67cf1 4797
4f997551
PW
4798(define-public ghc-bifunctors
4799 (package
4800 (name "ghc-bifunctors")
7044882c 4801 (version "5.5.2")
4f997551
PW
4802 (source
4803 (origin
4804 (method url-fetch)
4805 (uri (string-append
612fddec 4806 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4f997551
PW
4807 version
4808 ".tar.gz"))
4809 (sha256
4810 (base32
7044882c 4811 "04fbsysm6zl8kmvqgffmrqa9bxl9dl2gibrd51asqzg737mb4ark"))))
4f997551
PW
4812 (build-system haskell-build-system)
4813 (inputs
7044882c
RW
4814 `(("ghc-base-orphans" ,ghc-base-orphans)
4815 ("ghc-comonad" ,ghc-comonad)
4816 ("ghc-th-abstraction" ,ghc-th-abstraction)
4817 ("ghc-transformers-compat" ,ghc-transformers-compat)
4818 ("ghc-tagged" ,ghc-tagged)
4f997551 4819 ("ghc-semigroups" ,ghc-semigroups)))
7044882c
RW
4820 (native-inputs
4821 `(("ghc-hspec" ,ghc-hspec)
4822 ("hspec-discover" ,hspec-discover)
4823 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4824 (home-page "https://github.com/ekmett/bifunctors/")
4f997551
PW
4825 (synopsis "Bifunctors for Haskell")
4826 (description "This package provides bifunctors for Haskell.")
3ac73271 4827 (license license:bsd-3)))
4f997551 4828
aee98223
PW
4829(define-public ghc-semigroupoids
4830 (package
4831 (name "ghc-semigroupoids")
416092e7 4832 (version "5.1")
aee98223
PW
4833 (source
4834 (origin
4835 (method url-fetch)
4836 (uri (string-append
612fddec 4837 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
aee98223
PW
4838 version
4839 ".tar.gz"))
4840 (sha256
4841 (base32
416092e7 4842 "0dgqc59p4xx5cl8qkpm6sn4wd3n59rq7l6din76hf10bnklqrb0n"))))
aee98223 4843 (build-system haskell-build-system)
2d47cee2
RW
4844 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4845 (inputs
aee98223
PW
4846 `(("ghc-base-orphans" ,ghc-base-orphans)
4847 ("ghc-transformers-compat" ,ghc-transformers-compat)
4848 ("ghc-bifunctors" ,ghc-bifunctors)
4849 ("ghc-comonad" ,ghc-comonad)
4850 ("ghc-contravariant" ,ghc-contravariant)
2d47cee2
RW
4851 ("ghc-distributive" ,ghc-distributive)
4852 ("ghc-semigroups" ,ghc-semigroups)
aee98223 4853 ("ghc-tagged" ,ghc-tagged)))
612fddec 4854 (home-page "https://github.com/ekmett/semigroupoids")
aee98223
PW
4855 (synopsis "Semigroupoids operations for Haskell")
4856 (description "This library provides a wide array of (semi)groupoids and
4857operations for working with them. A @code{Semigroupoid} is a @code{Category}
4858without the requirement of identity arrows for every object in the category.
4859A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4860Finally, to work with these weaker structures it is beneficial to have
4861containers that can provide stronger guarantees about their contents, so
4862versions of @code{Traversable} and @code{Foldable} that can be folded with
4863just a @code{Semigroup} are added.")
3ac73271 4864 (license license:bsd-3)))
aee98223 4865
624efe73
PW
4866(define-public ghc-contravariant
4867 (package
4868 (name "ghc-contravariant")
ab880e6e 4869 (version "1.4")
624efe73
PW
4870 (source
4871 (origin
4872 (method url-fetch)
4873 (uri (string-append
612fddec 4874 "https://hackage.haskell.org/package/contravariant/contravariant-"
624efe73
PW
4875 version
4876 ".tar.gz"))
4877 (sha256
4878 (base32
ab880e6e 4879 "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1"))))
624efe73 4880 (build-system haskell-build-system)
2d47cee2 4881 (inputs
624efe73
PW
4882 `(("ghc-void" ,ghc-void)
4883 ("ghc-transformers-compat" ,ghc-transformers-compat)
2d47cee2
RW
4884 ("ghc-statevar" ,ghc-statevar)
4885 ("ghc-semigroups" ,ghc-semigroups)))
624efe73 4886 (home-page
612fddec 4887 "https://github.com/ekmett/contravariant/")
624efe73
PW
4888 (synopsis "Contravariant functors")
4889 (description "Contravariant functors for Haskell.")
3ac73271 4890 (license license:bsd-3)))
624efe73 4891
946fa8c9
PW
4892(define-public ghc-semigroups
4893 (package
4894 (name "ghc-semigroups")
35c99a1f 4895 (version "0.18.2")
946fa8c9
PW
4896 (source
4897 (origin
4898 (method url-fetch)
4899 (uri (string-append
612fddec 4900 "https://hackage.haskell.org/package/semigroups/semigroups-"
946fa8c9
PW
4901 version
4902 ".tar.gz"))
4903 (sha256
4904 (base32
35c99a1f 4905 "1r6hsn3am3dpf4rprrj4m04d9318v9iq02bin0pl29dg4a3gzjax"))))
946fa8c9 4906 (build-system haskell-build-system)
2d47cee2 4907 (inputs
946fa8c9
PW
4908 `(("ghc-nats" ,ghc-nats)
4909 ("ghc-tagged" ,ghc-tagged)
2d47cee2
RW
4910 ("ghc-unordered-containers" ,ghc-unordered-containers)
4911 ("ghc-text" ,ghc-text)
946fa8c9 4912 ("ghc-hashable" ,ghc-hashable)))
612fddec 4913 (home-page "https://github.com/ekmett/semigroups/")
946fa8c9
PW
4914 (synopsis "Semigroup operations for Haskell")
4915 (description "This package provides semigroups for Haskell. In
4916mathematics, a semigroup is an algebraic structure consisting of a set
4917together with an associative binary operation. A semigroup generalizes a
4918monoid in that there might not exist an identity element. It
4919also (originally) generalized a group (a monoid with all inverses) to a type
4920where every element did not have to have an inverse, thus the name
4921semigroup.")
3ac73271 4922 (license license:bsd-3)))
946fa8c9 4923
dc2e8ab7
PW
4924(define-public ghc-free
4925 (package
4926 (name "ghc-free")
c18f82db 4927 (version "4.12.4")
dc2e8ab7
PW
4928 (source
4929 (origin
4930 (method url-fetch)
4931 (uri (string-append
612fddec 4932 "https://hackage.haskell.org/package/free/free-"
dc2e8ab7
PW
4933 version
4934 ".tar.gz"))
4935 (sha256
4936 (base32
c18f82db 4937 "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9"))))
dc2e8ab7 4938 (build-system haskell-build-system)
2d47cee2 4939 (inputs
dc2e8ab7
PW
4940 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4941 ("ghc-profunctors" ,ghc-profunctors)
2d47cee2
RW
4942 ("ghc-exceptions" ,ghc-exceptions)
4943 ("ghc-bifunctors" ,ghc-bifunctors)
dc2e8ab7
PW
4944 ("ghc-comonad" ,ghc-comonad)
4945 ("ghc-distributive" ,ghc-distributive)
4946 ("ghc-mtl" ,ghc-mtl)
4947 ("ghc-semigroupoids" ,ghc-semigroupoids)
4948 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 4949 (home-page "https://github.com/ekmett/free/")
dc2e8ab7
PW
4950 (synopsis "Unrestricted monads for Haskell")
4951 (description "This library provides free monads, which are useful for many
4952tree-like structures and domain specific languages. If @code{f} is a
4953@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4954whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4955is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4956f} makes no constraining assumptions beyond those given by @code{f} and the
4957definition of @code{Monad}.")
3ac73271 4958 (license license:bsd-3)))
dc2e8ab7 4959
52db0e13
PW
4960(define-public ghc-adjunctions
4961 (package
4962 (name "ghc-adjunctions")
3f229b1b 4963 (version "4.3")
52db0e13
PW
4964 (source
4965 (origin
4966 (method url-fetch)
4967 (uri (string-append
612fddec 4968 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
52db0e13
PW
4969 version
4970 ".tar.gz"))
4971 (sha256
4972 (base32
3f229b1b 4973 "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r"))))
52db0e13 4974 (build-system haskell-build-system)
52db0e13 4975 (inputs
2d47cee2
RW
4976 `(("ghc-profunctors" ,ghc-profunctors)
4977 ("ghc-comonad" ,ghc-comonad)
52db0e13
PW
4978 ("ghc-contravariant" ,ghc-contravariant)
4979 ("ghc-distributive" ,ghc-distributive)
4980 ("ghc-free" ,ghc-free)
4981 ("ghc-mtl" ,ghc-mtl)
4982 ("ghc-tagged" ,ghc-tagged)
4983 ("ghc-semigroupoids" ,ghc-semigroupoids)
4984 ("ghc-semigroups" ,ghc-semigroups)
4985 ("ghc-void" ,ghc-void)))
612fddec 4986 (home-page "https://github.com/ekmett/adjunctions/")
52db0e13
PW
4987 (synopsis "Adjunctions and representable functors")
4988 (description "This library provides adjunctions and representable functors
4989for Haskell.")
3ac73271 4990 (license license:bsd-3)))
52db0e13 4991
96f23b62
AV
4992(define-public ghc-equivalence
4993 (package
4994 (name "ghc-equivalence")
4995 (version "0.3.2")
4996 (source
4997 (origin
4998 (method url-fetch)
4999 (uri (string-append "https://hackage.haskell.org/package/equivalence"
5000 "/equivalence-" version ".tar.gz"))
5001 (sha256
5002 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
5003 (build-system haskell-build-system)
5004 (inputs
5005 `(("ghc-mtl" ,ghc-mtl)
5006 ("ghc-stmonadtrans" ,ghc-stmonadtrans)
5007 ("ghc-transformers-compat" ,ghc-transformers-compat)
5008 ("ghc-quickcheck" ,ghc-quickcheck)
5009 ("ghc-test-framework" ,ghc-test-framework)
5010 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5011 (home-page "https://github.com/pa-ba/equivalence")
5012 (synopsis "Maintaining an equivalence relation implemented as union-find")
5013 (description
5014 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
5015Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
501622(2), 1975) in order to maintain an equivalence relation. This
5017implementation is a port of the @code{union-find} package using the @code{ST}
5018monad transformer (instead of the IO monad).")
5019 (license license:bsd-3)))
5020
cc553d02
PW
5021(define-public ghc-fast-logger
5022 (package
5023 (name "ghc-fast-logger")
05c08ec9 5024 (version "2.4.11")
cc553d02
PW
5025 (source
5026 (origin
5027 (method url-fetch)
5028 (uri (string-append
612fddec 5029 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
cc553d02
PW
5030 version
5031 ".tar.gz"))
5032 (sha256
5033 (base32
05c08ec9 5034 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
cc553d02 5035 (build-system haskell-build-system)
cc553d02 5036 (inputs
05c08ec9
RW
5037 `(("ghc-auto-update" ,ghc-auto-update)
5038 ("ghc-easy-file" ,ghc-easy-file)
5039 ("ghc-text" ,ghc-text)
5040 ("ghc-unix-time" ,ghc-unix-time)))
2d47cee2
RW
5041 (native-inputs
5042 `(("hspec-discover" ,hspec-discover)
5043 ("ghc-hspec" ,ghc-hspec)))
cc553d02
PW
5044 (home-page "https://hackage.haskell.org/package/fast-logger")
5045 (synopsis "Fast logging system")
5046 (description "This library provides a fast logging system for Haskell.")
3ac73271 5047 (license license:bsd-3)))
cc553d02 5048
cb2119e4
PW
5049(define-public ghc-doctest
5050 (package
5051 (name "ghc-doctest")
f212b628 5052 (version "0.11.0")
cb2119e4
PW
5053 (source
5054 (origin
5055 (method url-fetch)
5056 (uri (string-append
612fddec 5057 "https://hackage.haskell.org/package/doctest/doctest-"
cb2119e4
PW
5058 version
5059 ".tar.gz"))
5060 (sha256
5061 (base32
f212b628 5062 "0xv4vx1r3mk7cmiwywzrq25545cx3i7imhcx33mk47r88j5c49fj"))))
cb2119e4
PW
5063 (build-system haskell-build-system)
5064 (arguments `(#:tests? #f)) ; FIXME: missing test framework
cb2119e4 5065 (inputs
2d47cee2
RW
5066 `(("ghc-syb" ,ghc-syb)
5067 ("ghc-paths" ,ghc-paths)
5068 ("ghc-base-compat" ,ghc-base-compat)
cb2119e4
PW
5069 ("ghc-hunit" ,ghc-hunit)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("ghc-quickcheck" ,ghc-quickcheck)
5072 ("ghc-stringbuilder" ,ghc-stringbuilder)
5073 ("ghc-silently" ,ghc-silently)
5074 ("ghc-setenv" ,ghc-setenv)))
5075 (home-page
5076 "https://github.com/sol/doctest#readme")
5077 (synopsis "Test interactive Haskell examples")
5078 (description "The doctest program checks examples in source code comments.
5079It is modeled after doctest for Python, see
98b90194 5080@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3ac73271 5081 (license license:expat)))
cb2119e4 5082
41faaff1
RW
5083(define-public ghc-doctest-0.12
5084 (package (inherit ghc-doctest)
5085 (name "ghc-doctest")
5086 (version "0.12.0")
5087 (source
5088 (origin
5089 (method url-fetch)
5090 (uri (string-append
5091 "https://hackage.haskell.org/package/doctest/doctest-"
5092 version
5093 ".tar.gz"))
5094 (sha256
5095 (base32
5096 "13h549cpgcvb7c54c7wif28g5wak84dxc3ais0hlqhzk1q6la91a"))))
5097 (inputs
5098 `(("ghc-code-page" ,ghc-code-page)
5099 ,@(package-inputs ghc-doctest)))))
5100
83d43619
RW
5101(define-public ghc-doctest-0.13
5102 (package (inherit ghc-doctest-0.12)
5103 (name "ghc-doctest")
5104 (version "0.13.0")
5105 (source
5106 (origin
5107 (method url-fetch)
5108 (uri (string-append "https://hackage.haskell.org/package/"
5109 "doctest/doctest-" version ".tar.gz"))
5110 (sha256
5111 (base32
5112 "08g3nmpqbnbkxc95d65hkhfabwax10qrq51vlynr342npn40mn2b"))))))
5113
6f5e312e
PW
5114(define-public ghc-lifted-base
5115 (package
5116 (name "ghc-lifted-base")
2e67886e 5117 (version "0.2.3.8")
6f5e312e
PW
5118 (source
5119 (origin
5120 (method url-fetch)
5121 (uri (string-append
612fddec 5122 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6f5e312e
PW
5123 version
5124 ".tar.gz"))
5125 (sha256
5126 (base32
2e67886e 5127 "17yz4n7q96x4cp8vxai8csn2vmpigxvipkfh48arahf91f0xy18n"))))
6f5e312e
PW
5128 (build-system haskell-build-system)
5129 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6f5e312e 5130 (inputs
2d47cee2
RW
5131 `(("ghc-transformers-base" ,ghc-transformers-base)
5132 ("ghc-monad-control" ,ghc-monad-control)
5133 ("ghc-transformers-compat" ,ghc-transformers-compat)
6f5e312e
PW
5134 ("ghc-hunit" ,ghc-hunit)))
5135 (home-page "https://github.com/basvandijk/lifted-base")
5136 (synopsis "Lifted IO operations from the base library")
5137 (description "Lifted-base exports IO operations from the @code{base}
5138library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5139Note that not all modules from @code{base} are converted yet. The package
5140includes a copy of the @code{monad-peel} test suite written by Anders
5141Kaseorg.")
3ac73271 5142 (license license:bsd-3)))
6f5e312e 5143
281bc4fd
PW
5144(define-public ghc-word8
5145 (package
5146 (name "ghc-word8")
bc819cdf 5147 (version "0.1.3")
281bc4fd
PW
5148 (source
5149 (origin
5150 (method url-fetch)
5151 (uri (string-append
612fddec 5152 "https://hackage.haskell.org/package/word8/word8-"
281bc4fd
PW
5153 version
5154 ".tar.gz"))
5155 (sha256
5156 (base32
bc819cdf 5157 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
281bc4fd 5158 (build-system haskell-build-system)
2d47cee2
RW
5159 (native-inputs
5160 `(("ghc-hspec" ,ghc-hspec)
5161 ("hspec-discover" ,hspec-discover)))
612fddec 5162 (home-page "https://hackage.haskell.org/package/word8")
281bc4fd
PW
5163 (synopsis "Word8 library for Haskell")
5164 (description "Word8 library to be used with @code{Data.ByteString}.")
3ac73271 5165 (license license:bsd-3)))
281bc4fd 5166
fa709a2f
PW
5167(define-public ghc-stringsearch
5168 (package
5169 (name "ghc-stringsearch")
5170 (version "0.3.6.6")
5171 (source
5172 (origin
5173 (method url-fetch)
5174 (uri (string-append
612fddec 5175 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
fa709a2f
PW
5176 version
5177 ".tar.gz"))
5178 (sha256
5179 (base32
5180 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
5181 (build-system haskell-build-system)
5182 (home-page "https://bitbucket.org/dafis/stringsearch")
5183 (synopsis "Fast searching, splitting and replacing of ByteStrings")
5184 (description "This package provides several functions to quickly search
5185for substrings in strict or lazy @code{ByteStrings}. It also provides
5186functions for breaking or splitting on substrings and replacing all
5187occurrences of a substring (the first in case of overlaps) with another.")
3ac73271 5188 (license license:bsd-3)))
fa709a2f 5189
d0f4853a
RW
5190(define-public ghc-integer-logarithms
5191 (package
5192 (name "ghc-integer-logarithms")
7550f4b0 5193 (version "1.0.2.1")
d0f4853a
RW
5194 (source
5195 (origin
5196 (method url-fetch)
5197 (uri (string-append "https://hackage.haskell.org/package/"
5198 "integer-logarithms/integer-logarithms-"
5199 version ".tar.gz"))
5200 (sha256
5201 (base32
7550f4b0 5202 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
d0f4853a 5203 (build-system haskell-build-system)
6300ba5b
AI
5204 (arguments
5205 `(#:configure-flags (list "--allow-newer=tasty")))
7550f4b0
AI
5206 (native-inputs
5207 `(("ghc-quickcheck" ,ghc-quickcheck)
5208 ("ghc-smallcheck" ,ghc-smallcheck)
5209 ("ghc-tasty" ,ghc-tasty)
d0f4853a 5210 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7550f4b0
AI
5211 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5212 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5213 (home-page "https://github.com/Bodigrim/integer-logarithms")
d0f4853a
RW
5214 (synopsis "Integer logarithms")
5215 (description
5216 "This package provides the following modules:
5217@code{Math.NumberTheory.Logarithms} and
5218@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5219@code{GHC.Integer.Logarithms.Compat} and
5220@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5221in migrated modules.")
5222 (license license:expat)))
5223
3ad6b890
AI
5224(define ghc-integer-logarithms-bootstrap
5225 (package
5226 (inherit ghc-integer-logarithms)
5227 (name "ghc-integer-logarithms-bootstrap")
5228 (arguments `(#:tests? #f))
5229 (native-inputs '())))
5230
a43a38a1
PW
5231(define-public ghc-scientific
5232 (package
5233 (name "ghc-scientific")
2cad58ca 5234 (version "0.3.6.2")
a43a38a1
PW
5235 (source
5236 (origin
5237 (method url-fetch)
5238 (uri (string-append
612fddec 5239 "https://hackage.haskell.org/package/scientific/scientific-"
a43a38a1
PW
5240 version
5241 ".tar.gz"))
5242 (sha256
5243 (base32
2cad58ca 5244 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
a43a38a1 5245 (build-system haskell-build-system)
a43a38a1 5246 (inputs
3ad6b890 5247 `(("ghc-integer-logarithms-bootstrap" ,ghc-integer-logarithms-bootstrap)
2d47cee2 5248 ("ghc-text" ,ghc-text)
a5044b6a 5249 ("ghc-hashable" ,ghc-hashable)
2cad58ca
AI
5250 ("ghc-primitive" ,ghc-primitive)))
5251 (native-inputs
5252 `(("ghc-tasty" ,ghc-tasty)
a43a38a1
PW
5253 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
5254 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5255 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5256 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5257 ("ghc-smallcheck" ,ghc-smallcheck)
5258 ("ghc-quickcheck" ,ghc-quickcheck)))
5259 (home-page "https://github.com/basvandijk/scientific")
5260 (synopsis "Numbers represented using scientific notation")
5261 (description "This package provides @code{Data.Scientific}, which provides
5262the number type @code{Scientific}. Scientific numbers are arbitrary precision
5263and space efficient. They are represented using
98b90194 5264@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
a43a38a1 5265notation}.")
3ac73271 5266 (license license:bsd-3)))
a43a38a1 5267
3ad6b890
AI
5268(define ghc-scientific-bootstrap
5269 (package
5270 (inherit ghc-scientific)
5271 (name "ghc-scientific-bootstrap")
5272 (arguments `(#:tests? #f))
5273 (native-inputs '())))
5274
3f8b8e73
AV
5275(define-public ghc-boxes
5276 (package
5277 (name "ghc-boxes")
5278 (version "0.1.4")
5279 (source
5280 (origin
5281 (method url-fetch)
5282 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
5283 version ".tar.gz"))
5284 (sha256
5285 (base32 "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf"))))
5286 (build-system haskell-build-system)
5287 (inputs
5288 `(("ghc-split" ,ghc-split)
5289 ("ghc-quickcheck" ,ghc-quickcheck)))
5290 (home-page "https://hackage.haskell.org/package/boxes")
5291 (synopsis "2D text pretty-printing library")
5292 (description
5293 "Boxes is a pretty-printing library for laying out text in two dimensions,
5294using a simple box model.")
5295 (license license:bsd-3)))
2aa0bada 5296
4cbd9f59
RW
5297(define-public ghc-deepseq-generics
5298 (package
5299 (name "ghc-deepseq-generics")
59e08129 5300 (version "0.2.0.0")
4cbd9f59
RW
5301 (source (origin
5302 (method url-fetch)
612fddec 5303 (uri (string-append "https://hackage.haskell.org/package/"
4cbd9f59
RW
5304 "deepseq-generics/deepseq-generics-"
5305 version ".tar.gz"))
5306 (sha256
5307 (base32
59e08129 5308 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
4cbd9f59 5309 (build-system haskell-build-system)
4cbd9f59
RW
5310 (native-inputs
5311 `(("ghc-hunit" ,ghc-hunit)
5312 ("ghc-test-framework" ,ghc-test-framework)
5313 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5314 (home-page "https://github.com/hvr/deepseq-generics")
5315 (synopsis "Generic RNF implementation")
5316 (description
5317 "This package provides a @code{GHC.Generics}-based
5318@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5319providing an 'rnf' implementation.")
3ac73271 5320 (license license:bsd-3)))
4cbd9f59 5321
e0894701
RW
5322(define-public ghc-string-qq
5323 (package
5324 (name "ghc-string-qq")
5325 (version "0.0.2")
5326 (source
5327 (origin
5328 (method url-fetch)
5329 (uri (string-append
5330 "https://hackage.haskell.org/package/string-qq/string-qq-"
5331 version
5332 ".tar.gz"))
5333 (sha256
5334 (base32
5335 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
5336 (build-system haskell-build-system)
5337 (home-page "http://hackage.haskell.org/package/string-qq")
5338 (synopsis
5339 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
5340 (description
5341 "This package provides a quasiquoter for non-interpolated strings, texts
5342and bytestrings.")
5343 (license license:public-domain)))
5344
8164d58e
RW
5345(define-public ghc-pandoc-types
5346 (package
5347 (name "ghc-pandoc-types")
cdad36c3 5348 (version "1.17.5.1")
8164d58e
RW
5349 (source (origin
5350 (method url-fetch)
612fddec 5351 (uri (string-append "https://hackage.haskell.org/package/"
8164d58e
RW
5352 "pandoc-types/pandoc-types-"
5353 version ".tar.gz"))
5354 (sha256
5355 (base32
cdad36c3 5356 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
8164d58e 5357 (build-system haskell-build-system)
9d087076
RW
5358 (arguments
5359 `(#:configure-flags (list "--allow-newer=QuickCheck")))
2d47cee2 5360 (inputs
8164d58e
RW
5361 `(("ghc-syb" ,ghc-syb)
5362 ("ghc-aeson" ,ghc-aeson)
9d087076
RW
5363 ("ghc-string-qq" ,ghc-string-qq)))
5364 (native-inputs
5365 `(("ghc-quickcheck" ,ghc-quickcheck)
5366 ("ghc-test-framework" ,ghc-test-framework)
5367 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5368 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5369 ("ghc-hunit" ,ghc-hunit)))
8164d58e
RW
5370 (home-page "http://johnmacfarlane.net/pandoc")
5371 (synopsis "Types for representing a structured document")
5372 (description
5373 "This module defines the @code{Pandoc} data structure, which is used by
5374pandoc to represent structured documents. It also provides functions for
5375building up, manipulating and serialising @code{Pandoc} structures.")
3ac73271 5376 (license license:bsd-3)))
8164d58e 5377
0f1fef71
RW
5378(define-public ghc-pandoc-types-for-pandoc-1
5379 (package (inherit ghc-pandoc-types)
5380 (version "1.17.0.5")
5381 (source (origin
5382 (method url-fetch)
5383 (uri (string-append "https://hackage.haskell.org/package/"
5384 "pandoc-types/pandoc-types-"
5385 version ".tar.gz"))
5386 (sha256
5387 (base32
5388 "1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8"))))
7ad3d4fd
RW
5389 (arguments
5390 `(#:configure-flags (list "--allow-newer=QuickCheck"
5391 "--allow-newer=HUnit")))
0f1fef71
RW
5392 (inputs
5393 `(("ghc-syb" ,ghc-syb)
5394 ("ghc-aeson" ,ghc-aeson-for-pandoc-1)
5395 ("ghc-string-qq" ,ghc-string-qq)))))
5396
ef2861b1
RW
5397(define-public ghc-texmath
5398 (package
5399 (name "ghc-texmath")
cfac79ba 5400 (version "0.11.0.1")
ef2861b1
RW
5401 (source (origin
5402 (method url-fetch)
612fddec 5403 (uri (string-append "https://hackage.haskell.org/package/"
ef2861b1
RW
5404 "texmath/texmath-" version ".tar.gz"))
5405 (sha256
5406 (base32
cfac79ba 5407 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
ef2861b1 5408 (build-system haskell-build-system)
2d47cee2 5409 (inputs
ef2861b1
RW
5410 `(("ghc-syb" ,ghc-syb)
5411 ("ghc-network-uri" ,ghc-network-uri)
5412 ("ghc-split" ,ghc-split)
5413 ("ghc-temporary" ,ghc-temporary)
5414 ("ghc-utf8-string" ,ghc-utf8-string)
5415 ("ghc-xml" ,ghc-xml)
5416 ("ghc-parsec" ,ghc-parsec)
5417 ("ghc-mtl" ,ghc-mtl)
5418 ("ghc-pandoc-types" ,ghc-pandoc-types)))
612fddec 5419 (home-page "https://github.com/jgm/texmath")
ef2861b1
RW
5420 (synopsis "Conversion between formats used to represent mathematics")
5421 (description
5422 "The texmath library provides functions to read and write TeX math,
5423presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5424Office). Support is also included for converting math formats to pandoc's
5425native format (allowing conversion, via pandoc, to a variety of different
5426markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5427it can parse and apply LaTeX macros.")
3ac73271 5428 (license license:gpl2+)))
ef2861b1 5429
dcf8e2ab
RW
5430(define-public ghc-texmath-for-pandoc-1
5431 (package (inherit ghc-texmath)
5432 (version "0.9.4.4")
5433 (source (origin
5434 (method url-fetch)
5435 (uri (string-append "https://hackage.haskell.org/package/"
5436 "texmath/texmath-" version ".tar.gz"))
5437 (sha256
5438 (base32
5439 "129q33m56diiv35kdwfb07838wrg0mm88kxdqxfyl1zvf9nzkqkd"))))
5440 (inputs
5441 `(("ghc-mtl" ,ghc-mtl)
5442 ("ghc-network-uri" ,ghc-network-uri)
5443 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
5444 ("ghc-parsec" ,ghc-parsec)
5445 ("ghc-split" ,ghc-split)
5446 ("ghc-syb" ,ghc-syb)
5447 ("ghc-temporary" ,ghc-temporary)
5448 ("ghc-utf8-string" ,ghc-utf8-string)
5449 ("ghc-xml" ,ghc-xml)))))
5450
a54d11b5
RW
5451(define-public ghc-regex-pcre-builtin
5452 (package
5453 (name "ghc-regex-pcre-builtin")
5454 (version "0.94.4.8.8.35")
5455 (source (origin
5456 (method url-fetch)
612fddec 5457 (uri (string-append "https://hackage.haskell.org/package/"
a54d11b5
RW
5458 "regex-pcre-builtin/regex-pcre-builtin-"
5459 version ".tar.gz"))
5460 (sha256
5461 (base32
5462 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5463 (build-system haskell-build-system)
2d47cee2 5464 (inputs
a54d11b5 5465 `(("ghc-regex-base" ,ghc-regex-base)))
612fddec 5466 (home-page "https://hackage.haskell.org/package/regex-pcre")
a54d11b5
RW
5467 (synopsis "Enhancement of the builtin Text.Regex library")
5468 (description
5469 "This package is an enhancement of the @code{Text.Regex} library,
5470providing the PCRE backend to accompany regex-base, with bundled code from
98b90194 5471@url{https://www.pcre.org}.")
3ac73271 5472 (license license:bsd-3)))
a54d11b5 5473
05245dc9
RW
5474(define-public ghc-diff
5475 (package
5476 (name "ghc-diff")
307a0dce 5477 (version "0.3.4")
05245dc9
RW
5478 (source (origin
5479 (method url-fetch)
612fddec 5480 (uri (string-append "https://hackage.haskell.org/package/"
05245dc9
RW
5481 "Diff/Diff-" version ".tar.gz"))
5482 (sha256
5483 (base32
307a0dce 5484 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
05245dc9 5485 (build-system haskell-build-system)
307a0dce
RW
5486 (native-inputs
5487 `(("ghc-quickcheck" ,ghc-quickcheck)
5488 ("ghc-test-framework" ,ghc-test-framework)
5489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 5490 (home-page "https://hub.darcs.net/sterlingclover/Diff")
05245dc9
RW
5491 (synopsis "O(ND) diff algorithm in Haskell")
5492 (description
5493 "This package provides an implementation of the standard diff algorithm,
5494and utilities for pretty printing.")
3ac73271 5495 (license license:bsd-3)))
05245dc9 5496
66c480b6
RW
5497(define-public ghc-highlighting-kate
5498 (package
5499 (name "ghc-highlighting-kate")
8f1e2dca 5500 (version "0.6.3")
66c480b6
RW
5501 (source (origin
5502 (method url-fetch)
612fddec 5503 (uri (string-append "https://hackage.haskell.org/package/"
66c480b6
RW
5504 "highlighting-kate/highlighting-kate-"
5505 version ".tar.gz"))
5506 (sha256
5507 (base32
8f1e2dca 5508 "03c4flh4h1jd48bx0qmplax3q8w6wj1dhbh6j0xhaf5h95fbinki"))))
66c480b6 5509 (build-system haskell-build-system)
2d47cee2 5510 (inputs
66c480b6
RW
5511 `(("ghc-diff" ,ghc-diff)
5512 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5513 (native-inputs
5514 `(("ghc-parsec" ,ghc-parsec)
5515 ("ghc-blaze-html" ,ghc-blaze-html)
5516 ("ghc-utf8-string" ,ghc-utf8-string)
5517 ("ghc-mtl" ,ghc-mtl)))
612fddec 5518 (home-page "https://github.com/jgm/highlighting-kate")
66c480b6
RW
5519 (synopsis "Syntax highlighting library")
5520 (description
5521 "Highlighting-kate is a syntax highlighting library with support for
5522nearly one hundred languages. The syntax parsers are automatically generated
98b90194 5523from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
66c480b6
RW
5524supported by Kate can be added. An (optional) command-line program is
5525provided, along with a utility for generating new parsers from Kate XML syntax
5526descriptions.")
3ac73271 5527 (license license:gpl2+)))
66c480b6 5528
31be270b
RW
5529(define-public ghc-cmark
5530 (package
5531 (name "ghc-cmark")
b8490856 5532 (version "0.5.6")
31be270b
RW
5533 (source (origin
5534 (method url-fetch)
b8490856
TGR
5535 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5536 ;; See cbits/cmark_version.h.
612fddec 5537 (uri (string-append "https://hackage.haskell.org/package/"
31be270b
RW
5538 "cmark/cmark-" version ".tar.gz"))
5539 (sha256
5540 (base32
b8490856 5541 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
31be270b 5542 (build-system haskell-build-system)
2d47cee2 5543 (inputs
31be270b
RW
5544 `(("ghc-text" ,ghc-text)))
5545 (native-inputs
5546 `(("ghc-hunit" ,ghc-hunit)))
5547 (home-page "https://github.com/jgm/commonmark-hs")
5548 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5549 (description
5550 "This package provides Haskell bindings for
5551@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
b8490856
TGR
5552CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5553sources, and does not require prior installation of the C library.")
3ac73271 5554 (license license:bsd-3)))
31be270b 5555
0ba94011
RW
5556(define-public ghc-cmark-gfm
5557 (package
5558 (name "ghc-cmark-gfm")
5559 (version "0.1.3")
5560 (source
5561 (origin
5562 (method url-fetch)
5563 (uri (string-append "https://hackage.haskell.org/package/"
5564 "cmark-gfm/cmark-gfm-"
5565 version ".tar.gz"))
5566 (sha256
5567 (base32
5568 "1fkisbrydmdx5h8yad09fzk8h1b1j53r02g7vb81izgdwj9b673k"))))
5569 (build-system haskell-build-system)
5570 (inputs
5571 `(("ghc-text" ,ghc-text)))
5572 (native-inputs
5573 `(("ghc-hunit" ,ghc-hunit)))
5574 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5575 (synopsis
5576 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5577 (description
5578 "This package provides Haskell bindings for libcmark-gfm, the reference
5579parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5580It includes sources for libcmark-gfm and does not require prior installation
5581of the C library.")
5582 (license license:bsd-3)))
5583
25b20a9c
RW
5584(define-public ghc-executable-path
5585 (package
5586 (name "ghc-executable-path")
1c42bd13 5587 (version "0.0.3.1")
25b20a9c
RW
5588 (source (origin
5589 (method url-fetch)
612fddec 5590 (uri (string-append "https://hackage.haskell.org/package/"
25b20a9c
RW
5591 "executable-path/executable-path-"
5592 version ".tar.gz"))
5593 (sha256
5594 (base32
1c42bd13 5595 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
25b20a9c 5596 (build-system haskell-build-system)
612fddec 5597 (home-page "https://hackage.haskell.org/package/executable-path")
25b20a9c
RW
5598 (synopsis "Find out the full path of the executable")
5599 (description
5600 "The documentation of @code{System.Environment.getProgName} says that
5601\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5602instead, for maximum portability, we just return the leafname of the program
5603as invoked.\" This library tries to provide the missing path.")
3ac73271 5604 (license license:public-domain)))
25b20a9c 5605
5de6eedc
RW
5606(define-public ghc-enclosed-exceptions
5607 (package
5608 (name "ghc-enclosed-exceptions")
376a6df4 5609 (version "1.0.3")
5de6eedc
RW
5610 (source (origin
5611 (method url-fetch)
612fddec 5612 (uri (string-append "https://hackage.haskell.org/package/"
5de6eedc
RW
5613 "enclosed-exceptions/enclosed-exceptions-"
5614 version ".tar.gz"))
5615 (sha256
5616 (base32
376a6df4 5617 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
5de6eedc 5618 (build-system haskell-build-system)
376a6df4
RW
5619 ;; FIXME: one of the tests blocks forever:
5620 ;; "thread blocked indefinitely in an MVar operation"
5621 (arguments '(#:tests? #f))
2d47cee2 5622 (inputs
5de6eedc
RW
5623 `(("ghc-lifted-base" ,ghc-lifted-base)
5624 ("ghc-monad-control" ,ghc-monad-control)
5625 ("ghc-async" ,ghc-async)
5626 ("ghc-transformers-base" ,ghc-transformers-base)))
5627 (native-inputs
5628 `(("ghc-hspec" ,ghc-hspec)
5629 ("ghc-quickcheck" ,ghc-quickcheck)))
5630 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5631 (synopsis "Catch all exceptions from within an enclosed computation")
5632 (description
5633 "This library implements a technique to catch all exceptions raised
5634within an enclosed computation, while remaining responsive to (external)
5635asynchronous exceptions.")
3ac73271 5636 (license license:expat)))
5de6eedc 5637
74d9f72e
RW
5638(define-public ghc-packedstring
5639 (package
5640 (name "ghc-packedstring")
5641 (version "0.1.0.1")
5642 (source (origin
5643 (method url-fetch)
612fddec 5644 (uri (string-append "https://hackage.haskell.org/package/"
74d9f72e
RW
5645 "packedstring/packedstring-"
5646 version ".tar.gz"))
5647 (sha256
5648 (base32
5649 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5650 (build-system haskell-build-system)
5651 (arguments
5652 `(#:phases
5653 (modify-phases %standard-phases
5654 (add-after 'unpack 'enable-extension
5655 (lambda _
5656 ;; This package won't compile without the StandaloneDeriving
5657 ;; extension.
5658 (substitute* "packedstring.cabal"
5659 (("CPP") "CPP, StandaloneDeriving"))
5660 #t)))))
612fddec 5661 (home-page "https://hackage.haskell.org/package/packedstring")
74d9f72e
RW
5662 (synopsis "Library for packed strings")
5663 (description
5664 "This deprecated library provides an implementation of packed strings.")
3ac73271 5665 (license license:bsd-3)))
74d9f72e 5666
9dfc79b3
RW
5667(define-public ghc-th-abstraction
5668 (package
5669 (name "ghc-th-abstraction")
5670 (version "0.2.6.0")
5671 (source
5672 (origin
5673 (method url-fetch)
5674 (uri (string-append "https://hackage.haskell.org/package/"
5675 "th-abstraction/th-abstraction-"
5676 version ".tar.gz"))
5677 (sha256
5678 (base32
5679 "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5"))))
5680 (build-system haskell-build-system)
5681 (home-page "https://github.com/glguy/th-abstraction")
5682 (synopsis "Nicer interface for reified information about data types")
5683 (description
5684 "This package normalizes variations in the interface for inspecting
5685datatype information via Template Haskell so that packages and support a
5686single, easier to use informational datatype while supporting many versions of
5687Template Haskell.")
5688 (license license:isc)))
5689
1777e1f2
RW
5690(define-public ghc-th-lift
5691 (package
5692 (name "ghc-th-lift")
44c233ac 5693 (version "0.7.8")
1777e1f2
RW
5694 (source (origin
5695 (method url-fetch)
612fddec 5696 (uri (string-append "https://hackage.haskell.org/package/"
1777e1f2
RW
5697 "th-lift/th-lift-" version ".tar.gz"))
5698 (sha256
5699 (base32
44c233ac 5700 "0ay10b78x3969rpqqrgzy8srkl6iby2cljbf3mm17na8x22k7y1c"))))
1777e1f2 5701 (build-system haskell-build-system)
612fddec 5702 (home-page "https://github.com/mboes/th-lift")
1777e1f2
RW
5703 (synopsis "Derive Template Haskell's Lift class for datatypes")
5704 (description
5705 "This is a Haskell library to derive Template Haskell's Lift class for
5706datatypes.")
3ac73271 5707 (license license:bsd-3)))
1777e1f2 5708
a6d1c4e7
RW
5709(define-public ghc-th-lift-instances
5710 (package
5711 (name "ghc-th-lift-instances")
5712 (version "0.1.11")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri (string-append "https://hackage.haskell.org/package/"
5717 "th-lift-instances/th-lift-instances-"
5718 version ".tar.gz"))
5719 (sha256
5720 (base32
5721 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("ghc-th-lift" ,ghc-th-lift)
5725 ("ghc-vector" ,ghc-vector)
5726 ("ghc-text" ,ghc-text)
5727 ("ghc-quickcheck" ,ghc-quickcheck)))
5728 (home-page "https://github.com/bennofs/th-lift-instances/")
5729 (synopsis "Lift instances for template-haskell for common data types.")
5730 (description "Most data types in the Haskell platform do not have Lift
5731instances. This package provides orphan instances for @code{containers},
5732@code{text}, @code{bytestring} and @code{vector}.")
5733 (license license:bsd-3)))
5734
25101be9
RW
5735(define-public ghc-th-expand-syns
5736 (package
5737 (name "ghc-th-expand-syns")
165e5f6e 5738 (version "0.4.0.0")
25101be9
RW
5739 (source (origin
5740 (method url-fetch)
612fddec 5741 (uri (string-append "https://hackage.haskell.org/package/"
25101be9
RW
5742 "th-expand-syns/th-expand-syns-"
5743 version ".tar.gz"))
5744 (sha256
5745 (base32
165e5f6e 5746 "1sjy7a17zwyvlbkc8gklii67sy78wpnw35fyb00lsbnpk4cryd2r"))))
25101be9 5747 (build-system haskell-build-system)
2d47cee2 5748 (inputs
25101be9 5749 `(("ghc-syb" ,ghc-syb)))
612fddec 5750 (home-page "https://hackage.haskell.org/package/th-expand-syns")
25101be9
RW
5751 (synopsis "Expands type synonyms in Template Haskell ASTs")
5752 (description
5753 "This package enables users to expand type synonyms in Template Haskell
5754@dfn{abstract syntax trees} (ASTs).")
3ac73271 5755 (license license:bsd-3)))
25101be9 5756
536b84a8
RW
5757(define-public ghc-th-reify-many
5758 (package
5759 (name "ghc-th-reify-many")
9e21b4a8 5760 (version "0.1.6")
536b84a8
RW
5761 (source (origin
5762 (method url-fetch)
612fddec 5763 (uri (string-append "https://hackage.haskell.org/package/"
536b84a8
RW
5764 "th-reify-many/th-reify-many-"
5765 version ".tar.gz"))
5766 (sha256
5767 (base32
9e21b4a8 5768 "1b76zjxkj0v0n8zj9l0nwav2irm0c43rx6qjihfw8klmmxvx59df"))))
536b84a8 5769 (build-system haskell-build-system)
2d47cee2 5770 (inputs
536b84a8
RW
5771 `(("ghc-mtl" ,ghc-mtl)
5772 ("ghc-safe" ,ghc-safe)
5773 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
612fddec 5774 (home-page "https://github.com/mgsloan/th-reify-many")
536b84a8
RW
5775 (synopsis "Recurseively reify template haskell datatype info")
5776 (description
5777 "th-reify-many provides functions for recursively reifying top level
5778declarations. The main intended use case is for enumerating the names of
5779datatypes reachable from an initial datatype, and passing these names to some
5780function which generates instances.")
3ac73271 5781 (license license:bsd-3)))
536b84a8 5782
2e677251
RW
5783(define-public ghc-th-orphans
5784 (package
5785 (name "ghc-th-orphans")
080778a0 5786 (version "0.13.2")
2e677251
RW
5787 (source (origin
5788 (method url-fetch)
612fddec 5789 (uri (string-append "https://hackage.haskell.org/package/"
2e677251
RW
5790 "th-orphans/th-orphans-" version ".tar.gz"))
5791 (sha256
5792 (base32
080778a0 5793 "0102vkyzpgnp2fys8pvw4khrhrh2y1b8dp1slgvn020vg4s351mc"))))
2e677251 5794 (build-system haskell-build-system)
2d47cee2 5795 (inputs
2e677251 5796 `(("ghc-th-lift" ,ghc-th-lift)
080778a0 5797 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
2e677251 5798 ("ghc-th-reify-many" ,ghc-th-reify-many)
a231ef7e 5799 ("ghc-mtl" ,ghc-mtl)
2e677251
RW
5800 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5801 (native-inputs
5802 `(("ghc-hspec" ,ghc-hspec)))
612fddec 5803 (home-page "https://hackage.haskell.org/package/th-orphans")
2e677251
RW
5804 (synopsis "Orphan instances for TH datatypes")
5805 (description
5806 "This package provides orphan instances for Template Haskell datatypes. In particular,
5807instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5808and @code{Eq} instances. These instances used to live in the haskell-src-meta
5809package, and that's where the version number started.")
3ac73271 5810 (license license:bsd-3)))
2e677251 5811
e0ca14c7
AV
5812(define-public ghc-geniplate-mirror
5813 (package
5814 (name "ghc-geniplate-mirror")
5815 (version "0.7.5")
5816 (source
5817 (origin
5818 (method url-fetch)
5819 (uri (string-append "https://hackage.haskell.org/package"
5820 "/geniplate-mirror"
5821 "/geniplate-mirror-" version ".tar.gz"))
5822 (sha256
5823 (base32 "17vjps2118s5z3k39ij00lkmkxv3mqf8h59wv6qdamlgmhyr36si"))))
5824 (build-system haskell-build-system)
5825 (inputs `(("ghc-mtl" ,ghc-mtl)))
5826 (home-page "https://github.com/danr/geniplate")
5827 (synopsis "Use Template Haskell to generate Uniplate-like functions")
5828 (description
5829 "Use Template Haskell to generate Uniplate-like functions. This is a
5830maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
5831geniplate} package, written by Lennart Augustsson.")
5832 (license license:bsd-3)))
5833
af4db693
AV
5834(define-public ghc-gitrev
5835 (package
5836 (name "ghc-gitrev")
5837 (version "1.3.1")
5838 (source
5839 (origin
5840 (method url-fetch)
5841 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
5842 version ".tar.gz"))
5843 (sha256
5844 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
5845 (build-system haskell-build-system)
5846 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
5847 (home-page "https://github.com/acfoltzer/gitrev")
5848 (synopsis "Compile git revision info into Haskell projects")
5849 (description
5850 "This package provides some handy Template Haskell splices for including
5851the current git hash and branch in the code of your project. This is useful
5852for including in panic messages, @command{--version} output, or diagnostic
5853info for more informative bug reports.")
5854 (license license:bsd-3)))
5855
3611fc7b
RW
5856(define-public ghc-haskell-src-meta
5857 (package
5858 (name "ghc-haskell-src-meta")
db6dbe19 5859 (version "0.8.0.2")
3611fc7b
RW
5860 (source (origin
5861 (method url-fetch)
612fddec 5862 (uri (string-append "https://hackage.haskell.org/package/"
3611fc7b
RW
5863 "haskell-src-meta/haskell-src-meta-"
5864 version ".tar.gz"))
5865 (sha256
5866 (base32
db6dbe19 5867 "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb"))))
3611fc7b 5868 (build-system haskell-build-system)
2d47cee2 5869 (inputs
3611fc7b
RW
5870 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5871 ("ghc-syb" ,ghc-syb)
5872 ("ghc-th-orphans" ,ghc-th-orphans)))
db6dbe19
RW
5873 (native-inputs
5874 `(("ghc-hunit" ,ghc-hunit)
5875 ("ghc-test-framework" ,ghc-test-framework)
5876 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
612fddec 5877 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
3611fc7b
RW
5878 (synopsis "Parse source to template-haskell abstract syntax")
5879 (description
5880 "This package provides tools to parse Haskell sources to the
5881template-haskell abstract syntax.")
3ac73271 5882 (license license:bsd-3)))
3611fc7b 5883
b55630a3
RW
5884(define-public ghc-conduit
5885 (package
5886 (name "ghc-conduit")
5cb46200 5887 (version "1.3.0.3")
b55630a3
RW
5888 (source (origin
5889 (method url-fetch)
612fddec 5890 (uri (string-append "https://hackage.haskell.org/package/"
b55630a3
RW
5891 "conduit/conduit-" version ".tar.gz"))
5892 (sha256
5893 (base32
5cb46200 5894 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
b55630a3 5895 (build-system haskell-build-system)
2d47cee2 5896 (inputs
b55630a3
RW
5897 `(("ghc-exceptions" ,ghc-exceptions)
5898 ("ghc-lifted-base" ,ghc-lifted-base)
5cb46200 5899 ("ghc-mono-traversable" ,ghc-mono-traversable)
b55630a3
RW
5900 ("ghc-mmorph" ,ghc-mmorph)
5901 ("ghc-mtl" ,ghc-mtl)
5902 ("ghc-resourcet" ,ghc-resourcet)
5cb46200 5903 ("ghc-silently" ,ghc-silently)
b55630a3 5904 ("ghc-transformers-base" ,ghc-transformers-base)
5cb46200
RW
5905 ("ghc-unliftio" ,ghc-unliftio)
5906 ("ghc-unliftio-core" ,ghc-unliftio-core)
5907 ("ghc-vector" ,ghc-vector)
b55630a3
RW
5908 ("ghc-void" ,ghc-void)))
5909 (native-inputs
5910 `(("ghc-quickcheck" ,ghc-quickcheck)
5911 ("ghc-hspec" ,ghc-hspec)
7bc18f41 5912 ("ghc-safe" ,ghc-safe)
5913 ("ghc-split" ,ghc-split)))
b55630a3
RW
5914 (home-page "https://github.com/snoyberg/conduit")
5915 (synopsis "Streaming data library ")
5916 (description
463c39c3 5917 "The conduit package is a solution to the streaming data problem,
5918allowing for production, transformation, and consumption of streams of data
5919in constant memory. It is an alternative to lazy I/O which guarantees
5920deterministic resource handling, and fits in the same general solution
5921space as enumerator/iteratee and pipes.")
3ac73271 5922 (license license:expat)))
b55630a3 5923
1c17529f
RW
5924(define-public ghc-logging-facade
5925 (package
5926 (name "ghc-logging-facade")
38697357 5927 (version "0.1.1")
1c17529f
RW
5928 (source (origin
5929 (method url-fetch)
612fddec 5930 (uri (string-append "https://hackage.haskell.org/package/"
1c17529f
RW
5931 "logging-facade/logging-facade-"
5932 version ".tar.gz"))
5933 (sha256
5934 (base32
38697357 5935 "18ldv6rsff480rqpbs3iabjpvn1fhw0i2a0g80jnhxg9ajfz5yb0"))))
1c17529f
RW
5936 (build-system haskell-build-system)
5937 (native-inputs
2d47cee2
RW
5938 `(("ghc-hspec" ,ghc-hspec)
5939 ("hspec-discover" ,hspec-discover)))
612fddec 5940 (home-page "https://hackage.haskell.org/package/logging-facade")
1c17529f
RW
5941 (synopsis "Simple logging abstraction that allows multiple back-ends")
5942 (description
5943 "This package provides a simple logging abstraction that allows multiple
5944back-ends.")
3ac73271 5945 (license license:expat)))
1c17529f 5946
9efdbb72
RW
5947(define-public ghc-mockery
5948 (package
5949 (name "ghc-mockery")
1e521705 5950 (version "0.3.3")
9efdbb72
RW
5951 (source (origin
5952 (method url-fetch)
612fddec 5953 (uri (string-append "https://hackage.haskell.org/package/"
9efdbb72
RW
5954 "mockery/mockery-" version ".tar.gz"))
5955 (sha256
5956 (base32
1e521705 5957 "1m7sq2vclgir3qbpngzl3g87ks4034blwwf7p3h02c0jlcwpl5b1"))))
9efdbb72 5958 (build-system haskell-build-system)
2d47cee2 5959 (inputs
9efdbb72 5960 `(("ghc-temporary" ,ghc-temporary)
1e521705
RW
5961 ("ghc-logging-facade" ,ghc-logging-facade)
5962 ("ghc-base-compat" ,ghc-base-compat)))
9efdbb72 5963 (native-inputs
2d47cee2
RW
5964 `(("ghc-hspec" ,ghc-hspec)
5965 ("hspec-discover" ,hspec-discover)))
612fddec 5966 (home-page "https://hackage.haskell.org/package/mockery")
9efdbb72
RW
5967 (synopsis "Support functions for automated testing")
5968 (description
5969 "The mockery package provides support functions for automated testing.")
3ac73271 5970 (license license:expat)))
9efdbb72 5971
132133c1
RW
5972(define-public ghc-yaml
5973 (package
5974 (name "ghc-yaml")
fe4f81bc 5975 (version "0.8.28")
132133c1
RW
5976 (source (origin
5977 (method url-fetch)
612fddec 5978 (uri (string-append "https://hackage.haskell.org/package/"
132133c1
RW
5979 "yaml/yaml-" version ".tar.gz"))
5980 (sha256
5981 (base32
fe4f81bc 5982 "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp"))))
132133c1 5983 (build-system haskell-build-system)
2d47cee2 5984 (inputs
132133c1
RW
5985 `(("ghc-conduit" ,ghc-conduit)
5986 ("ghc-resourcet" ,ghc-resourcet)
5987 ("ghc-aeson" ,ghc-aeson)
5988 ("ghc-unordered-containers" ,ghc-unordered-containers)
5989 ("ghc-vector" ,ghc-vector)
5990 ("ghc-text" ,ghc-text)
5991 ("ghc-attoparsec" ,ghc-attoparsec)
5992 ("ghc-scientific" ,ghc-scientific)
fe4f81bc
RW
5993 ("ghc-semigroups" ,ghc-semigroups)
5994 ("ghc-temporary" ,ghc-temporary)
132133c1 5995 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
132133c1
RW
5996 ("ghc-base-compat" ,ghc-base-compat)))
5997 (native-inputs
5998 `(("ghc-hspec" ,ghc-hspec)
5999 ("ghc-hunit" ,ghc-hunit)
2d47cee2 6000 ("hspec-discover" ,hspec-discover)
132133c1 6001 ("ghc-mockery" ,ghc-mockery)))
612fddec 6002 (home-page "https://github.com/snoyberg/yaml/")
132133c1
RW
6003 (synopsis "Parsing and rendering YAML documents")
6004 (description
6005 "This package provides a library to parse and render YAML documents.")
3ac73271 6006 (license license:bsd-3)))
132133c1 6007
8e3149ee
RW
6008(define-public ghc-yaml-for-pandoc-1
6009 (package (inherit ghc-yaml)
6010 (inputs
6011 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6012 ,@(alist-delete "ghc-aeson" (package-inputs ghc-yaml))))))
6013
fcacbec3
RW
6014(define-public ghc-filemanip
6015 (package
6016 (name "ghc-filemanip")
6017 (version "0.3.6.3")
6018 (source (origin
6019 (method url-fetch)
612fddec 6020 (uri (string-append "https://hackage.haskell.org/package/"
fcacbec3
RW
6021 "filemanip/filemanip-" version ".tar.gz"))
6022 (sha256
6023 (base32
6024 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
6025 (build-system haskell-build-system)
2d47cee2 6026 (inputs
fcacbec3
RW
6027 `(("ghc-mtl" ,ghc-mtl)
6028 ("ghc-unix-compat" ,ghc-unix-compat)))
6029 (home-page "https://github.com/bos/filemanip")
6030 (synopsis "File and directory manipulation for Haskell")
6031 (description
6032 "This package provides a Haskell library for working with files and
6033directories. It includes code for pattern matching, finding files, modifying
6034file contents, and more.")
3ac73271 6035 (license license:bsd-3)))
fcacbec3 6036
348519e1
RW
6037(define-public ghc-mmap
6038 (package
6039 (name "ghc-mmap")
6040 (version "0.5.9")
6041 (source (origin
6042 (method url-fetch)
612fddec 6043 (uri (string-append "https://hackage.haskell.org/package/"
348519e1
RW
6044 "mmap/mmap-" version ".tar.gz"))
6045 (sha256
6046 (base32
6047 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6048 (build-system haskell-build-system)
612fddec 6049 (home-page "https://hackage.haskell.org/package/mmap")
348519e1
RW
6050 (synopsis "Memory mapped files for Haskell")
6051 (description
6052 "This library provides a wrapper to @code{mmap}, allowing files or
6053devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6054@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6055do on-demand loading.")
3ac73271 6056 (license license:bsd-3)))
348519e1 6057
12676ce8
RW
6058(define-public ghc-juicypixels
6059 (package
6060 (name "ghc-juicypixels")
7a1bc3b9 6061 (version "3.2.9.3")
12676ce8
RW
6062 (source (origin
6063 (method url-fetch)
612fddec 6064 (uri (string-append "https://hackage.haskell.org/package/"
12676ce8
RW
6065 "JuicyPixels/JuicyPixels-"
6066 version ".tar.gz"))
6067 (sha256
6068 (base32
7a1bc3b9 6069 "14s57fgf6kd5n5al2kcvk1aaxbq1ph0r5h8blflrjkx83yl6r8yn"))))
12676ce8 6070 (build-system haskell-build-system)
2d47cee2 6071 (inputs
12676ce8
RW
6072 `(("ghc-mtl" ,ghc-mtl)
6073 ("ghc-zlib" ,ghc-zlib)
6074 ("ghc-vector" ,ghc-vector)
6075 ("ghc-primitive" ,ghc-primitive)
6076 ("ghc-mmap" ,ghc-mmap)))
6077 (home-page "https://github.com/Twinside/Juicy.Pixels")
6078 (synopsis "Picture loading and serialization library")
6079 (description
6080 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6081TIFF and GIF formats.")
3ac73271 6082 (license license:bsd-3)))
12676ce8 6083
ac5d633a
RW
6084(define-public ghc-hslua
6085 (package
6086 (name "ghc-hslua")
e045c014 6087 (version "0.9.5")
ac5d633a
RW
6088 (source (origin
6089 (method url-fetch)
612fddec 6090 (uri (string-append "https://hackage.haskell.org/package/"
ac5d633a
RW
6091 "hslua/hslua-" version ".tar.gz"))
6092 (sha256
6093 (base32
e045c014 6094 "1j2zk7f7nyywg2b0n6kb2yf6ljc7cn2sk9jz0h76g3ag2b70l12n"))))
ac5d633a 6095 (build-system haskell-build-system)
a231ef7e 6096 (arguments
ac5d633a
RW
6097 `(#:configure-flags '("-fsystem-lua")))
6098 (inputs
e045c014
RW
6099 `(("lua" ,lua)
6100 ("ghc-exceptions" ,ghc-exceptions)
6101 ("ghc-fail" ,ghc-fail)
6102 ("ghc-mtl" ,ghc-mtl)
2d47cee2 6103 ("ghc-text" ,ghc-text)))
ac5d633a 6104 (native-inputs
e045c014
RW
6105 `(("ghc-tasty" ,ghc-tasty)
6106 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6107 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6108 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
ac5d633a
RW
6109 ("ghc-quickcheck" ,ghc-quickcheck)
6110 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
612fddec 6111 (home-page "https://hackage.haskell.org/package/hslua")
ac5d633a 6112 (synopsis "Lua language interpreter embedding in Haskell")
a231ef7e 6113 (description
ac5d633a 6114 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
98b90194 6115described in @url{https://www.lua.org/}.")
3ac73271 6116 (license license:expat)))
ac5d633a 6117
f45c86b5
RW
6118(define-public ghc-hslua-for-pandoc-1
6119 (package (inherit ghc-hslua)
6120 (version "0.4.1")
6121 (source (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/"
6124 "hslua/hslua-" version ".tar.gz"))
6125 (sha256
6126 (base32
6127 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
6128 (inputs
6129 `(("lua" ,lua-5.1)
6130 ("ghc-text" ,ghc-text)))
6131 (native-inputs
6132 `(("ghc-quickcheck" ,ghc-quickcheck)
6133 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6134 ("ghc-hspec" ,ghc-hspec)
6135 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
6136 ("ghc-hunit" ,ghc-hunit)
6137 ("hspec-discover" ,hspec-discover)))))
6138
8045d84d
RW
6139(define-public ghc-hslua-module-text
6140 (package
6141 (name "ghc-hslua-module-text")
6142 (version "0.1.2.1")
6143 (source
6144 (origin
6145 (method url-fetch)
6146 (uri (string-append "https://hackage.haskell.org/package/"
6147 "hslua-module-text/hslua-module-text-"
6148 version ".tar.gz"))
6149 (sha256
6150 (base32
6151 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
6152 (build-system haskell-build-system)
6153 (inputs
6154 `(("ghc-hslua" ,ghc-hslua)
6155 ("ghc-text" ,ghc-text)))
6156 (native-inputs
6157 `(("ghc-tasty" ,ghc-tasty)
6158 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6159 (home-page "https://github.com/hslua/hslua-module-text")
6160 (synopsis "Lua module for text")
6161 (description
6162 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6163for Haskell. The functions provided by this module are @code{upper},
6164@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6165 (license license:expat)))
6166
51c05fcf
RW
6167(define-public ghc-byteable
6168 (package
6169 (name "ghc-byteable")
6170 (version "0.1.1")
6171 (source (origin
6172 (method url-fetch)
612fddec 6173 (uri (string-append "https://hackage.haskell.org/package/"
51c05fcf
RW
6174 "byteable/byteable-" version ".tar.gz"))
6175 (sha256
6176 (base32
6177 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
6178 (build-system haskell-build-system)
612fddec 6179 (home-page "https://github.com/vincenthz/hs-byteable")
51c05fcf
RW
6180 (synopsis "Type class for sequence of bytes")
6181 (description
6182 "This package provides an abstract class to manipulate sequence of bytes.
6183The use case of this class is abstracting manipulation of types that are just
6184wrapping a bytestring with stronger and more meaniful name.")
3ac73271 6185 (license license:bsd-3)))
51c05fcf 6186
45813e67
RW
6187(define-public ghc-hourglass
6188 (package
6189 (name "ghc-hourglass")
3a4181df 6190 (version "0.2.10")
45813e67
RW
6191 (source (origin
6192 (method url-fetch)
612fddec 6193 (uri (string-append "https://hackage.haskell.org/package/"
45813e67
RW
6194 "hourglass/hourglass-" version ".tar.gz"))
6195 (sha256
6196 (base32
3a4181df 6197 "104d1yd84hclprg740nkz60vx589mnm094zriw6zczbgg8nkclym"))))
45813e67 6198 (build-system haskell-build-system)
2d47cee2 6199 (inputs
45813e67
RW
6200 `(("ghc-mtl" ,ghc-mtl)
6201 ("ghc-old-locale" ,ghc-old-locale)))
6202 (native-inputs
6203 `(("ghc-tasty" ,ghc-tasty)
6204 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6205 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6206 (home-page "https://github.com/vincenthz/hs-hourglass")
6207 (synopsis "Simple time-related library for Haskell")
6208 (description
6209 "This is a simple time library providing a simple but powerful and
6210performant API. The backbone of the library are the @code{Timeable} and
6211@code{Time} type classes. Each @code{Timeable} instances can be converted to
6212a type that has a @code{Time} instances, and thus are different
6213representations of current time.")
3ac73271 6214 (license license:bsd-3)))
45813e67 6215
be04f802
AV
6216(define-public ghc-edit-distance
6217 (package
6218 (name "ghc-edit-distance")
6219 (version "0.2.2.1")
6220 (source
6221 (origin
6222 (method url-fetch)
6223 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
6224 "/edit-distance-" version ".tar.gz"))
6225 (sha256
6226 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
6227 (build-system haskell-build-system)
9f29ecc1
AW
6228 (arguments
6229 `(#:configure-flags (list "--allow-newer=QuickCheck")))
be04f802
AV
6230 (inputs
6231 `(("ghc-random" ,ghc-random)
6232 ("ghc-test-framework" ,ghc-test-framework)
6233 ("ghc-quickcheck" ,ghc-quickcheck)
6234 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6235 (home-page "https://github.com/phadej/edit-distance")
6236 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
6237 (description
6238 "This package provides optimized functions to determine the edit
6239distances for fuzzy matching, including Levenshtein and restricted
6240Damerau-Levenshtein algorithms.")
6241 (license license:bsd-3)))
6242
4dc2deb9
RW
6243(define-public ghc-memory
6244 (package
6245 (name "ghc-memory")
150e8e25 6246 (version "0.14.16")
4dc2deb9
RW
6247 (source (origin
6248 (method url-fetch)
612fddec 6249 (uri (string-append "https://hackage.haskell.org/package/"
4dc2deb9
RW
6250 "memory/memory-" version ".tar.gz"))
6251 (sha256
6252 (base32
150e8e25 6253 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
4dc2deb9 6254 (build-system haskell-build-system)
150e8e25
RW
6255 (inputs
6256 `(("ghc-basement" ,ghc-basement)
6257 ("ghc-foundation" ,ghc-foundation)))
4dc2deb9
RW
6258 (native-inputs
6259 `(("ghc-tasty" ,ghc-tasty)
6260 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6261 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6262 (home-page "https://github.com/vincenthz/hs-memory")
6263 (synopsis "Memory abstractions for Haskell")
6264 (description
6265 "This package provides memory abstractions, such as chunk of memory,
6266polymorphic byte array management and manipulation functions. It contains a
6267polymorphic byte array abstraction and functions similar to strict ByteString,
6268different type of byte array abstraction, raw memory IO operations (memory
6269set, memory copy, ..) and more")
3ac73271 6270 (license license:bsd-3)))
4dc2deb9 6271
dcc5cf1d
RW
6272(define-public ghc-socks
6273 (package
6274 (name "ghc-socks")
15009c14 6275 (version "0.5.5")
dcc5cf1d
RW
6276 (source (origin
6277 (method url-fetch)
612fddec 6278 (uri (string-append "https://hackage.haskell.org/package/"
dcc5cf1d
RW
6279 "socks/socks-" version ".tar.gz"))
6280 (sha256
6281 (base32
15009c14 6282 "0s689w1hh9g8ifl75xhzbv96ir07hwn04b4lgvbxzl8swa9ylir6"))))
dcc5cf1d 6283 (build-system haskell-build-system)
2d47cee2 6284 (inputs
dcc5cf1d
RW
6285 `(("ghc-cereal" ,ghc-cereal)
6286 ("ghc-network" ,ghc-network)))
612fddec 6287 (home-page "https://github.com/vincenthz/hs-socks")
66e07664 6288 (synopsis "SOCKS proxy (version 5) implementation")
dcc5cf1d
RW
6289 (description
6290 "This library provides a SOCKS proxy (version 5) implementation.")
3ac73271 6291 (license license:bsd-3)))
dcc5cf1d 6292
86dd2ce0
RW
6293(define-public ghc-connection
6294 (package
6295 (name "ghc-connection")
e41fad21 6296 (version "0.2.6")
86dd2ce0
RW
6297 (source (origin
6298 (method url-fetch)
612fddec 6299 (uri (string-append "https://hackage.haskell.org/package/"
86dd2ce0
RW
6300 "connection/connection-"
6301 version ".tar.gz"))
6302 (sha256
6303 (base32
e41fad21 6304 "1c1prsgad669cmf6qrqlb5hmh0dnam2imijqzpwcr4ja14l6rh83"))))
86dd2ce0 6305 (build-system haskell-build-system)
2d47cee2 6306 (inputs
86dd2ce0
RW
6307 `(("ghc-byteable" ,ghc-byteable)
6308 ("ghc-data-default-class" ,ghc-data-default-class)
6309 ("ghc-network" ,ghc-network)
6310 ("ghc-tls" ,ghc-tls)
6311 ("ghc-socks" ,ghc-socks)
6312 ("ghc-x509" ,ghc-x509)
6313 ("ghc-x509-store" ,ghc-x509-store)
6314 ("ghc-x509-system" ,ghc-x509-system)
6315 ("ghc-x509-validation" ,ghc-x509-validation)))
612fddec 6316 (home-page "https://github.com/vincenthz/hs-connection")
86dd2ce0
RW
6317 (synopsis "Simple and easy network connections API")
6318 (description
6319 "This package provides a simple network library for all your connection
6320needs. It provides a very simple API to create sockets to a destination with
6321the choice of SSL/TLS, and SOCKS.")
3ac73271 6322 (license license:bsd-3)))
86dd2ce0 6323
14e9a397
RW
6324(define-public ghc-skylighting
6325 (package
6326 (name "ghc-skylighting")
6327 (version "0.5.1")
6328 (source (origin
6329 (method url-fetch)
6330 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
6331 version "/skylighting-" version ".tar.gz"))
6332 (sha256
6333 (base32
6334 "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg"))))
6335 (build-system haskell-build-system)
6336 (inputs
6337 `(("ghc-aeson" ,ghc-aeson)
6338 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6339 ("ghc-attoparsec" ,ghc-attoparsec)
6340 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6341 ("ghc-blaze-html" ,ghc-blaze-html)
6342 ("ghc-case-insensitive" ,ghc-case-insensitive)
6343 ("ghc-colour" ,ghc-colour)
6344 ("ghc-diff" ,ghc-diff)
6345 ("ghc-hxt" ,ghc-hxt)
6346 ("ghc-mtl" ,ghc-mtl)
6347 ("ghc-pretty-show" ,ghc-pretty-show)
6348 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6349 ("ghc-safe" ,ghc-safe)
6350 ("ghc-text" ,ghc-text)
6351 ("ghc-utf8-string" ,ghc-utf8-string)))
6352 (native-inputs
6353 `(("ghc-hunit" ,ghc-hunit)
6354 ("ghc-quickcheck" ,ghc-quickcheck)
6355 ("ghc-tasty" ,ghc-tasty)
6356 ("ghc-tasty-golden" ,ghc-tasty-golden)
6357 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6358 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6359 (home-page "https://hackage.haskell.org/package/skylighting")
6360 (synopsis "Syntax highlighting library")
6361 (description "Skylighting is a syntax highlighting library with support
6362for over one hundred languages. It derives its tokenizers from XML syntax
6363definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
6364supported by that framework can be added. An optional command-line program is
6365provided. Skylighting is intended to be the successor to highlighting-kate.")
6366 (license license:gpl2)))
6367
08eaa0d8
RW
6368(define-public ghc-skylighting-for-pandoc-1
6369 (package (inherit ghc-skylighting)
6370 (version "0.1.1.5")
6371 (source (origin
6372 (method git-fetch)
6373 ;; We take the sources from Github, because the tarball on
6374 ;; hackage does not include the XML files.
6375 (uri (git-reference
6376 (url "https://github.com/jgm/skylighting.git")
6377 (commit version)))
6378 (file-name (string-append "ghc-skylighting-" version "-checkout"))
6379 (sha256
6380 (base32
6381 "0z3yv8v2fqqgv6lsf0ff3ld0h2vkg97b2jiry9wn2f1rizwdqmzl"))))
6382 (arguments
6383 `(#:configure-flags '("-fbootstrap")
6384 #:phases
6385 (modify-phases %standard-phases
6386 ;; After building the skylighting-extract tool we use it to generate
6387 ;; syntax source files from the included XML files. These are then
6388 ;; added to the skylighting.cabal file.
6389 (add-after 'build 'extract-xml
6390 (lambda _
6391 (make-file-writable "skylighting.cabal")
6392 (apply invoke "./dist/build/skylighting-extract/skylighting-extract"
6393 (find-files "xml" "\\.xml$"))
6394 #t))
6395 ;; Reconfigure without bootstrap flag
6396 (add-after 'extract-xml 'configure-again
6397 (lambda* (#:key outputs inputs tests? #:allow-other-keys)
6398 ((assoc-ref %standard-phases 'configure)
6399 #:outputs outputs
6400 #:inputs inputs
6401 #:tests? tests?
6402 #:configure-flags '("-f-bootstrap"))))
6403 (add-after 'configure-again 'build-again
6404 (assoc-ref %standard-phases 'build)))))
6405 (inputs
6406 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6407 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6408 ("ghc-blaze-html" ,ghc-blaze-html)
6409 ("ghc-case-insensitive" ,ghc-case-insensitive)
6410 ("ghc-diff" ,ghc-diff)
6411 ("ghc-hxt" ,ghc-hxt)
6412 ("ghc-mtl" ,ghc-mtl)
6413 ("ghc-pretty-show" ,ghc-pretty-show)
6414 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6415 ("ghc-safe" ,ghc-safe)
6416 ("ghc-text" ,ghc-text)
6417 ("ghc-utf8-string" ,ghc-utf8-string)))))
6418
4012ea04
RW
6419(define-public ghc-doctemplates
6420 (package
6421 (name "ghc-doctemplates")
6422 (version "0.2.1")
6423 (source
6424 (origin
6425 (method url-fetch)
6426 (uri (string-append "https://hackage.haskell.org/package/"
6427 "doctemplates/doctemplates-"
6428 version ".tar.gz"))
6429 (sha256
6430 (base32
6431 "1bfs2kl5j5al2w2y4qpbn68p0xsnb65r7h51l356kpkzc326646p"))))
6432 (build-system haskell-build-system)
6433 (inputs
6434 `(("ghc-aeson" ,ghc-aeson)
6435 ("ghc-blaze-markup" ,ghc-blaze-markup)
6436 ("ghc-blaze-html" ,ghc-blaze-html)
6437 ("ghc-text" ,ghc-text)
6438 ("ghc-vector" ,ghc-vector)
6439 ("ghc-parsec" ,ghc-parsec)
6440 ("ghc-unordered-containers" ,ghc-unordered-containers)
6441 ("ghc-scientific" ,ghc-scientific)))
6442 (native-inputs
6443 `(("ghc-hspec" ,ghc-hspec)))
6444 (home-page "https://github.com/jgm/doctemplates#readme")
6445 (synopsis "Pandoc-style document templates")
6446 (description
6447 "This package provides a simple text templating system used by pandoc.")
6448 (license license:bsd-3)))
6c055278
RW
6449
6450(define-public ghc-doctemplates-for-pandoc-1
6451 (package (inherit ghc-doctemplates)
6452 (version "0.1.0.2")
6453 (source
6454 (origin
6455 (method url-fetch)
6456 (uri (string-append "https://hackage.haskell.org/package/"
6457 "doctemplates/doctemplates-"
6458 version ".tar.gz"))
6459 (sha256
6460 (base32
6461 "0swal6rjya1293mwvl63jch5fx9ghpsil7qs4v7rpansa0izalmp"))))
6462 (build-system haskell-build-system)
6463 (inputs
6464 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6465 ("ghc-blaze-markup" ,ghc-blaze-markup)
6466 ("ghc-blaze-html" ,ghc-blaze-html)
6467 ("ghc-text" ,ghc-text)
6468 ("ghc-vector" ,ghc-vector)
6469 ("ghc-parsec" ,ghc-parsec)
6470 ("ghc-unordered-containers" ,ghc-unordered-containers)
6471 ("ghc-scientific" ,ghc-scientific)))))
4012ea04 6472
85538709
RW
6473(define-public ghc-pandoc
6474 (package
6475 (name "ghc-pandoc")
970481f1 6476 (version "2.2.1")
85538709
RW
6477 (source
6478 (origin
6479 (method url-fetch)
612fddec 6480 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
85538709
RW
6481 version ".tar.gz"))
6482 (sha256
6483 (base32
970481f1 6484 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
85538709 6485 (build-system haskell-build-system)
2d47cee2 6486 (inputs
1afa5abb
RW
6487 `(("ghc-aeson" ,ghc-aeson)
6488 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
85538709 6489 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
85538709
RW
6490 ("ghc-blaze-html" ,ghc-blaze-html)
6491 ("ghc-blaze-markup" ,ghc-blaze-markup)
1afa5abb
RW
6492 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
6493 ("ghc-data-default" ,ghc-data-default)
85538709 6494 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1afa5abb
RW
6495 ("ghc-diff" ,ghc-diff)
6496 ("ghc-doctemplates" ,ghc-doctemplates)
6497 ("ghc-executable-path" ,ghc-executable-path)
6498 ("ghc-glob" ,ghc-glob)
6499 ("ghc-haddock-library" ,ghc-haddock-library)
6500 ("ghc-hslua" ,ghc-hslua)
6501 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
6502 ("ghc-http" ,ghc-http)
85538709
RW
6503 ("ghc-http-client" ,ghc-http-client)
6504 ("ghc-http-client-tls" ,ghc-http-client-tls)
6505 ("ghc-http-types" ,ghc-http-types)
1afa5abb
RW
6506 ("ghc-juicypixels" ,ghc-juicypixels)
6507 ("ghc-mtl" ,ghc-mtl)
6508 ("ghc-network" ,ghc-network)
6509 ("ghc-network-uri" ,ghc-network-uri)
6510 ("ghc-old-locale" ,ghc-old-locale)
6511 ("ghc-pandoc-types" ,ghc-pandoc-types)
6512 ("ghc-parsec" ,ghc-parsec)
6513 ("ghc-random" ,ghc-random)
6514 ("ghc-scientific" ,ghc-scientific)
6515 ("ghc-sha" ,ghc-sha)
6516 ("ghc-skylighting" ,ghc-skylighting)
6517 ("ghc-split" ,ghc-split)
6518 ("ghc-syb" ,ghc-syb)
6519 ("ghc-tagsoup" ,ghc-tagsoup)
6520 ("ghc-temporary" ,ghc-temporary)
6521 ("ghc-texmath" ,ghc-texmath)
6522 ("ghc-text" ,ghc-text)
6523 ("ghc-unordered-containers" ,ghc-unordered-containers)
6524 ("ghc-vector" ,ghc-vector)
6525 ("ghc-xml" ,ghc-xml)
6526 ("ghc-yaml" ,ghc-yaml)
6527 ("ghc-zip-archive" ,ghc-zip-archive)
6528 ("ghc-zlib" ,ghc-zlib)))
85538709 6529 (native-inputs
1afa5abb
RW
6530 `(("ghc-tasty" ,ghc-tasty)
6531 ("ghc-tasty-golden" ,ghc-tasty-golden)
6532 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6533 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
85538709
RW
6534 ("ghc-quickcheck" ,ghc-quickcheck)
6535 ("ghc-hunit" ,ghc-hunit)))
98b90194 6536 (home-page "https://pandoc.org")
85538709
RW
6537 (synopsis "Conversion between markup formats")
6538 (description
6539 "Pandoc is a Haskell library for converting from one markup format to
6540another, and a command-line tool that uses this library. It can read and
6541write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6542LaTeX, DocBook, and many more.
6543
6544Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6545definition lists, tables, and other features. A compatibility mode is
6546provided for those who need a drop-in replacement for Markdown.pl.")
3ac73271 6547 (license license:gpl2+)))
85538709 6548
8b1e1e4c
RW
6549;; This is the last version of Pandoc 1.x, which is preferred for Rmarkdown.
6550(define-public ghc-pandoc-1
6551 (package (inherit ghc-pandoc)
6552 (version "1.19.2.4")
6553 (source
6554 (origin
6555 (method url-fetch)
6556 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6557 version ".tar.gz"))
6558 (sha256
6559 (base32
6560 "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v"))))
6561 (arguments
6562 `(#:configure-flags (list "--allow-newer=skylighting")))
6563 (inputs
6564 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6565 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6566 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6567 ("ghc-blaze-html" ,ghc-blaze-html)
6568 ("ghc-blaze-markup" ,ghc-blaze-markup)
6569 ("ghc-cmark" ,ghc-cmark)
6570 ("ghc-data-default" ,ghc-data-default)
6571 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6572 ("ghc-diff" ,ghc-diff)
6573 ("ghc-doctemplates" ,ghc-doctemplates-for-pandoc-1)
6574 ("ghc-executable-path" ,ghc-executable-path)
6575 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6576 ("ghc-filemanip" ,ghc-filemanip)
6577 ("ghc-haddock-library" ,ghc-haddock-library)
6578 ("ghc-hslua" ,ghc-hslua-for-pandoc-1)
6579 ("ghc-http" ,ghc-http)
6580 ("ghc-http-client" ,ghc-http-client)
6581 ("ghc-http-client-tls" ,ghc-http-client-tls)
6582 ("ghc-http-types" ,ghc-http-types)
6583 ("ghc-juicypixels" ,ghc-juicypixels)
6584 ("ghc-mtl" ,ghc-mtl)
6585 ("ghc-network" ,ghc-network)
6586 ("ghc-network-uri" ,ghc-network-uri)
6587 ("ghc-old-time" ,ghc-old-time)
6588 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
6589 ("ghc-parsec" ,ghc-parsec)
6590 ("ghc-random" ,ghc-random)
6591 ("ghc-scientific" ,ghc-scientific)
6592 ("ghc-sha" ,ghc-sha)
6593 ("ghc-skylighting" ,ghc-skylighting-for-pandoc-1)
6594 ("ghc-syb" ,ghc-syb)
6595 ("ghc-tagsoup" ,ghc-tagsoup)
6596 ("ghc-temporary" ,ghc-temporary)
6597 ("ghc-texmath" ,ghc-texmath-for-pandoc-1)
6598 ("ghc-text" ,ghc-text)
6599 ("ghc-unordered-containers" ,ghc-unordered-containers)
6600 ("ghc-vector" ,ghc-vector)
6601 ("ghc-xml" ,ghc-xml)
6602 ("ghc-yaml" ,ghc-yaml-for-pandoc-1)
6603 ("ghc-zip-archive" ,ghc-zip-archive)
6604 ("ghc-zlib" ,ghc-zlib)))
6605 (native-inputs
6606 `(("ghc-test-framework" ,ghc-test-framework)
6607 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6608 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))))
6609
37e02bf6
RW
6610(define-public ghc-hs-bibutils
6611 (package
6612 (name "ghc-hs-bibutils")
1ddcb5e3 6613 (version "6.2.0.1")
37e02bf6
RW
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append
6618 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6619 version ".tar.gz"))
6620 (sha256
6621 (base32
1ddcb5e3 6622 "0c56sjgg82kjcg5rrplnyn7vf02ccsj3kkcbgc87zxlv0j880rjb"))))
37e02bf6
RW
6623 (build-system haskell-build-system)
6624 (inputs `(("ghc-syb" ,ghc-syb)))
6625 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6626 (synopsis "Haskell bindings to bibutils")
6627 (description
6628 "This package provides Haskell bindings to @code{bibutils}, a library
6629that interconverts between various bibliography formats using a common
6630MODS-format XML intermediate.")
6631 (license license:gpl2+)))
6632
9ce764b6
RW
6633(define-public ghc-rfc5051
6634 (package
6635 (name "ghc-rfc5051")
6636 (version "0.1.0.3")
6637 (source
6638 (origin
6639 (method url-fetch)
6640 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6641 "rfc5051-" version ".tar.gz"))
6642 (sha256
6643 (base32
6644 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6645 (build-system haskell-build-system)
98b90194 6646 (home-page "https://hackage.haskell.org/package/rfc5051")
9ce764b6
RW
6647 (synopsis "Simple unicode collation as per RFC5051")
6648 (description
6649 "This library implements @code{unicode-casemap}, the simple, non
6650locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6651unicode collation can be done using @code{text-icu}, but that is a big
6652dependency that depends on a large C library, and @code{rfc5051} might be
6653better for some purposes.")
6654 (license license:bsd-3)))
6655
d5040b44
RW
6656(define-public ghc-typed-process
6657 (package
6658 (name "ghc-typed-process")
6659 (version "0.2.2.0")
6660 (source
6661 (origin
6662 (method url-fetch)
6663 (uri (string-append "https://hackage.haskell.org/package/"
6664 "typed-process/typed-process-"
6665 version ".tar.gz"))
6666 (sha256
6667 (base32
6668 "0c6gvgvjyncbni9a5bvpbglknd4yclr3d3hfg9bhgahmkj40dva2"))))
6669 (build-system haskell-build-system)
6670 (inputs
6671 `(("ghc-async" ,ghc-async)
6672 ("ghc-stm" ,ghc-stm)))
6673 (native-inputs
6674 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
6675 ("ghc-hspec" ,ghc-hspec)
6676 ("hspec-discover" ,hspec-discover)
6677 ("ghc-temporary" ,ghc-temporary)))
6678 (home-page "https://haskell-lang.org/library/typed-process")
6679 (synopsis "Run external processes with strong typing of streams")
6680 (description
6681 "This library provides the ability to launch and interact with external
6682processes. It wraps around the @code{process} library, and intends to improve
6683upon it.")
6684 (license license:expat)))
6685
1aa45bbf
RW
6686(define-public ghc-conduit-extra
6687 (package
6688 (name "ghc-conduit-extra")
c106c48e 6689 (version "1.3.0")
1aa45bbf
RW
6690 (source
6691 (origin
6692 (method url-fetch)
6693 (uri (string-append "https://hackage.haskell.org/package/"
6694 "conduit-extra/conduit-extra-"
6695 version ".tar.gz"))
6696 (sha256
6697 (base32
c106c48e 6698 "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
1aa45bbf
RW
6699 (build-system haskell-build-system)
6700 (inputs
6701 `(("ghc-conduit" ,ghc-conduit)
6702 ("ghc-exceptions" ,ghc-exceptions)
6703 ("ghc-monad-control" ,ghc-monad-control)
6704 ("ghc-text" ,ghc-text)
6705 ("ghc-transformers-base" ,ghc-transformers-base)
c106c48e 6706 ("ghc-typed-process" ,ghc-typed-process)
1aa45bbf
RW
6707 ("ghc-async" ,ghc-async)
6708 ("ghc-attoparsec" ,ghc-attoparsec)
6709 ("ghc-blaze-builder" ,ghc-blaze-builder)
6710 ("ghc-network" ,ghc-network)
6711 ("ghc-primitive" ,ghc-primitive)
6712 ("ghc-resourcet" ,ghc-resourcet)
6713 ("ghc-stm" ,ghc-stm)
6714 ("ghc-streaming-commons" ,ghc-streaming-commons)
6715 ("ghc-hspec" ,ghc-hspec)
6716 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6717 ("ghc-quickcheck" ,ghc-quickcheck)))
6718 (native-inputs
6719 `(("hspec-discover" ,hspec-discover)))
7bf837fd 6720 (home-page "https://github.com/snoyberg/conduit")
1aa45bbf
RW
6721 (synopsis "Conduit adapters for common libraries")
6722 (description
6723 "The @code{conduit} package itself maintains relative small dependencies.
6724The purpose of this package is to collect commonly used utility functions
6725wrapping other library dependencies, without depending on heavier-weight
6726dependencies. The basic idea is that this package should only depend on
6727@code{haskell-platform} packages and @code{conduit}.")
6728 (license license:expat)))
6729
e9ef2c51
RW
6730(define-public ghc-xml-types
6731 (package
6732 (name "ghc-xml-types")
6733 (version "0.3.6")
6734 (source
6735 (origin
6736 (method url-fetch)
6737 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6738 "xml-types-" version ".tar.gz"))
6739 (sha256
6740 (base32
6741 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6742 (build-system haskell-build-system)
6743 (inputs `(("ghc-text" ,ghc-text)))
6744 (home-page "https://john-millikin.com/software/haskell-xml/")
6745 (synopsis "Basic types for representing XML")
6746 (description "This package provides basic types for representing XML
6747documents.")
6748 (license license:expat)))
6749
bfdfb0f6
RW
6750(define-public ghc-xml-conduit
6751 (package
6752 (name "ghc-xml-conduit")
29a26386 6753 (version "1.7.1.2")
bfdfb0f6
RW
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6758 "xml-conduit-" version ".tar.gz"))
6759 (sha256
6760 (base32
29a26386 6761 "0n4k0rq9j5cc9kdvj9xbx8gmiqlyk5x6pw8yxzw5wfsw7qkych2s"))))
bfdfb0f6
RW
6762 (build-system haskell-build-system)
6763 (inputs
6764 `(("ghc-conduit" ,ghc-conduit)
6765 ("ghc-conduit-extra" ,ghc-conduit-extra)
6766 ("ghc-resourcet" ,ghc-resourcet)
6767 ("ghc-text" ,ghc-text)
6768 ("ghc-xml-types" ,ghc-xml-types)
6769 ("ghc-attoparsec" ,ghc-attoparsec)
29a26386 6770 ("ghc-data-default-class" ,ghc-data-default-class)
bfdfb0f6
RW
6771 ("ghc-blaze-markup" ,ghc-blaze-markup)
6772 ("ghc-blaze-html" ,ghc-blaze-html)
bfdfb0f6
RW
6773 ("ghc-monad-control" ,ghc-monad-control)
6774 ("ghc-hspec" ,ghc-hspec)
6775 ("ghc-hunit" ,ghc-hunit)))
7bf837fd 6776 (home-page "https://github.com/snoyberg/xml")
bfdfb0f6
RW
6777 (synopsis "Utilities for dealing with XML with the conduit package")
6778 (description
6779 "This package provides pure-Haskell utilities for dealing with XML with
6780the @code{conduit} package.")
6781 (license license:expat)))
6782
eb0ff8a3
RW
6783(define-public ghc-pandoc-citeproc
6784 (package
6785 (name "ghc-pandoc-citeproc")
a49bb332 6786 (version "0.12.2.5")
eb0ff8a3
RW
6787 (source
6788 (origin
6789 (method url-fetch)
6790 (uri (string-append "https://hackage.haskell.org/package/"
6791 "pandoc-citeproc/pandoc-citeproc-"
6792 version ".tar.gz"))
6793 (sha256
6794 (base32
a49bb332 6795 "1l58nbflcnlznc93qimkk7ghk2gv8kipf45zf88piqa2zys41yyx"))))
eb0ff8a3
RW
6796 (build-system haskell-build-system)
6797 (arguments
6798 `(#:phases
6799 (modify-phases %standard-phases
6800 ;; Tests need to be run after installation.
6801 (delete 'check)
6802 (add-after 'install 'post-install-check
6803 (assoc-ref %standard-phases 'check)))))
6804 (inputs
6805 `(("ghc-mtl" ,ghc-mtl)
6806 ("ghc-pandoc-types" ,ghc-pandoc-types)
6807 ("ghc-pandoc" ,ghc-pandoc)
6808 ("ghc-tagsoup" ,ghc-tagsoup)
6809 ("ghc-aeson" ,ghc-aeson)
6810 ("ghc-text" ,ghc-text)
6811 ("ghc-vector" ,ghc-vector)
6812 ("ghc-xml-conduit" ,ghc-xml-conduit)
6813 ("ghc-unordered-containers" ,ghc-unordered-containers)
6814 ("ghc-data-default" ,ghc-data-default)
6815 ("ghc-setenv" ,ghc-setenv)
6816 ("ghc-split" ,ghc-split)
6817 ("ghc-yaml" ,ghc-yaml)
6818 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
6819 ("ghc-rfc5051" ,ghc-rfc5051)
6820 ("ghc-syb" ,ghc-syb)
6821 ("ghc-parsec" ,ghc-parsec)
6822 ("ghc-old-locale" ,ghc-old-locale)
6823 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6824 ("ghc-attoparsec" ,ghc-attoparsec)
6825 ("ghc-temporary" ,ghc-temporary)))
6826 (home-page "https://github.com/jgm/pandoc-citeproc")
6827 (synopsis "Library for using pandoc with citeproc")
6828 (description
6829 "The @code{pandoc-citeproc} library exports functions for using the
6830citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
6831rendering bibliographic reference citations into a variety of styles using a
6832macro language called @dfn{Citation Style Language} (CSL). This package also
6833contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
6834and also has a mode for converting bibliographic databases a YAML format
6835suitable for inclusion in pandoc YAML metadata.")
6836 (license license:bsd-3)))
6837
8c6117ee
RW
6838(define-public ghc-pandoc-citeproc-with-pandoc-1
6839 (let ((for-pandoc-1
6840 (package-input-rewriting
6841 `((,ghc-aeson . ,ghc-aeson-for-pandoc-1)
6842 (,ghc-yaml . ,ghc-yaml-for-pandoc-1)
6843 (,ghc-texmath . ,ghc-texmath-for-pandoc-1)
6844 (,ghc-pandoc-types . ,ghc-pandoc-types-for-pandoc-1)
6845 (,ghc-hslua . ,ghc-hslua-for-pandoc-1)
6846 (,ghc-skylighting . ,ghc-skylighting-for-pandoc-1)
6847 (,ghc-doctemplates . ,ghc-doctemplates-for-pandoc-1)
6848 (,ghc-pandoc . ,ghc-pandoc-1)))))
6849 (for-pandoc-1 ghc-pandoc-citeproc)))
6850
abbf2623
LC
6851(define-public ghc-union-find
6852 (package
6853 (name "ghc-union-find")
6854 (version "0.2")
6855 (source (origin
6856 (method url-fetch)
6857 (uri (string-append
612fddec 6858 "https://hackage.haskell.org/package/union-find/union-find-"
abbf2623
LC
6859 version ".tar.gz"))
6860 (sha256
6861 (base32
6862 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6863 (build-system haskell-build-system)
612fddec 6864 (home-page "https://github.com/nominolo/union-find")
abbf2623
LC
6865 (synopsis "Efficient union and equivalence testing of sets")
6866 (description
6867 "The Union/Find algorithm implements these operations in (effectively)
6868constant-time:
6869@enumerate
6870@item Check whether two elements are in the same equivalence class.
6871@item Create a union of two equivalence classes.
6872@item Look up the descriptor of the equivalence class.
6873@end enumerate\n")
6874 (license license:bsd-3)))
6875
cc5e16a7 6876(define-public ghc-base16-bytestring
6877 (package
6878 (name "ghc-base16-bytestring")
6879 (version "0.1.1.6")
6880 (source
6881 (origin
6882 (method url-fetch)
6883 (uri (string-append
6884 "https://hackage.haskell.org/package/base16-bytestring/"
6885 "base16-bytestring-" version ".tar.gz"))
6886 (sha256
6887 (base32
6888 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6889 (build-system haskell-build-system)
7bf837fd 6890 (home-page "https://github.com/bos/base16-bytestring")
cc5e16a7 6891 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6892 (description
6893 "This package provides a Haskell library for working with base16-encoded
6894data quickly and efficiently, using the ByteString type.")
6895 (license license:bsd-3)))
6896
7c14128d 6897(define-public ghc-data-ordlist
6898 (package
6899 (name "ghc-data-ordlist")
6900 (version "0.4.7.0")
6901 (source
6902 (origin
6903 (method url-fetch)
6904 (uri (string-append
6905 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
6906 version ".tar.gz"))
6907 (sha256
6908 (base32
6909 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
6910 (build-system haskell-build-system)
98b90194 6911 (home-page "https://hackage.haskell.org/package/data-ordlist")
7c14128d 6912 (synopsis "Set and bag operations on ordered lists")
6913 (description
6914 "This module provides set and multiset operations on ordered lists.")
6915 (license license:bsd-3)))
6916
d58dc851 6917(define-public ghc-regex-applicative
6918 (package
6919 (name "ghc-regex-applicative")
6920 (version "0.3.3")
6921 (source
6922 (origin
6923 (method url-fetch)
6924 (uri (string-append
6925 "https://hackage.haskell.org/package/regex-applicative/"
6926 "regex-applicative-" version ".tar.gz"))
6927 (sha256
6928 (base32
6929 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
6930 (build-system haskell-build-system)
6931 (inputs
6932 `(("ghc-smallcheck" ,ghc-smallcheck)
6933 ("ghc-tasty" ,ghc-tasty)
6934 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
6935 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6936 (home-page "https://github.com/feuerbach/regex-applicative")
6937 (synopsis "Regex-based parsing with applicative interface")
6938 (description
6939 "@code{regex-applicative} is a Haskell library for parsing using
6940regular expressions. Parsers can be built using Applicative interface.")
6941 (license license:expat)))
6942
7e444dba 6943(define-public ghc-regex-tdfa
6944 (package
6945 (name "ghc-regex-tdfa")
6946 (version "1.2.2")
6947 (source
6948 (origin
6949 (method url-fetch)
6950 (uri (string-append
6951 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
6952 version ".tar.gz"))
6953 (sha256
6954 (base32
6955 "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"))))
6956 (build-system haskell-build-system)
6957 (inputs
6958 `(("ghc-mtl" ,ghc-mtl)
6959 ("ghc-parsec" ,ghc-parsec)
6960 ("ghc-regex-base" ,ghc-regex-base)))
6961 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
6962 (synopsis "POSIX extended regular expressions in Haskell.")
6963 (description
6964 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
6965extended regular expressions. It is a \"tagged\" DFA regex engine. It is
6966inspired by libtre.")
6967 (license license:bsd-3)))
6968
fe3c62c7 6969(define-public ghc-regex-compat-tdfa
6970 (package
6971 (name "ghc-regex-compat-tdfa")
6972 (version "0.95.1.4")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append
6977 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
6978 version ".tar.gz"))
6979 (sha256
6980 (base32
6981 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
6982 (build-system haskell-build-system)
6983 (inputs
6984 `(("ghc-regex-base" ,ghc-regex-base)
6985 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
98b90194 6986 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
fe3c62c7 6987 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
6988 (description
6989 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
6990@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
6991This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
6992this problem.")
6993 (license license:bsd-3)))
6994
e9e519be 6995(define-public ghc-sandi
6996 (package
6997 (name "ghc-sandi")
66dbe158 6998 (version "0.4.2")
e9e519be 6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri (string-append
7003 "https://hackage.haskell.org/package/sandi/sandi-"
7004 version ".tar.gz"))
7005 (sha256
7006 (base32
66dbe158 7007 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
e9e519be 7008 (build-system haskell-build-system)
7009 (inputs
7010 `(("ghc-stringsearch" ,ghc-stringsearch)
7011 ("ghc-conduit" ,ghc-conduit)
7012 ("ghc-exceptions" ,ghc-exceptions)
7013 ("ghc-hunit" ,ghc-hunit)
7014 ("ghc-tasty" ,ghc-tasty)
7015 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7016 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7017 ("ghc-tasty-th" ,ghc-tasty-th)))
98b90194 7018 (home-page "https://hackage.haskell.org/package/sandi")
e9e519be 7019 (synopsis "Data encoding library")
7020 (description "Reasonably fast data encoding library.")
7021 (license license:bsd-3)))
7022
a71f8617 7023(define-public ghc-bytestring-handle
7024 (package
7025 (name "ghc-bytestring-handle")
39bcc932 7026 (version "0.1.0.6")
a71f8617 7027 (source
7028 (origin
7029 (method url-fetch)
7030 (uri (string-append
7031 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
7032 version ".tar.gz"))
7033 (sha256
7034 (base32
39bcc932 7035 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
a71f8617 7036 (build-system haskell-build-system)
7037 (inputs
6bfcb59d
TGR
7038 `(("ghc-hunit" ,ghc-hunit)
7039 ("ghc-quickcheck" ,ghc-quickcheck)
7040 ("ghc-test-framework" ,ghc-test-framework)
a71f8617 7041 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6bfcb59d 7042 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 7043 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
a71f8617 7044 (synopsis "ByteString-backed Handles")
7045 (description "ByteString-backed Handles") ; There is no description
7046 (license license:bsd-3)))
7047
f8270331 7048(define-public ghc-tar
7049 (package
7050 (name "ghc-tar")
7051 (version "0.5.0.3")
7052 (source
7053 (origin
7054 (method url-fetch)
7055 (uri (string-append
7056 "https://hackage.haskell.org/package/tar/tar-"
7057 version ".tar.gz"))
7058 (sha256
7059 (base32
7060 "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"))))
7061 (build-system haskell-build-system)
f25c95d3
RW
7062 ;; FIXME: 2/24 tests fail.
7063 (arguments `(#:tests? #f))
f8270331 7064 (inputs
7065 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
7066 ("ghc-quickcheck" ,ghc-quickcheck)
7067 ("ghc-tasty" ,ghc-tasty)
473cd277 7068 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 7069 (home-page "https://hackage.haskell.org/package/tar")
f8270331 7070 (synopsis "Reading, writing and manipulating \".tar\" archive files")
7071 (description
7072 "This library is for working with \\\"@.tar@\\\" archive files.
7073It can read and write a range of common variations of the tar archive format
7074including V7, POSIX USTAR and GNU formats. It provides support for packing and
7075unpacking portable archives. This makes it suitable for distribution but not
7076backup because details like file ownership and exact permissions are not
7077preserved. It also provides features for random access to archive content using
7078an index.")
7079 (license license:bsd-3)))
7080
867ed977
AV
7081(define-public ghc-stmonadtrans
7082 (package
7083 (name "ghc-stmonadtrans")
7084 (version "0.4.3")
7085 (source
7086 (origin
7087 (method url-fetch)
7088 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
7089 "/STMonadTrans-" version ".tar.gz"))
7090 (sha256
7091 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-mtl" ,ghc-mtl)))
7095 (home-page "https://hackage.haskell.org/package/STMonadTrans")
7096 (synopsis "Monad transformer version of the ST monad")
7097 (description
7098 "This package provides a monad transformer version of the @code{ST} monad
7099for strict state threads.")
7100 (license license:bsd-3)))
7101
027b7976 7102(define-public ghc-findbin
7103 (package
7104 (name "ghc-findbin")
7105 (version "0.0.5")
7106 (source
7107 (origin
7108 (method url-fetch)
7109 (uri (string-append
7110 "https://hackage.haskell.org/package/FindBin/FindBin-"
7111 version ".tar.gz"))
7112 (sha256
7113 (base32
7114 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
7115 (build-system haskell-build-system)
7116 (home-page "https://github.com/audreyt/findbin")
7117 (synopsis "Get the absolute path of the running program")
7118 (description
7119 "This module locates the full directory of the running program, to allow
7120the use of paths relative to it. FindBin supports invocation of Haskell
7121programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
7122an executable.")
7123 (license license:bsd-3)))
7124
d52ca22a 7125(define-public ghc-patience
7126 (package
7127 (name "ghc-patience")
7128 (version "0.1.1")
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append
7133 "https://hackage.haskell.org/package/patience/patience-"
7134 version ".tar.gz"))
7135 (sha256
7136 (base32
7137 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7138 (build-system haskell-build-system)
98b90194 7139 (home-page "https://hackage.haskell.org/package/patience")
d52ca22a 7140 (synopsis "Patience diff and longest increasing subsequence")
7141 (description
7142 "This library implements the 'patience diff' algorithm, as well as the
7143patience algorithm for the longest increasing subsequence problem.
7144Patience diff computes the difference between two lists, for example the lines
7145of two versions of a source file. It provides a good balance between
7146performance, nice output for humans, and simplicity of implementation.")
7147 (license license:bsd-3)))
7148
41167bd2 7149(define-public ghc-monads-tf
7150 (package
7151 (name "ghc-monads-tf")
7152 (version "0.1.0.3")
7153 (source
7154 (origin
7155 (method url-fetch)
7156 (uri (string-append
7157 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7158 version ".tar.gz"))
7159 (sha256
7160 (base32
7161 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7162 (build-system haskell-build-system)
98b90194 7163 (home-page "https://hackage.haskell.org/package/monads-tf")
41167bd2 7164 (synopsis "Monad classes, using type families")
7165 (description
7166 "Monad classes using type families, with instances for various monad transformers,
7167inspired by the paper 'Functional Programming with Overloading and Higher-Order
7168Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7169the @code{mtl-tf} package.")
7170 (license license:bsd-3)))
7171
e1a56bb2 7172(define-public ghc-colour
7173(package
7174 (name "ghc-colour")
7175 (version "2.3.3")
7176 (source
7177 (origin
7178 (method url-fetch)
7179 (uri (string-append
7180 "https://hackage.haskell.org/package/colour/colour-"
7181 version ".tar.gz"))
7182 (sha256
7183 (base32
7184 "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"))))
7185 (build-system haskell-build-system)
98b90194 7186 (home-page "https://www.haskell.org/haskellwiki/Colour")
e1a56bb2 7187 (synopsis "Model for human colour perception")
7188 (description
7189 "This package provides a data type for colours and transparency.
7190Colours can be blended and composed. Various colour spaces are
7191supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7192 (license license:expat)))
7193
6e0741f7 7194(define-public ghc-wl-pprint-text
7195 (package
7196 (name "ghc-wl-pprint-text")
e173a95f 7197 (version "1.2.0.0")
6e0741f7 7198 (source
7199 (origin
7200 (method url-fetch)
7201 (uri (string-append
7202 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7203 version ".tar.gz"))
7204 (sha256
7205 (base32
e173a95f 7206 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
6e0741f7 7207 (build-system haskell-build-system)
7208 (inputs
e173a95f
AI
7209 `(("ghc-base-compat" ,ghc-base-compat)
7210 ("ghc-text" ,ghc-text)))
98b90194 7211 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
6e0741f7 7212 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7213 (description
7214 "A clone of wl-pprint for use with the text library.")
7215 (license license:bsd-3)))
7216
d4cca6b0 7217(define-public ghc-fgl-arbitrary
7218 (package
7219 (name "ghc-fgl-arbitrary")
d4fd8ee4 7220 (version "0.2.0.3")
d4cca6b0 7221 (source
7222 (origin
7223 (method url-fetch)
7224 (uri (string-append
7225 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7226 version ".tar.gz"))
7227 (sha256
7228 (base32
d4fd8ee4 7229 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
d4cca6b0 7230 (build-system haskell-build-system)
54afb52e 7231 (arguments
a3ab433a
AI
7232 `(#:configure-flags (list "--allow-newer=QuickCheck"
7233 "--allow-newer=hspec")))
d4cca6b0 7234 (inputs
7235 `(("ghc-fgl" ,ghc-fgl)
7236 ("ghc-quickcheck" ,ghc-quickcheck)
7237 ("ghc-hspec" ,ghc-hspec)))
98b90194 7238 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
d4cca6b0 7239 (synopsis "QuickCheck support for fgl")
7240 (description
7241 "Provides Arbitrary instances for fgl graphs to avoid adding a
7242QuickCheck dependency for fgl whilst still making the instances
7243available to others. Also available are non-fgl-specific functions
7244for generating graph-like data structures.")
7245 (license license:bsd-3)))
7246
3db88277 7247(define-public ghc-graphviz
7248 (package
7249 (name "ghc-graphviz")
f797a0e9 7250 (version "2999.20.0.2")
3db88277 7251 (source (origin
7252 (method url-fetch)
7253 (uri (string-append "https://hackage.haskell.org/package/"
7254 "graphviz/graphviz-" version ".tar.gz"))
7255 (sha256
7256 (base32
f797a0e9 7257 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3db88277 7258 (build-system haskell-build-system)
4b1f2166
RW
7259 (arguments
7260 `(#:configure-flags (list "--allow-newer=QuickCheck")))
3db88277 7261 (inputs
7262 `(("ghc-quickcheck" ,ghc-quickcheck)
7263 ("ghc-colour" ,ghc-colour)
7264 ("ghc-dlist" ,ghc-dlist)
7265 ("ghc-fgl" ,ghc-fgl)
7266 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7267 ("ghc-polyparse" ,ghc-polyparse)
7268 ("ghc-temporary" ,ghc-temporary)
7269 ("ghc-text" ,ghc-text)
7270 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
f797a0e9
AI
7271 (native-inputs
7272 `(("ghc-hspec" ,ghc-hspec)
7273 ("graphviz" ,graphviz)
7274 ("hspec-discover" ,hspec-discover)))
3db88277 7275 (home-page "https://hackage.haskell.org/package/graphviz")
7276 (synopsis "Bindings to Graphviz for graph visualisation")
7277 (description
7278 "This library provides bindings for the Dot language used by
98b90194 7279the @uref{https://graphviz.org/, Graphviz} suite of programs for
3db88277 7280visualising graphs, as well as functions to call those programs.
7281Main features of the graphviz library include:
7282
7283@enumerate
7284@item Almost complete coverage of all Graphviz attributes and syntax
7285@item Support for specifying clusters
7286@item The ability to use a custom node type
7287@item Functions for running a Graphviz layout tool with all specified output types
7288@item Generate and parse Dot code with two options: strict and liberal
7289@item Functions to convert FGL graphs and other graph-like data structures
7290@item Round-trip support for passing an FGL graph through Graphviz to augment node
7291and edge labels with positional information, etc.
7292@end enumerate\n")
7293 (license license:bsd-3)))
7294
6aab9ba6 7295(define-public ghc-constraints
7296 (package
7297 (name "ghc-constraints")
7298 (version "0.8")
7299 (source
7300 (origin
7301 (method url-fetch)
7302 (uri (string-append
7303 "https://hackage.haskell.org/package/constraints/constraints-"
7304 version ".tar.gz"))
7305 (sha256
7306 (base32
7307 "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"))))
7308 (build-system haskell-build-system)
7309 (inputs
7310 `(("ghc-hashable" ,ghc-hashable)
7311 ("ghc-mtl" ,ghc-mtl)
7312 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7bf837fd 7313 (home-page "https://github.com/ekmett/constraints/")
6aab9ba6 7314 (synopsis "Constraint manipulation")
7315 (description
7316 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7317They stopped crashing the compiler in GHC 7.6. This package provides
7318a vocabulary for working with them.")
7319 (license license:bsd-3)))
7320
2b41f4af 7321(define-public ghc-lifted-async
7322 (package
7323 (name "ghc-lifted-async")
7324 (version "0.9.0")
7325 (source
7326 (origin
7327 (method url-fetch)
7328 (uri (string-append
7329 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7330 version ".tar.gz"))
7331 (sha256
7332 (base32
7333 "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"))))
7334 (build-system haskell-build-system)
7335 (inputs
7336 `(("ghc-async" ,ghc-async)
7337 ("ghc-lifted-base" ,ghc-lifted-base)
7338 ("ghc-transformers-base" ,ghc-transformers-base)
7339 ("ghc-monad-control" ,ghc-monad-control)
7340 ("ghc-constraints" ,ghc-constraints)
7341 ("ghc-hunit" ,ghc-hunit)
7342 ("ghc-mtl" ,ghc-mtl)
7343 ("ghc-tasty" ,ghc-tasty)
7344 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7345 ("ghc-tasty-th" ,ghc-tasty-th)))
7346 (home-page "https://github.com/maoe/lifted-async")
7347 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7348 (description
7349 "This package provides IO operations from @code{async} package lifted to any
7350instance of @code{MonadBase} or @code{MonadBaseControl}.")
7351 (license license:bsd-3)))
7352
ddd5955b 7353;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7354;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7355;; which depends on ghc-chell and ghc-chell-quickcheck.
7356;; Therefore we bootstrap it with tests disabled.
7357(define ghc-system-filepath-bootstrap
7358 (package
7359 (name "ghc-system-filepath-bootstrap")
7360 (version "0.4.13.4")
7361 (source
7362 (origin
7363 (method url-fetch)
7364 (uri (string-append
7365 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7366 version ".tar.gz"))
7367 (sha256
7368 (base32
7369 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
7370 (build-system haskell-build-system)
7371 (arguments
7372 `(#:tests? #f))
7373 (inputs
7374 `(("ghc-text" ,ghc-text)
7375 ("ghc-quickcheck" ,ghc-quickcheck)))
7376 (home-page "https://github.com/fpco/haskell-filesystem")
7377 (synopsis "High-level, byte-based file and directory path manipulations")
7378 (description
7379 "Provides a FilePath datatype and utility functions for operating on it.
7380Unlike the filepath package, this package does not simply reuse String,
7381increasing type safety.")
7382 (license license:expat)))
7383
3f7aa102 7384;; See ghc-system-filepath-bootstrap. In addition this package depends on
7385;; ghc-system-filepath.
7386(define ghc-system-fileio-bootstrap
7387 (package
7388 (name "ghc-system-fileio-bootstrap")
7389 (version "0.3.16.3")
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append
7394 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7395 version ".tar.gz"))
7396 (sha256
7397 (base32
7398 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7399 (build-system haskell-build-system)
7400 (arguments
7401 `(#:tests? #f))
7402 (inputs
7403 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7404 ("ghc-text" ,ghc-text)
7405 ("ghc-temporary" ,ghc-temporary)))
7406 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7407 (synopsis "Consistent file system interaction across GHC versions")
3f7aa102 7408 (description
7409 "This is a small wrapper around the directory, unix, and Win32 packages,
7410for use with system-filepath. It provides a consistent API to the various
7411versions of these packages distributed with different versions of GHC.
7412In particular, this library supports working with POSIX files that have paths
7413which can't be decoded in the current locale encoding.")
7414 (license license:expat)))
7415
25b3bdb5 7416(define-public ghc-shelly
7417 (package
7418 (name "ghc-shelly")
c4348ca7 7419 (version "1.8.1")
25b3bdb5 7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append
7424 "https://hackage.haskell.org/package/shelly/shelly-"
7425 version ".tar.gz"))
7426 (sha256
7427 (base32
c4348ca7 7428 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
25b3bdb5 7429 (build-system haskell-build-system)
7430 (inputs
7431 `(("ghc-mtl" ,ghc-mtl)
7432 ("ghc-unix-compat" ,ghc-unix-compat)
7433 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7434 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7435 ("ghc-monad-control" ,ghc-monad-control)
7436 ("ghc-lifted-base" ,ghc-lifted-base)
7437 ("ghc-lifted-async" ,ghc-lifted-async)
7438 ("ghc-exceptions" ,ghc-exceptions)
7439 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7440 ("ghc-text" ,ghc-text)
7441 ("ghc-async" ,ghc-async)
7442 ("ghc-transformers-base" ,ghc-transformers-base)
7443 ("ghc-hunit" ,ghc-hunit)
c4348ca7
AI
7444 ("ghc-hspec" ,ghc-hspec)
7445 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
25b3bdb5 7446 (home-page "https://github.com/yesodweb/Shelly.hs")
7447 (synopsis "Shell-like (systems) programming in Haskell")
7448 (description
7449 "Shelly provides convenient systems programming in Haskell, similar in
7450spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7451 (license license:bsd-3)))
7452
7e06c4aa 7453;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7454(define ghc-options-bootstrap
7455 (package
7456 (name "ghc-options-bootstrap")
7457 (version "1.2.1.1")
7458 (source
7459 (origin
7460 (method url-fetch)
7461 (uri (string-append
7462 "https://hackage.haskell.org/package/options/options-"
7463 version ".tar.gz"))
7464 (sha256
7465 (base32
7466 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7467 (build-system haskell-build-system)
7468 (arguments
7469 `(#:tests? #f))
7470 (inputs
7471 `(("ghc-monads-tf" ,ghc-monads-tf)))
7472 (home-page "https://john-millikin.com/software/haskell-options/")
7473 (synopsis "Powerful and easy-to-use command-line option parser")
7474 (description
7475 "The @code{options} package lets library and application developers
7476easily work with command-line options.")
7477 (license license:expat)))
7478
8ea94489 7479(define-public ghc-chell
7480 (package
7481 (name "ghc-chell")
7482 (version "0.4.0.1")
7483 (source
7484 (origin
7485 (method url-fetch)
7486 (uri (string-append
7487 "https://hackage.haskell.org/package/chell/chell-"
7488 version ".tar.gz"))
7489 (sha256
7490 (base32
7491 "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"))))
7492 (build-system haskell-build-system)
7493 (inputs
7494 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7495 ("ghc-patience" ,ghc-patience)
7496 ("ghc-random" ,ghc-random)
7497 ("ghc-text" ,ghc-text)
7498 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7499 (home-page "https://john-millikin.com/software/chell/")
7500 (synopsis "Simple and intuitive library for automated testing")
7501 (description
7502 "Chell is a simple and intuitive library for automated testing.
7503It natively supports assertion-based testing, and can use companion
7504libraries such as @code{chell-quickcheck} to support more complex
7505testing strategies.")
7506 (license license:expat)))
7507
475d3668 7508(define ghc-chell-quickcheck-bootstrap
7509 (package
7510 (name "ghc-chell-quickcheck-bootstrap")
a9717a52 7511 (version "0.2.5.1")
475d3668 7512 (source
7513 (origin
7514 (method url-fetch)
7515 (uri (string-append
a9717a52
TGR
7516 "https://hackage.haskell.org/package/chell-quickcheck/"
7517 "chell-quickcheck-" version ".tar.gz"))
475d3668 7518 (sha256
7519 (base32
a9717a52 7520 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
475d3668 7521 (build-system haskell-build-system)
7522 (inputs
7523 `(("ghc-chell" ,ghc-chell)
7524 ("ghc-random" ,ghc-random)
7525 ("ghc-quickcheck" ,ghc-quickcheck)))
7526 (arguments
7527 `(#:tests? #f))
7528 (home-page "https://john-millikin.com/software/chell/")
7529 (synopsis "QuickCheck support for the Chell testing library")
7530 (description "More complex tests for @code{chell}.")
7531 (license license:expat)))
7532
c92d944c 7533(define-public ghc-chell-quickcheck
7534 (package
7535 (name "ghc-chell-quickcheck")
a9717a52 7536 (version "0.2.5.1")
c92d944c 7537 (source
7538 (origin
7539 (method url-fetch)
7540 (uri (string-append
a9717a52
TGR
7541 "https://hackage.haskell.org/package/chell-quickcheck/"
7542 "chell-quickcheck-" version ".tar.gz"))
c92d944c 7543 (sha256
7544 (base32
a9717a52 7545 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
c92d944c 7546 (build-system haskell-build-system)
7547 (inputs
7548 `(("ghc-chell" ,ghc-chell)
7549 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7550 ("ghc-random" ,ghc-random)
7551 ("ghc-quickcheck" ,ghc-quickcheck)))
7552 (home-page "https://john-millikin.com/software/chell/")
7553 (synopsis "QuickCheck support for the Chell testing library")
7554 (description "More complex tests for @code{chell}.")
7555 (license license:expat)))
7556
58c85b1f 7557(define-public ghc-options
7558 (package
7559 (name "ghc-options")
7560 (version "1.2.1.1")
7561 (source
7562 (origin
7563 (method url-fetch)
7564 (uri (string-append
7565 "https://hackage.haskell.org/package/options/options-"
7566 version ".tar.gz"))
7567 (sha256
7568 (base32
7569 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7570 (build-system haskell-build-system)
7571 (inputs
7572 `(("ghc-monads-tf" ,ghc-monads-tf)
7573 ("ghc-chell" ,ghc-chell)
7574 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7575 (home-page "https://john-millikin.com/software/haskell-options/")
7576 (synopsis "Powerful and easy-to-use command-line option parser")
7577 (description
7578 "The @code{options} package lets library and application developers
7579easily work with command-line options.")
7580 (license license:expat)))
7581
23feb6e4 7582(define-public ghc-system-filepath
7583 (package
7584 (name "ghc-system-filepath")
1b58d289 7585 (version "0.4.14")
23feb6e4 7586 (source
7587 (origin
7588 (method url-fetch)
7589 (uri (string-append
7590 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7591 version ".tar.gz"))
7592 (sha256
7593 (base32
1b58d289 7594 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
23feb6e4 7595 (build-system haskell-build-system)
1b58d289
RW
7596 ;; FIXME: One of the tests fails:
7597 ;; [ FAIL ] tests.validity.posix
7598 ;; note: seed=7310214548328823169
7599 ;; *** Failed! Falsifiable (after 24 tests):
7600 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
7601 (arguments `(#:tests? #f))
23feb6e4 7602 (inputs
7603 `(("ghc-text" ,ghc-text)
7604 ("ghc-chell" ,ghc-chell)
7605 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7606 ("ghc-quickcheck" ,ghc-quickcheck)))
7607 (home-page "https://github.com/fpco/haskell-filesystem")
7608 (synopsis "High-level, byte-based file and directory path manipulations")
7609 (description
7610 "Provides a FilePath datatype and utility functions for operating on it.
7611Unlike the filepath package, this package does not simply reuse String,
7612increasing type safety.")
7613 (license license:expat)))
7614
10a03d66 7615(define-public ghc-system-fileio
7616 (package
7617 (name "ghc-system-fileio")
7618 (version "0.3.16.3")
7619 (source
7620 (origin
7621 (method url-fetch)
7622 (uri (string-append
7623 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7624 version ".tar.gz"))
7625 (sha256
7626 (base32
7627 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7628 (build-system haskell-build-system)
7629 (inputs
7630 `(("ghc-system-filepath" ,ghc-system-filepath)
7631 ("ghc-text" ,ghc-text)
7632 ("ghc-chell" ,ghc-chell)
7633 ("ghc-temporary" ,ghc-temporary)))
7634 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7635 (synopsis "Consistent file system interaction across GHC versions")
10a03d66 7636 (description
7637 "This is a small wrapper around the directory, unix, and Win32 packages,
7638for use with system-filepath. It provides a consistent API to the various
7639versions of these packages distributed with different versions of GHC.
7640In particular, this library supports working with POSIX files that have paths
7641which can't be decoded in the current locale encoding.")
7642 (license license:expat)))
725dddd7
FB
7643
7644(define-public ghc-storable-complex
7645 (package
7646 (name "ghc-storable-complex")
7647 (version "0.2.2")
7648 (source
7649 (origin
7650 (method url-fetch)
7651 (uri (string-append
98b90194 7652 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
725dddd7
FB
7653 version ".tar.gz"))
7654 (sha256
7655 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7656 (build-system haskell-build-system)
7657 (home-page "https://github.com/cartazio/storable-complex")
7658 (synopsis "Haskell Storable instance for Complex")
7659 (description "This package provides a Haskell library including a
7660Storable instance for Complex which is binary compatible with C99, C++
7661and Fortran complex data types.")
7662 (license license:bsd-3)))
7663
95595618
FB
7664(define-public ghc-hmatrix
7665 (package
7666 (name "ghc-hmatrix")
621fe476 7667 (version "0.18.1.0")
95595618
FB
7668 (source
7669 (origin
7670 (method url-fetch)
7671 (uri (string-append
98b90194 7672 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
95595618
FB
7673 version ".tar.gz"))
7674 (sha256
621fe476 7675 (base32 "07zkwvg872hfk6jyn4s54ws8mvclynazaxf7fsbqi16dmf9dn61c"))))
95595618
FB
7676 (build-system haskell-build-system)
7677 (inputs
7678 `(("ghc-random" ,ghc-random)
7679 ("ghc-split" ,ghc-split)
7680 ("ghc-storable-complex" ,ghc-storable-complex)
7681 ("ghc-vector" ,ghc-vector)
7682 ;;("openblas" ,openblas)
7683 ("lapack" ,lapack)))
7684 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7685 ;; disables inclusion of the LAPACK functions.
7686 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7687 (home-page "https://github.com/albertoruiz/hmatrix")
7688 (synopsis "Haskell numeric linear algebra library")
7689 (description "The HMatrix package provices a Haskell library for
7690dealing with linear systems, matrix decompositions, and other
7691numerical computations based on BLAS and LAPACK.")
7692 (license license:bsd-3)))
7693
932104ab
FB
7694(define-public ghc-hmatrix-gsl
7695 (package
7696 (name "ghc-hmatrix-gsl")
e72a77e1 7697 (version "0.18.0.1")
932104ab
FB
7698 (source
7699 (origin
7700 (method url-fetch)
7701 (uri (string-append
98b90194 7702 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
932104ab
FB
7703 version ".tar.gz"))
7704 (sha256
e72a77e1 7705 (base32 "0mflm7zg6c6a5vy092pa429rzpyv5drc1589r3x4fbmvcyqc79gx"))))
932104ab
FB
7706 (build-system haskell-build-system)
7707 (inputs
7708 `(("ghc-hmatrix" ,ghc-hmatrix)
7709 ("ghc-vector" ,ghc-vector)
7710 ("ghc-random" ,ghc-random)
7711 ("gsl" ,gsl)))
7712 (native-inputs `(("pkg-config" ,pkg-config)))
7713 (home-page "https://github.com/albertoruiz/hmatrix")
7714 (synopsis "Haskell GSL binding")
7715 (description "This Haskell library provides a purely functional
7716interface to selected numerical computations, internally implemented
7717using GSL.")
7718 (license license:gpl3+)))
7719
271a5365
FB
7720(define-public ghc-hmatrix-special
7721 (package
7722 (name "ghc-hmatrix-special")
15eef66e 7723 (version "0.4.0.1")
271a5365
FB
7724 (source
7725 (origin
7726 (method url-fetch)
7727 (uri
7728 (string-append
98b90194 7729 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
271a5365
FB
7730 version ".tar.gz"))
7731 (sha256
15eef66e 7732 (base32 "0kpcqdchi7ikzhqacy4rh4dxz3v37paxyb84wqa66sysb72wkabj"))))
271a5365
FB
7733 (build-system haskell-build-system)
7734 (inputs
7735 `(("ghc-hmatrix" ,ghc-hmatrix)
7736 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7737 (home-page "https://github.com/albertoruiz/hmatrix")
7738 (synopsis "Haskell interface to GSL special functions")
7739 (description "This library provides an interface to GSL special
7740functions for Haskell.")
7741 (license license:gpl3+)))
7742
4225c711
FB
7743(define-public ghc-hmatrix-gsl-stats
7744 (package
7745 (name "ghc-hmatrix-gsl-stats")
26d6539b 7746 (version "0.4.1.7")
4225c711
FB
7747 (source
7748 (origin
7749 (method url-fetch)
7750 (uri
7751 (string-append
98b90194 7752 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4225c711
FB
7753 version ".tar.gz"))
7754 (sha256
26d6539b 7755 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4225c711
FB
7756 (build-system haskell-build-system)
7757 (inputs
7758 `(("ghc-vector" ,ghc-vector)
7759 ("ghc-storable-complex" ,ghc-storable-complex)
7760 ("ghc-hmatrix" ,ghc-hmatrix)
7761 ("gsl" ,gsl)))
7762 (native-inputs `(("pkg-config" ,pkg-config)))
7763 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
7764 (synopsis "GSL Statistics interface for Haskell")
7765 (description "This Haskell library provides a purely functional
7766interface for statistics based on hmatrix and GSL.")
7767 (license license:bsd-3)))
7768
db61a009
FB
7769(define-public ghc-easyplot
7770 (package
7771 (name "ghc-easyplot")
7772 (version "1.0")
7773 (source
7774 (origin
7775 (method url-fetch)
7776 (uri (string-append
98b90194 7777 "https://hackage.haskell.org/package/easyplot/easyplot-"
db61a009
FB
7778 version ".tar.gz"))
7779 (sha256
7780 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
7781 (build-system haskell-build-system)
7782 (propagated-inputs `(("gnuplot" ,gnuplot)))
7783 (arguments
7784 `(#:phases (modify-phases %standard-phases
7785 (add-after 'unpack 'fix-setup-suffix
7786 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
98b90194 7787 (home-page "https://hub.darcs.net/scravy/easyplot")
db61a009
FB
7788 (synopsis "Haskell plotting library based on gnuplot")
7789 (description "This package provides a plotting library for
7790Haskell, using gnuplot for rendering.")
7791 (license license:expat)))
7792
1bd00f17
FB
7793(define-public ghc-hashtables
7794 (package
7795 (name "ghc-hashtables")
7796 (version "1.2.1.0")
7797 (source
7798 (origin
7799 (method url-fetch)
7800 (uri (string-append
98b90194 7801 "https://hackage.haskell.org/package/hashtables/hashtables-"
1bd00f17
FB
7802 version ".tar.gz"))
7803 (sha256
7804 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"))))
7805 (build-system haskell-build-system)
abfec9b3
AW
7806 (arguments
7807 `(#:configure-flags (list "--allow-newer=vector")))
1bd00f17
FB
7808 (inputs
7809 `(("ghc-hashable" ,ghc-hashable)
7810 ("ghc-primitive" ,ghc-primitive)
7811 ("ghc-vector" ,ghc-vector)))
7bf837fd 7812 (home-page "https://github.com/gregorycollins/hashtables")
1bd00f17
FB
7813 (synopsis "Haskell Mutable hash tables in the ST monad")
7814 (description "This package provides a Haskell library including a
7815couple of different implementations of mutable hash tables in the ST
7816monad, as well as a typeclass abstracting their common operations, and
7817a set of wrappers to use the hash tables in the IO monad.")
7818 (license license:bsd-3)))
7819
505e0150
FB
7820(define-public ghc-data-accessor
7821 (package
7822 (name "ghc-data-accessor")
7823 (version "0.2.2.7")
7824 (source
7825 (origin
7826 (method url-fetch)
7827 (uri (string-append
6846f084 7828 "mirror://hackage/package/data-accessor/data-accessor-"
505e0150
FB
7829 version ".tar.gz"))
7830 (sha256
7831 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
7832 (build-system haskell-build-system)
98b90194 7833 (home-page "https://www.haskell.org/haskellwiki/Record_access")
505e0150
FB
7834 (synopsis
7835 "Haskell utilities for accessing and manipulating fields of records")
7836 (description "This package provides Haskell modules for accessing and
7837manipulating fields of records.")
7838 (license license:bsd-3)))
7839
81a11919
FB
7840(define-public ghc-data-accessor-transformers
7841 (package
7842 (name "ghc-data-accessor-transformers")
7843 (version "0.2.1.7")
7844 (source
7845 (origin
7846 (method url-fetch)
7847 (uri (string-append
6846f084
EF
7848 "mirror://hackage/package/data-accessor-transformers/"
7849 "data-accessor-transformers-" version ".tar.gz"))
81a11919
FB
7850 (sha256
7851 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
7852 (build-system haskell-build-system)
7853 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
98b90194 7854 (home-page "https://www.haskell.org/haskellwiki/Record_access")
81a11919
FB
7855 (synopsis "Use Accessor to access state in transformers State monad")
7856 (description "This package provides Haskell modules to allow use of
7857Accessor to access state in transformers State monad.")
7858 (license license:bsd-3)))
7859
a5cbef03
FB
7860(define-public ghc-utility-ht
7861 (package
7862 (name "ghc-utility-ht")
7863 (version "0.0.12")
7864 (home-page "https://hackage.haskell.org/package/utility-ht")
7865 (source
7866 (origin
7867 (method url-fetch)
7868 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
7869 (sha256
7870 (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
7871 (build-system haskell-build-system)
7872 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7873 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
7874 (description "This package includes Hakell modules providing various
7875helper functions for Lists, Maybes, Tuples, Functions.")
7876 (license license:bsd-3)))
7877
1a86b671
FB
7878(define-public ghc-gnuplot
7879 (package
7880 (name "ghc-gnuplot")
7881 (version "0.5.4.1")
7882 (source
7883 (origin
7884 (method url-fetch)
7885 (uri (string-append
6846f084 7886 "mirror://hackage/package/gnuplot/gnuplot-"
1a86b671
FB
7887 version ".tar.gz"))
7888 (sha256
7889 (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
7890 (build-system haskell-build-system)
7891 (inputs
7892 `(("ghc-temporary" ,ghc-temporary)
7893 ("ghc-utility-ht" ,ghc-utility-ht)
7894 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
7895 ("ghc-data-accessor" ,ghc-data-accessor)
7896 ("gnuplot" ,gnuplot)))
7897 (arguments
7898 `(#:phases
7899 (modify-phases %standard-phases
7900 (add-before 'configure 'fix-path-to-gnuplot
7901 (lambda* (#:key inputs #:allow-other-keys)
7902 (let ((gnuplot (assoc-ref inputs "gnuplot")))
7903 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
7904 (("(gnuplotName = ).*$" all cmd)
7905 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
98b90194 7906 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
1a86b671
FB
7907 (synopsis "2D and 3D plots using gnuplot")
7908 (description "This package provides a Haskell module for creating 2D and
79093D plots using gnuplot.")
7910 (license license:bsd-3)))
7911
f63981de
DC
7912(define-public ghc-hinotify
7913 (package
7914 (name "ghc-hinotify")
7915 (version "0.3.8.1")
7916 (source (origin
7917 (method url-fetch)
7918 (uri (string-append
7919 "https://hackage.haskell.org/package/hinotify/"
7920 "hinotify-" version ".tar.gz"))
7921 (sha256
7922 (base32
7923 "03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
7924 (build-system haskell-build-system)
7925 (home-page "https://github.com/kolmodin/hinotify.git")
7926 (synopsis "Haskell binding to inotify")
7927 (description "This library provides a wrapper to the Linux kernel's inotify
7928feature, allowing applications to subscribe to notifications when a file is
7929accessed or modified.")
7930 (license license:bsd-3)))
7931
b7f96285
DC
7932(define-public ghc-fsnotify
7933 (package
7934 (name "ghc-fsnotify")
7935 (version "0.2.1")
7936 (source (origin
7937 (method url-fetch)
7938 (uri (string-append
7939 "https://hackage.haskell.org/package/fsnotify/"
7940 "fsnotify-" version ".tar.gz"))
7941 (sha256
7942 (base32
7943 "0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
7944 (build-system haskell-build-system)
7945 (inputs
7946 `(("ghc-text" ,ghc-text)
7947 ("ghc-async" ,ghc-async)
7948 ("ghc-unix-compat" ,ghc-unix-compat)
7949 ("ghc-hinotify" ,ghc-hinotify)
7950 ("ghc-tasty" ,ghc-tasty)
7951 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7952 ("ghc-temporary-rc" ,ghc-temporary-rc)))
7953 (home-page "https://github.com/haskell-fswatch/hfsnotify")
7954 (synopsis "Cross platform library for file change notification.")
7955 (description "Cross platform library for file creation, modification, and
7956deletion notification. This library builds upon existing libraries for platform
162a1374 7957specific Windows, Mac, and Linux file system event notification.")
b7f96285
DC
7958 (license license:bsd-3)))
7959
5e6cafe1
DC
7960(define-public ghc-ieee754
7961 (package
7962 (name "ghc-ieee754")
7963 (version "0.7.8")
7964 (source (origin
7965 (method url-fetch)
7966 (uri (string-append
7967 "https://hackage.haskell.org/package/ieee754/"
7968 "ieee754-" version ".tar.gz"))
7969 (sha256
7970 (base32
7971 "1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
7972 (build-system haskell-build-system)
7bf837fd 7973 (home-page "https://github.com/patperry/hs-ieee754")
5e6cafe1
DC
7974 (synopsis "Utilities for dealing with IEEE floating point numbers")
7975 (description "Utilities for dealing with IEEE floating point numbers,
7976ported from the Tango math library; approximate and exact equality comparisons
7977for general types.")
7978 (license license:bsd-3)))
7979
4e05c326
DC
7980(define-public ghc-terminal-size
7981 (package
7982 (name "ghc-terminal-size")
7983 (version "0.3.2.1")
7984 (source (origin
7985 (method url-fetch)
7986 (uri (string-append
7987 "https://hackage.haskell.org/package/terminal-size/"
7988 "terminal-size-" version ".tar.gz"))
7989 (sha256
7990 (base32
7991 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
7992 (build-system haskell-build-system)
98b90194 7993 (home-page "https://hackage.haskell.org/package/terminal-size")
4e05c326
DC
7994 (synopsis "Get terminal window height and width")
7995 (description "Get terminal window height and width without ncurses
7996dependency.")
7997 (license license:bsd-3)))
7998
2d2388e2
DM
7999(define-public ghc-language-c
8000 (package
de793e9a
RW
8001 (name "ghc-language-c")
8002 (version "0.5.0")
8003 (source
2d2388e2
DM
8004 (origin
8005 (method url-fetch)
de793e9a
RW
8006 (uri (string-append "https://hackage.haskell.org/package/"
8007 "language-c/language-c-" version ".tar.gz"))
2d2388e2 8008 (sha256
de793e9a
RW
8009 (base32
8010 "08i2bl7jmmymn2sldzlbz6ig7lx3wfwhlpadzibs3fx72z08pmc6"))))
8011 (build-system haskell-build-system)
8012 (inputs `(("ghc-syb" ,ghc-syb)))
8013 (native-inputs
2d2388e2
DM
8014 `(("ghc-happy" ,ghc-happy)
8015 ("ghc-alex" ,ghc-alex)))
98b90194 8016 (home-page "https://visq.github.io/language-c/")
de793e9a
RW
8017 (synopsis "Analysis and generation of C code")
8018 (description
8019 "Language C is a Haskell library for the analysis and generation of C code.
8020It features a complete, well-tested parser and pretty printer for all of C99
2d2388e2 8021and a large set of GNU extensions.")
de793e9a 8022 (license license:bsd-3)))
2d2388e2 8023
6c8a387a
DM
8024(define-public ghc-markdown-unlit
8025 (package
8026 (name "ghc-markdown-unlit")
8027 (version "0.4.0")
8028 (source (origin
8029 (method url-fetch)
8030 (uri (string-append
8031 "mirror://hackage/package/markdown-unlit/"
8032 "markdown-unlit-" version ".tar.gz"))
8033 (sha256
8034 (base32
8035 "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"))))
8036 (build-system haskell-build-system)
8037 (inputs
8038 `(("ghc-base-compat" ,ghc-base-compat)
8039 ("ghc-hspec" ,ghc-hspec)
8040 ("ghc-quickcheck" ,ghc-quickcheck)
8041 ("ghc-silently" ,ghc-silently)
8042 ("ghc-stringbuilder" ,ghc-stringbuilder)
8043 ("ghc-temporary" ,ghc-temporary)
8044 ("hspec-discover" ,hspec-discover)))
8045 (home-page "https://github.com/sol/markdown-unlit#readme")
8046 (synopsis "Literate Haskell support for Markdown")
8047 (description "This package allows you to have a README.md that at the
8048same time is a literate Haskell program.")
8049 (license license:expat)))
8050
ee719fba
DM
8051(define-public corrode
8052 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
8053 (package
8054 (name "corrode")
8055 (version (string-append "0.0.1-" (string-take commit 7)))
8056 (source
8057 (origin
8058 (method git-fetch)
8059 (uri (git-reference
8060 (url "https://github.com/jameysharp/corrode.git")
8061 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
8062 (file-name
8063 (string-append name "-" version "-checkout"))
8064 (sha256
8065 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
8066 (build-system haskell-build-system)
8067 (inputs
8068 `(("ghc-language-c" ,ghc-language-c)
8069 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
8070 (home-page "https://github.com/jameysharp/corrode")
8071 (synopsis "Automatic semantics-preserving translation from C to Rust")
8072 (description
8073 "This program reads a C source file and prints an equivalent module in
8074Rust syntax. It is intended to be useful for two different purposes:
8075
8076@enumerate
8077@item Partial automation for migrating legacy code that was implemented in C.
8078@item A new, complementary approach to static analysis for C programs.
8079@end enumerate\n")
8080 (license license:gpl2+))))
8081
90762815
DM
8082(define-public ghc-wave
8083 (package
8084 (name "ghc-wave")
8085 (version "0.1.4")
8086 (source (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/wave/wave-"
8090 version
8091 ".tar.gz"))
8092 (sha256
8093 (base32
8094 "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8"))))
8095 (build-system haskell-build-system)
8096 (inputs
8097 `(("ghc-cereal" ,ghc-cereal)
8098 ("ghc-data-default-class"
8099 ,ghc-data-default-class)
8100 ("ghc-quickcheck" ,ghc-quickcheck)
8101 ("ghc-temporary" ,ghc-temporary)))
8102 (native-inputs
8103 `(("hspec-discover" ,hspec-discover)
8104 ("ghc-hspec" ,ghc-hspec)))
8105 (home-page "https://github.com/mrkkrp/wave")
8106 (synopsis "Work with WAVE and RF64 files in Haskell")
8107 (description "This package allows you to work with WAVE and RF64
8108files in Haskell.")
8109 (license license:bsd-3)))
8110
5f622de1 8111(define-public ghc-hslogger
8112 (package
8113 (name "ghc-hslogger")
8114 (version "1.2.10")
8115 (source
8116 (origin
8117 (method url-fetch)
8118 (uri (string-append "https://hackage.haskell.org/package/"
8119 "hslogger-" version "/" "hslogger-"
8120 version ".tar.gz"))
8121 (sha256 (base32
8122 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
8123 (build-system haskell-build-system)
8124 (inputs
8125 `(("ghc-mtl" ,ghc-mtl)
8126 ("ghc-network" ,ghc-network)
831cb419 8127 ("ghc-old-locale" ,ghc-old-locale)))
5f622de1 8128 (native-inputs
8129 `(("ghc-hunit" ,ghc-hunit)))
98b90194 8130 (home-page "https://software.complete.org/hslogger")
5f622de1 8131 (synopsis "Logging framework for Haskell, similar to Python's logging module")
8132 (description "Hslogger lets each log message have a priority and source be
8133associated with it. The programmer can then define global handlers that route
8134or filter messages based on the priority and source. It also has a syslog
8135handler built in.")
8136 (license license:bsd-3)))
8137
a1563803 8138(define-public ghc-unexceptionalio
8139 (package
8140 (name "ghc-unexceptionalio")
8141 (version "0.3.0")
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri (string-append "https://hackage.haskell.org/package/"
8146 "unexceptionalio-" version "/" "unexceptionalio-"
8147 version ".tar.gz"))
8148 (sha256 (base32 "1f7h7zwky4scdcyjspg4ksfh7x6yra0wjybxq70p7vcwpgk2nzlj"))))
8149 (build-system haskell-build-system)
8150 (home-page "https://github.com/singpolyma/unexceptionalio")
8151 (synopsis "IO without any non-error, synchronous exceptions")
8152 (description "When you've caught all the exceptions that can be
8153handled safely, this is what you're left with.")
8154 (license license:isc)))
8155
6f8016f4
DM
8156(define-public ghc-json
8157 (package
8158 (name "ghc-json")
8159 (version "0.9.1")
8160 (source
8161 (origin
8162 (method url-fetch)
8163 (uri (string-append "https://hackage.haskell.org/package/json/"
8164 "json-" version ".tar.gz"))
8165 (sha256
8166 (base32
8167 "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
8168 (build-system haskell-build-system)
8169 (inputs
8170 `(("ghc-syb" ,ghc-syb)
8171 ("ghc-mtl" ,ghc-mtl)
8172 ("ghc-text" ,ghc-text)
8173 ("ghc-parsec" ,ghc-parsec)))
98b90194 8174 (home-page "https://hackage.haskell.org/package/json")
6f8016f4
DM
8175 (synopsis "Serializes Haskell data to and from JSON")
8176 (description "This package provides a parser and pretty printer for
8177converting between Haskell values and JSON.
8178JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
8179 (license license:bsd-3)))
8180
92c2097b
TS
8181(define-public ghc-esqueleto
8182 (package
8183 (name "ghc-esqueleto")
8184 (version "2.5.3")
8185 (source
8186 (origin
8187 (method url-fetch)
8188 (uri (string-append "https://hackage.haskell.org/package/"
8189 "esqueleto/esqueleto-" version ".tar.gz"))
8190 (sha256
8191 (base32
8192 "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x"))))
8193 (build-system haskell-build-system)
8194 (inputs
8195 `(("ghc-blaze-html" ,ghc-blaze-html)
8196 ("ghc-conduit" ,ghc-conduit)
8197 ("ghc-monad-logger" ,ghc-monad-logger)
8198 ("ghc-persistent" ,ghc-persistent)
8199 ("ghc-resourcet" ,ghc-resourcet)
8200 ("ghc-tagged" ,ghc-tagged)
8201 ("ghc-text" ,ghc-text)
8202 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8203 (native-inputs
8204 `(("ghc-hspec" ,ghc-hspec)
8205 ("ghc-hunit" ,ghc-hunit)
8206 ("ghc-monad-control" ,ghc-monad-control)
8207 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
8208 ("ghc-persistent-template" ,ghc-persistent-template)
8209 ("ghc-quickcheck" ,ghc-quickcheck)))
8210 (home-page "https://github.com/bitemyapp/esqueleto")
8211 (synopsis "Type-safe embedded domain specific language for SQL queries")
8212 (description "This library provides a type-safe embedded domain specific
8213language (EDSL) for SQL queries that works with SQL backends as provided by
8214@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
8215to learn new concepts, just new syntax, and it's fairly easy to predict the
8216generated SQL and optimize it for your backend.")
8217 (license license:bsd-3)))
8218
7e58cbbb
DM
8219(define-public shellcheck
8220 (package
8221 (name "shellcheck")
49d3d1d9 8222 (version "0.4.6")
7e58cbbb
DM
8223 (source
8224 (origin
8225 (method url-fetch)
8226 (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
8227 "v" version ".tar.gz"))
8228 (sha256
8229 (base32
49d3d1d9 8230 "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w"))
7e58cbbb
DM
8231 (file-name (string-append name "-" version ".tar.gz"))))
8232 (build-system haskell-build-system)
8233 (inputs
8234 `(("ghc-quickcheck" ,ghc-quickcheck)
8235 ("ghc-json" ,ghc-json)
8236 ("ghc-mtl" ,ghc-mtl)
8237 ("ghc-parsec" ,ghc-parsec)
8238 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8239 (home-page "https://github.com/koalaman/shellcheck")
8240 (synopsis "Static analysis for shell scripts")
8241 (description "@code{shellcheck} provides static analysis for
8242@command{bash} and @command{sh} shell scripts.
8243It gives warnings and suggestions in order to:
8244
8245@enumerate
8246@item Point out and clarify typical beginner's syntax issues that cause
8247a shell to give cryptic error messages.
8248@item Point out and clarify typical intermediate level semantic problems
8249that cause a shell to behave strangely and counter-intuitively.
8250@item Point out subtle caveats, corner cases and pitfalls that may cause an
8251advanced user's otherwise working script to fail under future circumstances.
8252@end enumerate")
8253 (license license:gpl3+)))
8254
789dc568 8255(define-public ghc-simple-sendfile
8256 (package
8257 (name "ghc-simple-sendfile")
8258 (version "0.2.25")
8259 (source
8260 (origin
8261 (method url-fetch)
8262 (uri (string-append "https://hackage.haskell.org/package/"
8263 "simple-sendfile-" version "/"
8264 "simple-sendfile-" version ".tar.gz"))
8265 (sha256
8266 (base32
8267 "0k99j9xfcf83c55jmn202hdinhjaa4yn3dal4rvjk2w2rlhqirha"))))
8268 (build-system haskell-build-system)
8269 (inputs
8270 `(("ghc-conduit" ,ghc-conduit)
8271 ("ghc-conduit-extra" ,ghc-conduit-extra)
8272 ("ghc-network" ,ghc-network)
8273 ("ghc-resourcet" ,ghc-resourcet)))
8274 (native-inputs
8275 `(("ghc-hspec" ,ghc-hspec)
8276 ("hspec-discover" ,hspec-discover)))
8277 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
8278 (synopsis "Cross platform library for the sendfile system call")
8279 (description "This library tries to call minimum system calls which
8280are the bottleneck of web servers.")
8281 (license license:bsd-3)))
8282
59b340a5 8283(define-public ghc-hex
8284 (package
8285 (name "ghc-hex")
8286 (version "0.1.2")
8287 (source
8288 (origin
8289 (method url-fetch)
8290 (uri (string-append "https://hackage.haskell.org/package/"
8291 "hex-" version "/"
8292 "hex-" version ".tar.gz"))
8293 (sha256
8294 (base32
8295 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
8296 (build-system haskell-build-system)
98b90194 8297 (home-page "https://hackage.haskell.org/package/hex")
59b340a5 8298 (synopsis "Convert strings into hexadecimal and back")
8299 (description "This package provides conversion functions between
8300bytestrings and their hexademical representation.")
8301 (license license:bsd-3)))
8302
aba85f8c 8303(define-public ghc-psqueues
8304 (package
8305 (name "ghc-psqueues")
20c902f0 8306 (version "0.2.6.0")
aba85f8c 8307 (source
8308 (origin
8309 (method url-fetch)
8310 (uri (string-append "https://hackage.haskell.org/package/"
8311 "psqueues-" version "/"
8312 "psqueues-" version ".tar.gz"))
8313 (sha256
8314 (base32
20c902f0 8315 "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls"))))
aba85f8c 8316 (build-system haskell-build-system)
1ea39719
TS
8317 (arguments
8318 `(#:configure-flags (list "--allow-newer=QuickCheck")))
aba85f8c 8319 (inputs
8320 `(("ghc-hashable" ,ghc-hashable)))
8321 (native-inputs
8322 `(("ghc-hunit" ,ghc-hunit)
8323 ("ghc-quickcheck" ,ghc-quickcheck)
8324 ("ghc-tagged" ,ghc-tagged)
8325 ("ghc-test-framework" ,ghc-test-framework)
8326 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8327 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
20c902f0 8328 (home-page "https://github.com/jaspervdj/psqueues")
aba85f8c 8329 (synopsis "Pure priority search queues")
8330 (description "The psqueues package provides
98b90194 8331@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
aba85f8c 8332three different flavors:
8333
8334@itemize
8335@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8336fast insertion, deletion and lookup. This implementation is based on Ralf
8337Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8338Implementation Technique for Priority Search Queues}.
8339
98b90194 8340Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
aba85f8c 8341PSQueue} library, although it is considerably faster and provides a slightly
8342different API.
8343
8344@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8345key type to @code{Int} and uses a
98b90194 8346@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
a5f89a63 8347with an additional min-heap property.
aba85f8c 8348
8349@item @code{HashPSQ k p v} is a fairly straightforward extension
8350of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8351@code{IntPSQ}. If there are any hash collisions, it uses an
8352@code{OrdPSQ} to resolve those. The performance of this implementation
8353is comparable to that of @code{IntPSQ}, but it is more widely
8354applicable since the keys are not restricted to @code{Int},
8355but rather to any @code{Hashable} datatype.
8356@end itemize
8357
8358Each of the three implementations provides the same API, so they can
8359be used interchangeably.
8360
8361Typical applications of Priority Search Queues include:
8362
8363@itemize
8364@item Caches, and more specifically LRU Caches;
8365@item Schedulers;
8366@item Pathfinding algorithms, such as Dijkstra's and A*.
8367@end itemize")
8368 (license license:bsd-3)))
8369
4031fb60 8370(define-public ghc-glob
8371 (package
8372 (name "ghc-glob")
c0fc5003 8373 (version "0.9.1")
4031fb60 8374 (source
8375 (origin
8376 (method url-fetch)
8377 (uri (string-append "https://hackage.haskell.org/package/"
8378 "Glob-" version "/"
8379 "Glob-" version ".tar.gz"))
8380 (sha256
8381 (base32
c0fc5003 8382 "0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0"))))
4031fb60 8383 (build-system haskell-build-system)
8384 (inputs
8385 `(("ghc-dlist" ,ghc-dlist)
8386 ("ghc-semigroups" ,ghc-semigroups)
8387 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8388 (native-inputs
8389 `(("ghc-hunit" ,ghc-hunit)
8390 ("ghc-quickcheck" ,ghc-quickcheck)
8391 ("ghc-test-framework" ,ghc-test-framework)
8392 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8393 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8394 (home-page "http://iki.fi/matti.niemenmaa/glob/")
8395 (synopsis "Haskell library matching glob patterns against file paths")
581a006b 8396 (description "This package provides a Haskell library for @dfn{globbing}:
4031fb60 8397matching patterns against file paths.")
8398 (license license:bsd-3)))
8399
78d8b8f3 8400(define-public ghc-errors
8401 (package
8402 (name "ghc-errors")
8403 (version "2.2.2")
8404 (source
8405 (origin
8406 (method url-fetch)
8407 (uri (string-append "https://hackage.haskell.org/package/"
8408 "errors-" version "/"
8409 "errors-" version ".tar.gz"))
8410 (sha256
8411 (base32
8412 "13sflhglcm5skwrxb48fw96skdcx7ydiy4zg22200733pxhjncpn"))))
8413 (build-system haskell-build-system)
8414 (inputs
8415 `(("ghc-exceptions" ,ghc-exceptions)
8416 ("ghc-text" ,ghc-text)
8417 ("ghc-transformers-compat" ,ghc-transformers-compat)
8418 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
8419 ("ghc-safe" ,ghc-safe)))
8420 (home-page "https://github.com/gabriel439/haskell-errors-library")
8421 (synopsis "Error handling library for Haskell")
8422 (description "This library encourages an error-handling style that
8423directly uses the type system, rather than out-of-band exceptions.")
8424 (license license:bsd-3)))
8425
c1274a0b 8426(define-public ghc-vector-th-unbox
8427 (package
8428 (name "ghc-vector-th-unbox")
8429 (version "0.2.1.6")
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append "https://hackage.haskell.org/package/"
8434 "vector-th-unbox-" version "/"
8435 "vector-th-unbox-" version ".tar.gz"))
8436 (sha256
8437 (base32
8438 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-vector" ,ghc-vector)
8442 ("ghc-data-default" ,ghc-data-default)))
8443 (home-page "https://github.com/liyang/vector-th-unbox")
8444 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
8445 (description "This Haskell library provides a Template Haskell
8446deriver for unboxed vectors, given a pair of coercion functions to
8447and from some existing type with an Unbox instance.")
8448 (license license:bsd-3)))
8449
bdd7e395 8450(define-public ghc-erf
8451 (package
8452 (name "ghc-erf")
8453 (version "2.0.0.0")
8454 (source
8455 (origin
8456 (method url-fetch)
8457 (uri (string-append "https://hackage.haskell.org/package/"
8458 "erf-" version "/"
8459 "erf-" version ".tar.gz"))
8460 (sha256
8461 (base32
8462 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
8463 (build-system haskell-build-system)
8464 (home-page "https://hackage.haskell.org/package/erf")
8465 (synopsis "The error function, erf, and related functions for Haskell")
8466 (description "This Haskell library provides a type class for the
8467error function, erf, and related functions. Instances for Float and
8468Double.")
8469 (license license:bsd-3)))
8470
a51ba897 8471(define-public ghc-math-functions
8472 (package
8473 (name "ghc-math-functions")
8474 (version "0.2.1.0")
8475 (source
8476 (origin
8477 (method url-fetch)
8478 (uri (string-append "https://hackage.haskell.org/package/"
8479 "math-functions-" version "/"
8480 "math-functions-" version ".tar.gz"))
8481 (sha256
8482 (base32
8483 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
8484 (build-system haskell-build-system)
fc3ef1e2 8485 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
a51ba897 8486 (inputs
8487 `(("ghc-vector" ,ghc-vector)
8488 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
8489 (native-inputs
8490 `(("ghc-hunit" ,ghc-hunit)
8491 ("ghc-quickcheck" ,ghc-quickcheck)
8492 ("ghc-erf" ,ghc-erf)
8493 ("ghc-test-framework" ,ghc-test-framework)
8494 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8495 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8496 (home-page "https://github.com/bos/math-functions")
8497 (synopsis "Special functions and Chebyshev polynomials for Haskell")
8498 (description "This Haskell library provides implementations of
8499special mathematical functions and Chebyshev polynomials. These
8500functions are often useful in statistical and numerical computing.")
8501 (license license:bsd-3)))
8502
1a2a247b 8503(define-public ghc-mwc-random
8504 (package
8505 (name "ghc-mwc-random")
8506 (version "0.13.6.0")
8507 (source
8508 (origin
8509 (method url-fetch)
8510 (uri (string-append "https://hackage.haskell.org/package/"
8511 "mwc-random-" version "/"
8512 "mwc-random-" version ".tar.gz"))
8513 (sha256
8514 (base32
8515 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
8516 (build-system haskell-build-system)
8517 (inputs
8518 `(("ghc-primitive" ,ghc-primitive)
8519 ("ghc-vector" ,ghc-vector)
8520 ("ghc-math-functions" ,ghc-math-functions)))
8521 (arguments
8522 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8523 (native-inputs
8524 `(("ghc-hunit" ,ghc-hunit)
8525 ("ghc-quickcheck" ,ghc-quickcheck)
8526 ("ghc-test-framework" ,ghc-test-framework)
8527 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8528 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8529 (home-page "https://github.com/bos/mwc-random")
8530 (synopsis "Random number generation library for Haskell")
8531 (description "This Haskell package contains code for generating
8532high quality random numbers that follow either a uniform or normal
8533distribution. The generated numbers are suitable for use in
8534statistical applications.
8535
8536The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8537multiply-with-carry generator, which has a period of 2^{8222} and
8538fares well in tests of randomness. It is also extremely fast,
8539between 2 and 3 times faster than the Mersenne Twister.")
8540 (license license:bsd-3)))
8541
30aede1b 8542(define-public ghc-vector-algorithms
8543 (package
8544 (name "ghc-vector-algorithms")
8545 (version "0.7.0.1")
8546 (source
8547 (origin
8548 (method url-fetch)
8549 (uri (string-append "https://hackage.haskell.org/package/"
8550 "vector-algorithms-" version "/"
8551 "vector-algorithms-" version ".tar.gz"))
8552 (sha256
8553 (base32
8554 "0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd"))))
8555 (build-system haskell-build-system)
178bd681
RW
8556 ;; The limits have been adjusted in a revision of the cabal file.
8557 (arguments
8558 '(#:configure-flags (list "--allow-newer=vector")
8559 #:phases
8560 (modify-phases %standard-phases
8561 ;; The tests cannot be built due to type errors.
8562 (add-after 'unpack 'do-not-build-quickcheck-tests
8563 (lambda _
8564 (substitute* "vector-algorithms.cabal"
8565 (("\\!flag\\(properties\\)") "True"))
8566 #t)))))
30aede1b 8567 (inputs
8568 `(("ghc-vector" ,ghc-vector)
8569 ("ghc-mtl" ,ghc-mtl)
8570 ("ghc-mwc-random" ,ghc-mwc-random)))
8571 (native-inputs
8572 `(("ghc-quickcheck" ,ghc-quickcheck)))
8573 (home-page "https://github.com/bos/math-functions")
8574 (synopsis "Algorithms for vector arrays in Haskell")
8575 (description "This Haskell library algorithms for vector arrays.")
8576 (license license:bsd-3)))
8577
897d4f28 8578(define-public ghc-language-haskell-extract
8579 (package
8580 (name "ghc-language-haskell-extract")
8581 (version "0.2.4")
8582 (source
8583 (origin
8584 (method url-fetch)
8585 (uri (string-append "https://hackage.haskell.org/package/"
8586 "language-haskell-extract-" version "/"
8587 "language-haskell-extract-" version ".tar.gz"))
8588 (sha256
8589 (base32
8590 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8591 (build-system haskell-build-system)
8592 (inputs
8593 `(("ghc-regex-posix" ,ghc-regex-posix)))
8594 (home-page "https://github.com/finnsson/template-helper")
8595 (synopsis "Haskell module to automatically extract functions from
8596the local code")
8597 (description "This package contains helper functions on top of
8598Template Haskell.
8599
8600For example, @code{functionExtractor} extracts all functions after a
8601regexp-pattern, which can be useful if you wish to extract all functions
8602beginning with @code{test} (for a test framework) or all functions beginning
8603with @code{wc} (for a web service).")
8604 (license license:bsd-3)))
8605
97b26920 8606(define-public ghc-abstract-par
8607 (package
8608 (name "ghc-abstract-par")
8609 (version "0.3.3")
8610 (source
8611 (origin
8612 (method url-fetch)
8613 (uri (string-append "https://hackage.haskell.org/package/"
8614 "abstract-par-" version "/"
8615 "abstract-par-" version ".tar.gz"))
8616 (sha256
8617 (base32
8618 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8619 (build-system haskell-build-system)
8620 (home-page "https://github.com/simonmar/monad-par")
8621 (synopsis "Abstract parallelization interface for Haskell")
8622 (description "This Haskell package is an abstract interface
8623only. It provides a number of type clasess, but not an
8624implementation. The type classes separate different levels
8625of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8626module for more details.")
8627 (license license:bsd-3)))
8628
59551881 8629(define-public ghc-monad-par-extras
8630 (package
8631 (name "ghc-monad-par-extras")
8632 (version "0.3.3")
8633 (source
8634 (origin
8635 (method url-fetch)
8636 (uri (string-append "https://hackage.haskell.org/package/"
8637 "monad-par-extras-" version "/"
8638 "monad-par-extras-" version ".tar.gz"))
8639 (sha256
8640 (base32
8641 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8642 (build-system haskell-build-system)
8643 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8644 ("ghc-cereal" ,ghc-cereal)
8645 ("ghc-random" ,ghc-random)
8646 ("ghc-mtl" ,ghc-mtl)))
8647 (home-page "https://github.com/simonmar/monad-par")
8648 (synopsis "Combinators and extra features for Par monads for Haskell")
8649 (description "This Haskell package provides additional data structures,
8650and other added capabilities layered on top of the @code{Par} monad.")
8651 (license license:bsd-3)))
8652
f978e2ac 8653(define-public ghc-abstract-deque
8654 (package
8655 (name "ghc-abstract-deque")
8656 (version "0.3")
8657 (source
8658 (origin
8659 (method url-fetch)
8660 (uri (string-append "https://hackage.haskell.org/package/"
8661 "abstract-deque-" version "/"
8662 "abstract-deque-" version ".tar.gz"))
8663 (sha256
8664 (base32
8665 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8666 (build-system haskell-build-system)
8667 (inputs `(("ghc-random" ,ghc-random)))
8668 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8669 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8670 (description "This Haskell package provides an abstract interface to
8671highly-parameterizable queues/deques.
8672
8673Background: There exists a feature space for queues that extends between:
8674
8675@itemize
8676@item Simple, single-ended, non-concurrent, bounded queues
8677
467834d5
TGR
8678@item Double-ended, thread-safe, growable queues with important points
8679in between (such as the queues used for work stealing).
f978e2ac 8680@end itemize
8681
8682This package includes an interface for Deques that allows the programmer
467834d5 8683to use a single API for all of the above, while using the type system to
f978e2ac 8684select an efficient implementation given the requirements (using type families).
8685
8686This package also includes a simple reference implementation based on
8687@code{IORef} and @code{Data.Sequence}.")
8688 (license license:bsd-3)))
8689
608bf276 8690(define-public ghc-monad-par
8691 (package
8692 (name "ghc-monad-par")
8693 (version "0.3.4.8")
8694 (source
8695 (origin
8696 (method url-fetch)
8697 (uri (string-append "https://hackage.haskell.org/package/"
8698 "monad-par-" version "/"
8699 "monad-par-" version ".tar.gz"))
8700 (sha256
8701 (base32
8702 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8703 (build-system haskell-build-system)
8704 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8705 ("ghc-abstract-deque" ,ghc-abstract-deque)
8706 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8707 ("ghc-mwc-random" ,ghc-mwc-random)
8708 ("ghc-parallel" ,ghc-parallel)
8709 ("ghc-mtl" ,ghc-mtl)))
8710 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8711 ("ghc-hunit" ,ghc-hunit)
8712 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8713 ("ghc-test-framework-quickcheck2"
8714 ,ghc-test-framework-quickcheck2)
8715 ("ghc-test-framework" ,ghc-test-framework)
8716 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8717 (home-page "https://github.com/simonmar/monad-par")
8718 (synopsis "Haskell library for parallel programming based on a monad")
8719 (description "The @code{Par} monad offers an API for parallel
8720programming. The library works for parallelising both pure and @code{IO}
8721computations, although only the pure version is deterministic. The default
8722implementation provides a work-stealing scheduler and supports forking tasks
8723that are much lighter weight than IO-threads.")
8724 (license license:bsd-3)))
8725
0c717284 8726(define-public ghc-statistics
8727 (package
8728 (name "ghc-statistics")
8729 (version "0.14.0.2")
8730 (source
8731 (origin
8732 (method url-fetch)
8733 (uri (string-append "https://hackage.haskell.org/package/"
8734 "statistics-" version "/"
8735 "statistics-" version ".tar.gz"))
8736 (sha256
8737 (base32
8738 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
8739 (build-system haskell-build-system)
8740 (inputs
8741 `(("ghc-aeson" ,ghc-aeson)
8742 ("ghc-base-orphans" ,ghc-base-orphans)
8743 ("ghc-erf" ,ghc-erf)
8744 ("ghc-math-functions" ,ghc-math-functions)
8745 ("ghc-monad-par" ,ghc-monad-par)
8746 ("ghc-mwc-random" ,ghc-mwc-random)
8747 ("ghc-primitive" ,ghc-primitive)
8748 ("ghc-vector" ,ghc-vector)
8749 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8750 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
8751 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
8752 (native-inputs
8753 `(("ghc-hunit" ,ghc-hunit)
8754 ("ghc-quickcheck" ,ghc-quickcheck)
c695fb76 8755 ("ghc-ieee754" ,ghc-ieee754)
0c717284 8756 ("ghc-test-framework" ,ghc-test-framework)
8757 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8758 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8759 (arguments
8760 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8761 (home-page "https://github.com/bos/mwc-random")
8762 (synopsis "Haskell library of statistical types, data, and functions")
8763 (description "This library provides a number of common functions
8764and types useful in statistics. We focus on high performance, numerical
8765robustness, and use of good algorithms. Where possible, we provide references
8766to the statistical literature.
8767
8768The library's facilities can be divided into four broad categories:
8769
8770@itemize
8771@item Working with widely used discrete and continuous probability
8772distributions. (There are dozens of exotic distributions in use; we focus
8773on the most common.)
8774
8775@item Computing with sample data: quantile estimation, kernel density
8776estimation, histograms, bootstrap methods, significance testing,
8777and regression and autocorrelation analysis.
8778
8779@item Random variate generation under several different distributions.
8780
8781@item Common statistical tests for significant differences between samples.
8782@end itemize")
8783 (license license:bsd-2)))
8784
371ad40c 8785(define-public ghc-chunked-data
8786 (package
8787 (name "ghc-chunked-data")
8788 (version "0.3.0")
8789 (source
8790 (origin
8791 (method url-fetch)
8792 (uri (string-append "https://hackage.haskell.org/package/"
8793 "chunked-data-" version "/"
8794 "chunked-data-" version ".tar.gz"))
8795 (sha256
8796 (base32
8797 "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
8798 (build-system haskell-build-system)
8799 (inputs `(("ghc-vector" ,ghc-vector)
d6e559ab 8800 ("ghc-semigroups" ,ghc-semigroups)
8801 ("ghc-text" ,ghc-text)))
371ad40c 8802 (home-page "https://github.com/snoyberg/mono-traversable")
8803 (synopsis "Typeclasses for dealing with various chunked data
8804representations for Haskell")
8805 (description "This Haskell package was originally present in
8806classy-prelude.")
8807 (license license:expat)))
8808
ac4cb8fd 8809(define-public ghc-base-prelude
8810 (package
8811 (name "ghc-base-prelude")
8812 (version "1.2.0.1")
8813 (source
8814 (origin
8815 (method url-fetch)
8816 (uri (string-append "https://hackage.haskell.org/package/"
8817 "base-prelude-" version "/"
8818 "base-prelude-" version ".tar.gz"))
8819 (sha256
8820 (base32
8821 "17hivs7lmsglagdlzxd9q9zsddmgqin2788mpq911zwnb57lj6l1"))))
8822 (build-system haskell-build-system)
8823 (home-page "https://github.com/nikita-volkov/base-prelude")
8824 (synopsis "The most complete prelude formed solely from the Haskell's base
8825package")
8826 (description "This Haskell package aims to reexport all the non-conflicting
8827and most general definitions from the \"base\" package.
8828
8829This includes APIs for applicatives, arrows, monoids, foldables, traversables,
8830exceptions, generics, ST, MVars and STM.
8831
8832This package will never have any dependencies other than \"base\".
8833
8834Versioning policy:
8835
8836The versioning policy of this package deviates from PVP in the sense
8837that its exports in part are transitively determined by the version of \"base\".
8838Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
8839the bounds of \"base\" as well.")
8840 (license license:expat)))
8841
e329bacb 8842(define-public ghc-tuple-th
8843 (package
8844 (name "ghc-tuple-th")
8845 (version "0.2.5")
8846 (source
8847 (origin
8848 (method url-fetch)
8849 (uri (string-append "https://hackage.haskell.org/package/"
8850 "tuple-th-" version "/"
8851 "tuple-th-" version ".tar.gz"))
8852 (sha256
8853 (base32
8854 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
8855 (build-system haskell-build-system)
8856 (home-page "https://github.com/DanielSchuessler/tuple-th")
8857 (synopsis "Generate utility functions for tuples of statically known size
8858for Haskell")
8859 (description "This Haskell package contains Template Haskell functions for
8860generating functions similar to those in @code{Data.List} for tuples of
8861statically known size.")
8862 (license license:bsd-3)))
8863
4562c8c8 8864(define-public ghc-contravariant-extras
8865 (package
8866 (name "ghc-contravariant-extras")
8867 (version "0.3.3.1")
8868 (source
8869 (origin
8870 (method url-fetch)
8871 (uri (string-append "https://hackage.haskell.org/package/"
8872 "contravariant-extras-" version "/"
8873 "contravariant-extras-" version ".tar.gz"))
8874 (sha256
8875 (base32
8876 "1mbrgjybdx8fjdck4ldwi8955w4qnmm0ql56zix7dyn0s7s9spgk"))))
8877 (build-system haskell-build-system)
8878 (inputs `(("ghc-tuple-th" ,ghc-tuple-th)
8879 ("ghc-contravariant" ,ghc-contravariant)
c695fb76 8880 ("ghc-base-prelude" ,ghc-base-prelude)))
4562c8c8 8881 (home-page "https://github.com/nikita-volkov/contravariant-extras")
8882 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
8883 (description "This Haskell package provides extras for the
8884@code{ghc-contravariant} package.")
8885 (license license:expat)))
8886
87129984 8887(define-public ghc-monadrandom
8888 (package
8889 (name "ghc-monadrandom")
8890 (version "0.4.2.3")
8891 (source
8892 (origin
8893 (method url-fetch)
8894 (uri (string-append "https://hackage.haskell.org/package/"
8895 "MonadRandom-" version "/"
8896 "MonadRandom-" version ".tar.gz"))
8897 (sha256
8898 (base32
8899 "1h1nhswrcmhy3mq6vd530p0df51fcnnf4csbwnljar7cf0mb2h6y"))))
8900 (build-system haskell-build-system)
8901 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8902 ("ghc-mtl" ,ghc-mtl)
8903 ("ghc-primitive" ,ghc-primitive)
8904 ("ghc-fail" ,ghc-fail)
8905 ("ghc-random" ,ghc-random)))
8906 (home-page "https://github.com/byorgey/MonadRandom")
8907 (synopsis "Random-number generation monad for Haskell")
8908 (description "This Haskell package provides support for computations
8909which consume random values.")
8910 (license license:bsd-3)))
8911
16d4125e 8912(define-public ghc-either
8913 (package
8914 (name "ghc-either")
8915 (version "4.4.1.1")
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append "https://hackage.haskell.org/package/"
8920 "either-" version "/"
8921 "either-" version ".tar.gz"))
8922 (sha256
8923 (base32
8924 "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh"))))
8925 (build-system haskell-build-system)
8926 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
8927 ("ghc-exceptions" ,ghc-exceptions)
8928 ("ghc-free" ,ghc-free)
8929 ("ghc-monad-control" ,ghc-monad-control)
8930 ("ghc-manodrandom" ,ghc-monadrandom)
8931 ("ghc-mtl" ,ghc-mtl)
8932 ("ghc-mmorph" ,ghc-mmorph)
8933 ("ghc-profunctors" ,ghc-profunctors)
8934 ("ghc-semigroups" ,ghc-semigroups)
8935 ("ghc-semigroupoids" ,ghc-semigroupoids)
8936 ("ghc-transformers-base" ,ghc-transformers-base)))
8937 (home-page "https://github.com/ekmett/either")
8938 (synopsis "Provides an either monad transformer for Haskell")
8939 (description "This Haskell package provides an either monad transformer.")
8940 (license license:bsd-3)))
933e7804 8941
f78ed5d5 8942(define-public ghc-pretty-hex
8943 (package
8944 (name "ghc-pretty-hex")
8945 (version "1.0")
8946 (source
8947 (origin
8948 (method url-fetch)
8949 (uri (string-append "https://hackage.haskell.org/package/"
8950 "pretty-hex-" version "/"
8951 "pretty-hex-" version ".tar.gz"))
8952 (sha256
8953 (base32
8954 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8955 (build-system haskell-build-system)
8956 (home-page "https://github.com/GaloisInc/hexdump")
8957 (synopsis "Haskell library for hex dumps of ByteStrings")
8958 (description "This Haskell library generates pretty hex dumps of
8959ByteStrings in the style of other common *nix hex dump tools.")
8960 (license license:bsd-3)))
8961
6eda2635 8962(define-public ghc-network-info
8963 (package
8964 (name "ghc-network-info")
8965 (version "0.2.0.8")
8966 (source
8967 (origin
8968 (method url-fetch)
8969 (uri (string-append "https://hackage.haskell.org/package/"
8970 "network-info-" version "/"
8971 "network-info-" version ".tar.gz"))
8972 (sha256
8973 (base32
8974 "0xndvg776241fgjmynxfpy81f1csjmh8dg33yf0c8m71ychz3pzc"))))
8975 (build-system haskell-build-system)
8976 (home-page "https://github.com/jystic/network-info")
8977 (synopsis "Access the local computer's basic network configuration")
8978 (description "This Haskell library provides simple read-only access to the
8979local computer's networking configuration. It is currently capable of
8980getting a list of all the network interfaces and their respective
8981IPv4, IPv6 and MAC addresses.")
8982 (license license:bsd-3)))
8983
b999b009 8984(define-public ghc-uuid-types
8985 (package
8986 (name "ghc-uuid-types")
8987 (version "1.0.3")
8988 (source
8989 (origin
8990 (method url-fetch)
8991 (uri (string-append "https://hackage.haskell.org/package/"
8992 "uuid-types-" version "/"
8993 "uuid-types-" version ".tar.gz"))
8994 (sha256
8995 (base32
8996 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
8997 (build-system haskell-build-system)
b1c5c8de 8998 (arguments
d9c36e5b
RW
8999 `(#:configure-flags (list "--allow-newer=QuickCheck"
9000 "--allow-newer=HUnit")))
b999b009 9001 (inputs `(("ghc-hashable" ,ghc-hashable)
9002 ("ghc-random" ,ghc-random)
9003 ("ghc-text" ,ghc-text)))
9004 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9005 ("ghc-quickcheck" ,ghc-quickcheck)
9006 ("ghc-tasty" ,ghc-tasty)
9007 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9008 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9009 (home-page "https://github.com/hvr/uuid")
9010 (synopsis "Haskell type definitions for UUIDs")
9011 (description "This Haskell library contains type definitions for
9012@dfn{Universally Unique Identifiers} or
98b90194 9013@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
b999b009 9014functions.")
9015 (license license:bsd-3)))
9016
24535a3d 9017(define-public ghc-uuid
9018 (package
9019 (name "ghc-uuid")
9020 (version "1.3.13")
9021 (source
9022 (origin
9023 (method url-fetch)
9024 (uri (string-append "https://hackage.haskell.org/package/"
9025 "uuid-" version "/"
9026 "uuid-" version ".tar.gz"))
9027 (sha256
9028 (base32
9029 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
9030 (build-system haskell-build-system)
1debc5b9 9031 (arguments
5c51cdb9
RW
9032 `(#:configure-flags (list "--allow-newer=QuickCheck"
9033 "--allow-newer=HUnit")))
24535a3d 9034 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
9035 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
9036 ("ghc-entropy" ,ghc-entropy)
9037 ("ghc-network-info" ,ghc-network-info)
9038 ("ghc-random" ,ghc-random)
9039 ("ghc-text" ,ghc-text)
9040 ("ghc-uuid-types" ,ghc-uuid-types)))
9041 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9042 ("ghc-quickcheck" ,ghc-quickcheck)
9043 ("ghc-tasty" ,ghc-tasty)
9044 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9045 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9046 (home-page "https://github.com/hvr/uuid")
9047 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
9048 (description "This Haskell library provides utilities creating, comparing,
9049parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
9050 (license license:bsd-3)))
9051
33109c82 9052(define-public ghc-rebase
9053 (package
9054 (name "ghc-rebase")
9055 (version "1.1")
9056 (source
9057 (origin
9058 (method url-fetch)
9059 (uri (string-append "https://hackage.haskell.org/package/"
9060 "rebase-" version "/"
9061 "rebase-" version ".tar.gz"))
9062 (sha256
9063 (base32
9064 "1qkhnpcc4g2vd6jmbf3b6psqkan6hyawqzrwzqdd931hsb02l6ia"))))
9065 (build-system haskell-build-system)
9066 (inputs `(("ghc-stm" ,ghc-stm)
9067 ("ghc-hashable" ,ghc-hashable)
9068 ("ghc-vector" ,ghc-vector)
9069 ("ghc-unordered-containers" ,ghc-unordered-containers)
9070 ("ghc-text" ,ghc-text)
9071 ("ghc-scientific" ,ghc-scientific)
9072 ("ghc-uuid" ,ghc-uuid)
9073 ("ghc-dlist" ,ghc-dlist)
9074 ("ghc-void" ,ghc-void)
9075 ("ghc-bifunctors" ,ghc-bifunctors)
9076 ("ghc-profunctors" ,ghc-profunctors)
9077 ("ghc-contravariant" ,ghc-contravariant)
9078 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9079 ("ghc-semigroups" ,ghc-semigroups)
9080 ("ghc-mtl" ,ghc-mtl)
9081 ("ghc-either" ,ghc-either)
9082 ("ghc-fail" ,ghc-fail)
9083 ("ghc-base-prelude" ,ghc-base-prelude)))
9084 (home-page "https://github.com/nikita-volkov/rebase")
9085 (synopsis "Progressive alternative to the base package
9086for Haskell")
9087 (description "This Haskell package is intended for those who are
9088tired of keeping long lists of dependencies to the same essential libraries
9089in each package as well as the endless imports of the same APIs all over again.
9090
9091It also supports the modern tendencies in the language.
9092
9093To solve those problems this package does the following:
9094
9095@itemize
9096@item Reexport the original APIs under the @code{Rebase} namespace.
9097
9098@item Export all the possible non-conflicting symbols from the
9099@code{Rebase.Prelude} module.
9100
9101@item Give priority to the modern practices in the conflicting cases.
9102@end itemize
9103
9104The policy behind the package is only to reexport the non-ambiguous and
9105non-controversial APIs, which the community has obviously settled on.
9106The package is intended to rapidly evolve with the contribution from
9107the community, with the missing features being added with pull-requests.")
9108 (license license:expat)))
9109
1896a252 9110(define-public ghc-vector-builder
9111 (package
9112 (name "ghc-vector-builder")
9113 (version "0.3.1")
9114 (source
9115 (origin
9116 (method url-fetch)
9117 (uri (string-append "https://hackage.haskell.org/package/"
9118 "vector-builder-" version "/"
9119 "vector-builder-" version ".tar.gz"))
9120 (sha256
9121 (base32
9122 "1l6sfgd2s107zkp1qd1w6jdjcbznp31769qf99pxar087f697wvp"))))
9123 (build-system haskell-build-system)
9124 (inputs `(("ghc-vector" ,ghc-vector)
9125 ("ghc-semigroups" ,ghc-semigroups)
9126 ("ghc-base-prelude" ,ghc-base-prelude)))
9127 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9128 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9129 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9130 ("ghc-hunit" ,ghc-hunit)
9131 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9132 ("ghc-rebase" ,ghc-rebase)))
9133 (home-page "https://github.com/nikita-volkov/vector-builder")
9134 (synopsis "Vector builder for Haskell")
9135 (description "This Haskell package provides an API for constructing vectors.
9136It provides the composable @code{Builder} abstraction, which has instances of the
9137@code{Monoid} and @code{Semigroup} classes.
9138
9139You would first use the @code{Builder} abstraction to specify the structure of
9140the vector; then you can execute the builder to actually produce the
9141vector. ")
9142 (license license:expat)))
9143
f6094850 9144(define-public ghc-foldl
9145 (package
9146 (name "ghc-foldl")
93e8c799 9147 (version "1.3.5")
f6094850 9148 (source
9149 (origin
9150 (method url-fetch)
9151 (uri (string-append "https://hackage.haskell.org/package/"
9152 "foldl-" version "/"
9153 "foldl-" version ".tar.gz"))
9154 (sha256
9155 (base32
93e8c799 9156 "10qsp7dj2xsq4q2xm6x6b12y5pq32qf7my41hnkmdwwbccvhdxb2"))))
f6094850 9157 (build-system haskell-build-system)
9158 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
9159 ("ghc-primitive" ,ghc-primitive)
9160 ("ghc-text" ,ghc-text)
9161 ("ghc-vector" ,ghc-vector)
9162 ("ghc-unordered-containers" ,ghc-unordered-containers)
9163 ("ghc-hashable" ,ghc-hashable)
9164 ("ghc-contravariant" ,ghc-contravariant)
9165 ("ghc-profunctors" ,ghc-profunctors)
9166 ("ghc-comonad" ,ghc-comonad)
9167 ("ghc-vector-builder" ,ghc-vector-builder)))
9168 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
9169 (synopsis "Composable, streaming, and efficient left folds for Haskell")
9170 (description "This Haskell library provides strict left folds that stream
9171in constant memory, and you can combine folds using @code{Applicative} style
9172to derive new folds. Derived folds still traverse the container just once
9173and are often as efficient as hand-written folds.")
9174 (license license:bsd-3)))
9175
ed4cc0c5 9176(define-public ghc-mono-traversable
9177 (package
9178 (name "ghc-mono-traversable")
74b30be0 9179 (version "1.0.9.0")
ed4cc0c5 9180 (source
9181 (origin
9182 (method url-fetch)
9183 (uri (string-append "https://hackage.haskell.org/package/"
9184 "mono-traversable-" version "/"
9185 "mono-traversable-" version ".tar.gz"))
9186 (sha256
9187 (base32
74b30be0 9188 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
ed4cc0c5 9189 (build-system haskell-build-system)
9190 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9191 ("ghc-hashable" ,ghc-hashable)
9192 ("ghc-text" ,ghc-text)
9193 ("ghc-vector" ,ghc-vector)
9194 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9195 ("ghc-split" ,ghc-split)))
9196 (native-inputs `(("ghc-hspec" ,ghc-hspec)
c695fb76 9197 ("ghc-hunit" ,ghc-hunit)
ed4cc0c5 9198 ("ghc-quickcheck" ,ghc-quickcheck)
9199 ("ghc-semigroups" ,ghc-semigroups)
9200 ("ghc-foldl" ,ghc-foldl)))
9201 (home-page "https://github.com/snoyberg/mono-traversable")
9202 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
9203containers")
9204 (description "This Haskell package provides Monomorphic variants of the
9205Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
9206basic typeclasses, you understand mono-traversable. In addition to what
9207you are used to, it adds on an IsSequence typeclass and has code for marking
9208data structures as non-empty.")
9209 (license license:expat)))
9210
95fb25bf 9211(define-public ghc-conduit-combinators
9212 (package
9213 (name "ghc-conduit-combinators")
37d79707 9214 (version "1.3.0")
95fb25bf 9215 (source
9216 (origin
9217 (method url-fetch)
9218 (uri (string-append "https://hackage.haskell.org/package/"
9219 "conduit-combinators-" version "/"
9220 "conduit-combinators-" version ".tar.gz"))
9221 (sha256
9222 (base32
37d79707 9223 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
95fb25bf 9224 (build-system haskell-build-system)
9225 (inputs `(("ghc-conduit" ,ghc-conduit)
9226 ("ghc-conduit-extra" ,ghc-conduit-extra)
9227 ("ghc-transformers-base" ,ghc-transformers-base)
9228 ("ghc-primitive" ,ghc-primitive)
9229 ("ghc-vector" ,ghc-vector)
9230 ("ghc-text" ,ghc-text)
9231 ("ghc-void" ,ghc-void)
9232 ("ghc-mwc-random" ,ghc-mwc-random)
9233 ("ghc-unix-compat" ,ghc-unix-compat)
9234 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9235 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9236 ("ghc-resourcet" ,ghc-resourcet)
9237 ("ghc-monad-control" ,ghc-monad-control)
9238 ("ghc-chunked-data" ,ghc-chunked-data)
9239 ("ghc-mono-traversable" ,ghc-mono-traversable)))
9240 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9241 ("ghc-silently" ,ghc-silently)
9242 ("ghc-mtl" ,ghc-mtl)
9243 ("ghc-safe" ,ghc-safe)
9244 ("ghc-quickcheck" ,ghc-quickcheck)))
9245 (home-page "https://github.com/snoyberg/mono-traversable")
9246 (synopsis "Commonly used conduit functions, for both chunked and
9247unchunked data")
9248 (description "This Haskell package provides a replacement for Data.Conduit.List,
9249as well as a convenient Conduit module.")
9250 (license license:expat)))
9251
3a784700 9252(define-public ghc-aws
9253 (package
9254 (name "ghc-aws")
0faddfc3 9255 (version "0.18")
3a784700 9256 (source
9257 (origin
9258 (method url-fetch)
9259 (uri (string-append "https://hackage.haskell.org/package/"
9260 "aws-" version "/aws-" version ".tar.gz"))
9261 (sha256 (base32
0faddfc3 9262 "0h7473wkvc5xjzx5fd5k5fp70rjq5gqmn1cpy95mswvvfsq3irxj"))))
3a784700 9263 (build-system haskell-build-system)
9264 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
9265 (inputs
9266 `(("ghc-aeson" ,ghc-aeson)
9267 ("ghc-attoparsec" ,ghc-attoparsec)
9268 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9269 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9270 ("ghc-blaze-builder" ,ghc-blaze-builder)
9271 ("ghc-byteable" ,ghc-byteable)
9272 ("ghc-case-insensitive" ,ghc-case-insensitive)
9273 ("ghc-cereal" ,ghc-cereal)
9274 ("ghc-conduit" ,ghc-conduit)
9275 ("ghc-conduit-extra" ,ghc-conduit-extra)
0faddfc3 9276 ("ghc-cryptonite" ,ghc-cryptonite)
3a784700 9277 ("ghc-data-default" ,ghc-data-default)
9278 ("ghc-http-conduit" ,ghc-http-conduit)
9279 ("ghc-http-types" ,ghc-http-types)
9280 ("ghc-monad-control" ,ghc-monad-control)
9281 ("ghc-mtl" ,ghc-mtl)
9282 ("ghc-network" ,ghc-network)
9283 ("ghc-old-locale" ,ghc-old-locale)
9284 ("ghc-safe" ,ghc-safe)
9285 ("ghc-scientific" ,ghc-scientific)
9286 ("ghc-tagged" ,ghc-tagged)
9287 ("ghc-text" ,ghc-text)
9288 ("ghc-unordered-containers" ,ghc-unordered-containers)
9289 ("ghc-utf8-string" ,ghc-utf8-string)
9290 ("ghc-vector" ,ghc-vector)
9291 ("ghc-xml-conduit" ,ghc-xml-conduit)))
9292 (native-inputs
9293 `(("ghc-quickcheck" ,ghc-quickcheck)
9294 ("ghc-errors" ,ghc-errors)
9295 ("ghc-http-client" ,ghc-http-client)
9296 ("ghc-http-client-tls" ,ghc-http-client-tls)
9297 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9298 ("ghc-tasty" ,ghc-tasty)
9299 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9300 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9301 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
9302 (home-page "https://github.com/aristidb/aws")
9303 (synopsis "Amazon Web Services for Haskell")
9304 (description "This package attempts to provide support for using
9305Amazon Web Services like S3 (storage), SQS (queuing) and others to
9306Haskell programmers. The ultimate goal is to support all Amazon
9307Web Services.")
9308 (license license:bsd-3)))
9309
da5fe92a
RW
9310(define-public ghc-basement
9311 (package
9312 (name "ghc-basement")
9313 (version "0.0.7")
9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "https://hackage.haskell.org/package/"
9318 "basement/basement-" version ".tar.gz"))
9319 (sha256
9320 (base32
9321 "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm"))))
9322 (build-system haskell-build-system)
9323 (home-page "https://github.com/haskell-foundation/foundation")
9324 (synopsis "Basic primitives for Foundation starter pack")
9325 (description
9326 "This package contains basic primitives for the Foundation set of
9327packages.")
9328 (license license:bsd-3)))
9329
635cc8fe
RW
9330(define-public ghc-foundation
9331 (package
9332 (name "ghc-foundation")
9333 (version "0.0.20")
9334 (source
9335 (origin
9336 (method url-fetch)
9337 (uri (string-append "https://hackage.haskell.org/package/"
9338 "foundation/foundation-" version ".tar.gz"))
9339 (sha256
9340 (base32
9341 "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms"))))
9342 (build-system haskell-build-system)
9343 (inputs `(("ghc-basement" ,ghc-basement)))
9344 (home-page "https://github.com/haskell-foundation/foundation")
9345 (synopsis "Alternative prelude with batteries and no dependencies")
9346 (description
9347 "This package provides a custom prelude with no dependencies apart from
9348the base package.
9349
9350Foundation has the following goals:
9351
9352@enumerate
9353@item provide a base like sets of modules that provide a consistent set of
9354 features and bugfixes across multiple versions of GHC (unlike base).
9355@item provide a better and more efficient prelude than base's prelude.
9356@item be self-sufficient: no external dependencies apart from base;
9357@item provide better data-types: packed unicode string by default, arrays;
9358@item Numerical classes that better represent mathematical things (no more
9359 all-in-one @code{Num});
9360@item I/O system with less lazy IO.
9361@end enumerate\n")
9362 (license license:bsd-3)))
9363
bb87be09 9364(define-public ghc-stm-chans
9365 (package
9366 (name "ghc-stm-chans")
9367 (version "3.0.0.4")
9368 (source
9369 (origin
9370 (method url-fetch)
9371 (uri (string-append "https://hackage.haskell.org/package/"
9372 "stm-chans-" version "/"
9373 "stm-chans-" version ".tar.gz"))
9374 (sha256
9375 (base32
9376 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9377 (build-system haskell-build-system)
9378 (inputs `(("ghc-stm" ,ghc-stm)))
9379 (home-page "https://hackage.haskell.org/package/stm-chans")
9380 (synopsis "Additional types of channels for ghc-stm")
9381 (description "This Haskell package offers a collection of channel types,
9382similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9383features.")
9384 (license license:bsd-3)))
9385
fddb41f2 9386(define-public ghc-monad-loops
9387 (package
9388 (name "ghc-monad-loops")
9389 (version "0.4.3")
9390 (source
9391 (origin
9392 (method url-fetch)
9393 (uri (string-append "https://hackage.haskell.org/package/"
9394 "monad-loops-" version "/"
9395 "monad-loops-" version ".tar.gz"))
9396 (sha256
9397 (base32
9398 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
9399 (build-system haskell-build-system)
9400 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9401 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9402 (home-page "https://github.com/mokus0/monad-loops")
9403 (synopsis "Monadic loops for Haskell")
9404 (description "This Haskell package provides some useful control
9405operators for looping.")
9406 (license license:public-domain)))
9407
fe9b5eff 9408(define-public ghc-monad-logger
9409 (package
9410 (name "ghc-monad-logger")
9411 (version "0.3.25.1")
9412 (source
9413 (origin
9414 (method url-fetch)
9415 (uri (string-append "https://hackage.haskell.org/package/"
9416 "monad-logger-" version "/"
9417 "monad-logger-" version ".tar.gz"))
9418 (sha256
9419 (base32
9420 "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920"))))
9421 (build-system haskell-build-system)
9422 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
9423 ("ghc-text" ,ghc-text)
9424 ("ghc-stm" ,ghc-stm)
9425 ("ghc-stm-chans" ,ghc-stm-chans)
9426 ("ghc-lifted-base" ,ghc-lifted-base)
9427 ("ghc-resourcet" ,ghc-resourcet)
9428 ("ghc-conduit" ,ghc-conduit)
9429 ("ghc-conduit-extra" ,ghc-conduit-extra)
9430 ("ghc-fast-logger" ,ghc-fast-logger)
9431 ("ghc-transformers-base" ,ghc-transformers-base)
9432 ("ghc-monad-control" ,ghc-monad-control)
9433 ("ghc-monad-loops" ,ghc-monad-loops)
9434 ("ghc-mtl" ,ghc-mtl)
9435 ("ghc-blaze-builder" ,ghc-blaze-builder)
9436 ("ghc-exceptions" ,ghc-exceptions)))
9437 (home-page "https://github.com/kazu-yamamoto/logger")
9438 (synopsis "Provides a class of monads which can log messages for Haskell")
9439 (description "This Haskell package uses a monad transformer approach
9440for logging.
9441
9442This package provides Template Haskell functions for determining source
9443code locations of messages.")
9444 (license license:expat)))
9445
b2b4575d 9446(define-public ghc-shakespeare
9447 (package
9448 (name "ghc-shakespeare")
9449 (version "2.0.14")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append "https://hackage.haskell.org/package/"
9454 "shakespeare-" version "/"
9455 "shakespeare-" version ".tar.gz"))
9456 (sha256
9457 (base32
9458 "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4"))))
9459 (build-system haskell-build-system)
9460 (inputs `(("ghc-parsec" ,ghc-parsec)
9461 ("ghc-text" ,ghc-text)
9462 ("ghc-aeson" ,ghc-aeson)
9463 ("ghc-blaze-markup" ,ghc-blaze-markup)
9464 ("ghc-blaze-html" ,ghc-blaze-html)
9465 ("ghc-exceptions" ,ghc-exceptions)
9466 ("ghc-vector" ,ghc-vector)
9467 ("ghc-unordered-containers" ,ghc-unordered-containers)
9468 ("ghc-scientific" ,ghc-scientific)))
9469 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9470 ("ghc-hunit" ,ghc-hunit)
9471 ("hspec-discover" ,hspec-discover)))
9472 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9473 (synopsis "Family of type-safe template languages for Haskell")
9474 (description "This Haskell package provides a family of type-safe
9475templates with simple variable interpolation. Shakespeare templates can
9476be used inline with a quasi-quoter or in an external file and it
9477interpolates variables according to the type being inserted.")
9478 (license license:expat)))
9479
54f3536d 9480(define-public ghc-securemem
9481 (package
9482 (name "ghc-securemem")
9483 (version "0.1.9")
9484 (source
9485 (origin
9486 (method url-fetch)
9487 (uri (string-append "https://hackage.haskell.org/package/"
9488 "securemem-" version "/"
9489 "securemem-" version ".tar.gz"))
9490 (sha256
9491 (base32
9492 "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy"))))
9493 (build-system haskell-build-system)
9494 (inputs `(("ghc-byteable" ,ghc-byteable)
9495 ("ghc-memory" ,ghc-memory)))
9496 (home-page "https://github.com/vincenthz/hs-securemem")
9497 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9498Haskell")
9499 (description "SecureMem is similar to ByteString, except that it provides
9500a memory chunk that will be auto-scrubbed after it run out of scope.")
9501 (license license:bsd-3)))
9502
d96a1bfe 9503(define-public ghc-resource-pool
9504 (package
9505 (name "ghc-resource-pool")
9506 (version "0.2.3.2")
9507 (source
9508 (origin
9509 (method url-fetch)
9510 (uri (string-append "https://hackage.haskell.org/package/"
9511 "resource-pool-" version "/"
9512 "resource-pool-" version ".tar.gz"))
9513 (sha256
9514 (base32
9515 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9516 (build-system haskell-build-system)
9517 (inputs `(("ghc-hashable" ,ghc-hashable)
9518 ("ghc-monad-control" ,ghc-monad-control)
9519 ("ghc-transformers-base" ,ghc-transformers-base)
9520 ("ghc-stm" ,ghc-stm)
9521 ("ghc-vector" ,ghc-vector)))
9522 (home-page "https://github.com/bos/pool")
9523 (synopsis "Striped resource pooling implementation in Haskell")
9524 (description "This Haskell package provides striped pooling abstraction
9525for managing flexibly-sized collections of resources such as database
9526connections.")
9527 (license license:bsd-3)))
9528
ac7cdb40 9529(define-public ghc-attoparsec-iso8601
9530 (package
9531 (name "ghc-attoparsec-iso8601")
9532 (version "1.0.0.0")
9533 (source
9534 (origin
9535 (method url-fetch)
9536 (uri (string-append "https://hackage.haskell.org/package/"
9537 "attoparsec-iso8601-" version "/"
9538 "attoparsec-iso8601-" version ".tar.gz"))
9539 (sha256
9540 (base32
9541 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
9542 (build-system haskell-build-system)
9543 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9544 ("ghc-base-compat" ,ghc-base-compat)
9545 ("ghc-text" ,ghc-text)))
9546 (home-page "https://github.com/bos/aeson")
9547 (synopsis "Parse ISO 8601 dates")
9548 (description "Haskell library for parsing of ISO 8601 dates, originally
9549from aeson.")
9550 (license license:bsd-3)))
9551
e99bd15c 9552(define-public ghc-generics-sop
9553 (package
9554 (name "ghc-generics-sop")
9555 (version "0.3.1.0")
9556 (source
9557 (origin
9558 (method url-fetch)
9559 (uri (string-append "https://hackage.haskell.org/package/"
9560 "generics-sop-" version "/"
9561 "generics-sop-" version ".tar.gz"))
9562 (sha256
9563 (base32
9564 "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
9565 (build-system haskell-build-system)
9566 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9567 (home-page "https://github.com/well-typed/generics-sop")
9568 (synopsis "Generic Programming using True Sums of Products for Haskell")
9569 (description "This Haskell package supports the definition of generic
9570functions. Datatypes are viewed in a uniform, structured way: the choice
9571between constructors is represented using an n-ary sum, and the arguments of
9572each constructor are represented using an n-ary product.")
9573 (license license:bsd-3)))
9574
8ecefe72 9575(define-public ghc-uri-bytestring
9576 (package
9577 (name "ghc-uri-bytestring")
9578 (version "0.3.1.0")
9579 (source
9580 (origin
9581 (method url-fetch)
9582 (uri (string-append "https://hackage.haskell.org/package/"
9583 "uri-bytestring-" version "/"
9584 "uri-bytestring-" version ".tar.gz"))
9585 (sha256
9586 (base32
9587 "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9"))))
9588 (build-system haskell-build-system)
9589 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9590 ("ghc-fail" ,ghc-fail)
9591 ("ghc-blaze-builder" ,ghc-blaze-builder)
9592 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
9593 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9594 ("ghc-hunit" ,ghc-hunit)
9595 ("ghc-quickcheck" ,ghc-quickcheck)
9596 ("ghc-tasty" ,ghc-tasty)
9597 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9598 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9599 ("ghc-base-compat" ,ghc-base-compat)
9600 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9601 ("ghc-semigroups" ,ghc-semigroups)
9602 ("ghc-generics-sop" ,ghc-generics-sop)))
9603 (home-page "https://github.com/Soostone/uri-bytestring")
9604 (synopsis "Haskell URI parsing as ByteStrings")
9605 (description "This Haskell package aims to be an RFC3986 compliant URI
9606parser that uses ByteStrings for parsing and representing the URI data.")
9607 (license license:bsd-3)))
9608
b6d8ea42 9609(define-public ghc-http-api-data
9610 (package
9611 (name "ghc-http-api-data")
9612 (version "0.3.7.1")
9613 (source
9614 (origin
9615 (method url-fetch)
9616 (uri (string-append "https://hackage.haskell.org/package/"
9617 "http-api-data-" version "/"
9618 "http-api-data-" version ".tar.gz"))
9619 (sha256
9620 (base32
9621 "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc"))))
9622 (build-system haskell-build-system)
9623 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
9624 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9625 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
9626 ("ghc-hashable" ,ghc-hashable)
9627 ("ghc-http-types" ,ghc-http-types)
9628 ("ghc-text" ,ghc-text)
9629 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9630 ("ghc-unordered-containers" ,ghc-unordered-containers)
9631 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
9632 ("ghc-uuid-types" ,ghc-uuid-types)))
9633 (home-page "https://github.com/fizruk/http-api-data")
9634 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
9635query parameters")
9636 (description "This Haskell package defines typeclasses used for converting
9637Haskell data types to and from HTTP API data.")
9638 (license license:bsd-3)))
9639
104e179d 9640(define-public ghc-persistent
9641 (package
9642 (name "ghc-persistent")
9643 (version "2.7.3.1")
9644 (source
9645 (origin
9646 (method url-fetch)
9647 (uri (string-append "https://hackage.haskell.org/package/"
9648 "persistent-" version "/"
9649 "persistent-" version ".tar.gz"))
9650 (sha256
9651 (base32
9652 "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
9653 (build-system haskell-build-system)
9654 (inputs `(("ghc-old-locale" ,ghc-old-locale)
9655 ("ghc-text" ,ghc-text)
9656 ("ghc-conduit" ,ghc-conduit)
9657 ("ghc-resourcet" ,ghc-resourcet)
9658 ("ghc-exceptions" ,ghc-exceptions)
9659 ("ghc-monad-control" ,ghc-monad-control)
9660 ("ghc-lifted-base" ,ghc-lifted-base)
9661 ("ghc-resource-pool" ,ghc-resource-pool)
9662 ("ghc-path-pieces" ,ghc-path-pieces)
9663 ("ghc-http-api-data" ,ghc-http-api-data)
9664 ("ghc-aeson" ,ghc-aeson)
9665 ("ghc-monad-logger" ,ghc-monad-logger)
9666 ("ghc-transformers-base" ,ghc-transformers-base)
9667 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9668 ("ghc-unordered-containers" ,ghc-unordered-containers)
9669 ("ghc-vector" ,ghc-vector)
9670 ("ghc-attoparsec" ,ghc-attoparsec)
9671 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
9672 ("ghc-blaze-html" ,ghc-blaze-html)
9673 ("ghc-blaze-markup" ,ghc-blaze-markup)
9674 ("ghc-silently" ,ghc-silently)
9675 ("ghc-mtl" ,ghc-mtl)
9676 ("ghc-fast-logger" ,ghc-fast-logger)
9677 ("ghc-scientific" ,ghc-scientific)
9678 ("ghc-tagged" ,ghc-tagged)))
9679 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9680 (home-page "https://www.yesodweb.com/book/persistent")
9681 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9682 (description "This Haskell package allows Haskell programs to access data
9683storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9684way.")
9685 (license license:expat)))
9686
0f163f65 9687(define-public ghc-aeson-compat
9688 (package
9689 (name "ghc-aeson-compat")
9690 (version "0.3.7.1")
9691 (source
9692 (origin
9693 (method url-fetch)
9694 (uri (string-append "https://hackage.haskell.org/package/"
9695 "aeson-compat-" version "/"
9696 "aeson-compat-" version ".tar.gz"))
9697 (sha256
9698 (base32
9699 "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r"))))
9700 (build-system haskell-build-system)
9701 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
9702 (inputs `(("ghc-base-compat" ,ghc-base-compat)
9703 ("ghc-aeson" ,ghc-aeson)
9704 ("ghc-attoparsec" ,ghc-attoparsec)
9705 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
9706 ("ghc-exceptions" ,ghc-exceptions)
9707 ("ghc-hashable" ,ghc-hashable)
9708 ("ghc-scientific" ,ghc-scientific)
9709 ("ghc-text" ,ghc-text)
9710 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9711 ("ghc-unordered-containers" ,ghc-unordered-containers)
9712 ("ghc-vector" ,ghc-vector)
9713 ("ghc-tagged" ,ghc-tagged)
9714 ("ghc-semigroups" ,ghc-semigroups)
9715 ("ghc-nats" ,ghc-nats)))
9716 (home-page "https://github.com/phadej/aeson-compat")
9717 (synopsis "Compatibility layer for ghc-aeson")
9718 (description "This Haskell package provides compatibility layer for
9719ghc-aeson.")
9720 (license license:bsd-3)))
9721
8434594d 9722(define-public ghc-persistent-template
9723 (package
9724 (name "ghc-persistent-template")
9725 (version "2.5.3.1")
9726 (source
9727 (origin
9728 (method url-fetch)
9729 (uri (string-append "https://hackage.haskell.org/package/"
9730 "persistent-template-" version "/"
9731 "persistent-template-" version ".tar.gz"))
9732 (sha256
9733 (base32
9734 "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
9735 (build-system haskell-build-system)
9736 (inputs `(("ghc-persistent" ,ghc-persistent)
9737 ("ghc-monad-control" ,ghc-monad-control)
9738 ("ghc-text" ,ghc-text)
9739 ("ghc-aeson" ,ghc-aeson)
9740 ("ghc-aeson-compat" ,ghc-aeson-compat)
9741 ("ghc-monad-logger" ,ghc-monad-logger)
9742 ("ghc-unordered-containers" ,ghc-unordered-containers)
9743 ("ghc-tagged" ,ghc-tagged)
9744 ("ghc-path-pieces" ,ghc-path-pieces)
9745 ("ghc-http-api-data" ,ghc-http-api-data)))
9746 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9747 ("ghc-quickcheck" ,ghc-quickcheck)))
9748 (home-page "https://www.yesodweb.com/book/persistent")
9749 (synopsis "Type-safe, non-relational, multi-backend persistence")
9750 (description "This Haskell package provides interfaces and helper
9751functions for the ghc-persistent package.")
9752 (license license:expat)))
9753
d5c34f9b 9754(define-public ghc-unliftio-core
9755 (package
9756 (name "ghc-unliftio-core")
9757 (version "0.1.1.0")
9758 (source
9759 (origin
9760 (method url-fetch)
9761 (uri (string-append "https://hackage.haskell.org/package/"
9762 "unliftio-core-" version "/"
9763 "unliftio-core-" version ".tar.gz"))
9764 (sha256
9765 (base32
9766 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
9767 (build-system haskell-build-system)
9768 (home-page
9769 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
9770 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
9771 (description "This Haskell package provides the core @code{MonadUnliftIO}
9772typeclass, instances for base and transformers, and basic utility
9773functions.")
9774 (license license:expat)))
9775
1c225fab 9776(define-public ghc-microlens
9777 (package
9778 (name "ghc-microlens")
9779 (version "0.4.8.3")
9780 (source
9781 (origin
9782 (method url-fetch)
9783 (uri (string-append "https://hackage.haskell.org/package/"
9784 "microlens-" version "/"
9785 "microlens-" version ".tar.gz"))
9786 (sha256
9787 (base32
9788 "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k"))))
9789 (build-system haskell-build-system)
9790 (home-page
9791 "https://github.com/aelve/microlens")
9792 (synopsis "Provides a tiny lens Haskell library with no dependencies")
9793 (description "This Haskell package provides a lens library, just like
9794@code{ghc-lens}, but smaller. It provides essential lenses and
9795traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
9796nice to have (like @code{each}, @code{at}, and @code{ix}), and some
9797combinators (like @code{failing} and @code{singular}), but everything else is
9798stripped. As the result, this package has no dependencies.")
9799 (license license:bsd-3)))
9800
82e0b0e2 9801(define-public ghc-microlens-th
9802 (package
9803 (name "ghc-microlens-th")
9804 (version "0.4.1.3")
9805 (source
9806 (origin
9807 (method url-fetch)
9808 (uri (string-append "https://hackage.haskell.org/package/"
9809 "microlens-th-" version "/"
9810 "microlens-th-" version ".tar.gz"))
9811 (sha256
9812 (base32
9813 "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f"))))
9814 (build-system haskell-build-system)
9815 (inputs `(("ghc-microlens" ,ghc-microlens)))
9816 (home-page
9817 "https://github.com/aelve/microlens")
9818 (synopsis "Automatic generation of record lenses for
9819@code{ghc-microlens}")
9820 (description "This Haskell package lets you automatically generate lenses
9821for data types; code was extracted from the lens package, and therefore
9822generated lenses are fully compatible with ones generated by lens (and can be
9823used both from lens and microlens).")
9824 (license license:bsd-3)))
9825
e85c58ed 9826(define-public ghc-unliftio
9827 (package
9828 (name "ghc-unliftio")
9829 (version "0.2.4.0")
9830 (source
9831 (origin
9832 (method url-fetch)
9833 (uri (string-append
9834 "https://hackage.haskell.org/package/unliftio/unliftio-"
9835 version
9836 ".tar.gz"))
9837 (sha256
9838 (base32
9839 "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z"))))
9840 (build-system haskell-build-system)
9841 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
9842 (inputs
9843 `(("ghc-async" ,ghc-async)
9844 ("ghc-stm" ,ghc-stm)
9845 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9846 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9847 (home-page "https://github.com/fpco/unliftio")
9848 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
9849IO (batteries included)")
9850 (description "This Haskell package provides the core @code{MonadUnliftIO}
9851typeclass, a number of common instances, and a collection of common functions
9852working with it.")
9853 (license license:expat)))
9854
e01a8fcc 9855(define-public ghc-persistent-sqlite
9856 (package
9857 (name "ghc-persistent-sqlite")
9858 (version "2.6.4")
9859 (source
9860 (origin
9861 (method url-fetch)
9862 (uri (string-append "https://hackage.haskell.org/package/"
9863 "persistent-sqlite-" version "/"
9864 "persistent-sqlite-" version ".tar.gz"))
9865 (sha256
9866 (base32
9867 "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
9868 (build-system haskell-build-system)
9869 (inputs `(("ghc-persistent" ,ghc-persistent)
9870 ("ghc-unliftio-core" ,ghc-unliftio-core)
9871 ("ghc-aeson" ,ghc-aeson)
9872 ("ghc-conduit" ,ghc-conduit)
9873 ("ghc-monad-logger" ,ghc-monad-logger)
9874 ("ghc-microlens-th" ,ghc-microlens-th)
9875 ("ghc-resourcet" ,ghc-resourcet)
9876 ("ghc-old-locale" ,ghc-old-locale)
9877 ("ghc-resource-pool" ,ghc-resource-pool)
9878 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9879 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9880 ("ghc-persistent-template" ,ghc-persistent-template)
9881 ("ghc-temporary" ,ghc-temporary)
9882 ("ghc-text" ,ghc-text)))
9883 (home-page
9884 "https://www.yesodweb.com/book/persistent")
9885 (synopsis "Backend for the persistent library using sqlite3")
9886 (description "This Haskell package includes a thin sqlite3 wrapper based
9887on the direct-sqlite package, as well as the entire C library, so there are no
9888system dependencies.")
9889 (license license:expat)))
9890
b50e1c89 9891(define-public ghc-email-validate
9892 (package
9893 (name "ghc-email-validate")
9894 (version "2.3.2.1")
9895 (source
9896 (origin
9897 (method url-fetch)
9898 (uri (string-append
9899 "https://hackage.haskell.org/package/"
9900 "email-validate/email-validate-"
9901 version
9902 ".tar.gz"))
9903 (sha256
9904 (base32
9905 "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav"))))
9906 (build-system haskell-build-system)
9907 (inputs
9908 `(("ghc-attoparsec" ,ghc-attoparsec)
9909 ("ghc-hspec" ,ghc-hspec)
9910 ("ghc-quickcheck" ,ghc-quickcheck)
9911 ("ghc-doctest" ,ghc-doctest)))
9912 (home-page
9913 "https://github.com/Porges/email-validate-hs")
9914 (synopsis "Email address validator for Haskell")
9915 (description
9916 "This Haskell package provides a validator that can validate an email
9917address string against RFC 5322.")
9918 (license license:bsd-3)))
9919
6c4ae173 9920(define-public ghc-semigroupoids-5.2.2
e5d92c1c 9921 (package
6c4ae173
T
9922 (inherit ghc-semigroupoids)
9923 (name "ghc-semigroupoids")
9924 (version "5.2.2")
9925 (source (origin
9926 (method url-fetch)
9927 (uri (string-append "https://hackage.haskell.org/package/"
9928 "semigroupoids-" version "/semigroupoids-"
9929 version ".tar.gz"))
9930 (sha256
9931 (base32
9932 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9933 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9934 ,@(package-inputs ghc-semigroupoids)))))
e5d92c1c 9935
dea5c0b8 9936(define-public ghc-bytes
7d4e377f 9937 (package
dea5c0b8
T
9938 (name "ghc-bytes")
9939 (version "0.15.4")
7d4e377f
T
9940 (source
9941 (origin
9942 (method url-fetch)
9943 (uri
dea5c0b8
T
9944 (string-append "https://hackage.haskell.org/package/bytes-"
9945 version "/bytes-"
7d4e377f
T
9946 version ".tar.gz"))
9947 (file-name (string-append name "-" version ".tar.gz"))
9948 (sha256
9949 (base32
dea5c0b8 9950 "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm"))))
7d4e377f 9951 (build-system haskell-build-system)
dea5c0b8
T
9952 (inputs `(("ghc-cereal" ,ghc-cereal)
9953 ("cabal-doctest" ,cabal-doctest)
9954 ("ghc-doctest" ,ghc-doctest-0.13)
9955 ("ghc-mtl" ,ghc-mtl)
9956 ("ghc-scientific" ,ghc-scientific)
9957 ("ghc-text" ,ghc-text)
9958 ("ghc-transformers-compat" ,ghc-transformers-compat)
9959 ("ghc-unordered-containers" ,ghc-unordered-containers)
9960 ("ghc-void" ,ghc-void)
9961 ("ghc-vector" ,ghc-vector)))
9962 (synopsis "Serialization between @code{binary} and @code{cereal}")
9963 (description "This package provides a simple compatibility shim that lets
9964you work with both @code{binary} and @code{cereal} with one chunk of
9965serialization code.")
9966 (home-page "https://hackage.haskell.org/package/bytes")
7d4e377f
T
9967 (license license:bsd-3)))
9968
4e5d9bf2
TS
9969(define-public ghc-disk-free-space
9970 (package
9971 (name "ghc-disk-free-space")
9972 (version "0.1.0.1")
9973 (source
9974 (origin
9975 (method url-fetch)
9976 (uri (string-append "https://hackage.haskell.org/package/"
9977 "disk-free-space/disk-free-space-"
9978 version ".tar.gz"))
9979 (sha256
9980 (base32
9981 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
9982 (build-system haskell-build-system)
9983 (home-page "https://github.com/redneb/disk-free-space")
9984 (synopsis "Retrieve information about disk space usage")
9985 (description "A cross-platform library for retrieving information about
9986disk space usage.")
9987 (license license:bsd-3)))
9988
66413378
DM
9989(define-public ghc-xdg-basedir
9990 (package
9991 (name "ghc-xdg-basedir")
9992 (version "0.2.2")
9993 (source
9994 (origin
9995 (method url-fetch)
9996 (uri (string-append
9997 "https://hackage.haskell.org/package/xdg-basedir/"
9998 "xdg-basedir-" version ".tar.gz"))
9999 (sha256
10000 (base32
10001 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
10002 (build-system haskell-build-system)
10003 (home-page "http://github.com/willdonnelly/xdg-basedir")
10004 (synopsis "XDG Base Directory library for Haskell")
10005 (description "This package provides a library implementing the XDG Base Directory spec.")
10006 (license license:bsd-3)))
10007
19395aec
RW
10008(define-public ghc-errorcall-eq-instance
10009 (package
10010 (name "ghc-errorcall-eq-instance")
10011 (version "0.3.0")
10012 (source
10013 (origin
10014 (method url-fetch)
10015 (uri (string-append "https://hackage.haskell.org/package/"
10016 "errorcall-eq-instance/errorcall-eq-instance-"
10017 version ".tar.gz"))
10018 (sha256
10019 (base32
10020 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
10021 (build-system haskell-build-system)
10022 (inputs
10023 `(("ghc-base-orphans" ,ghc-base-orphans)))
10024 (native-inputs
10025 `(("ghc-quickcheck" ,ghc-quickcheck)
10026 ("ghc-hspec" ,ghc-hspec)
10027 ("hspec-discover" ,hspec-discover)))
10028 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
10029 (synopsis "Orphan Eq instance for ErrorCall")
10030 (description
10031 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
10032This package provides an orphan instance.")
10033 (license license:expat)))
10034
ea6ffd3c
RW
10035(define-public ghc-missingh
10036 (package
10037 (name "ghc-missingh")
10038 (version "1.4.0.1")
10039 (source
10040 (origin
10041 (method url-fetch)
10042 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
10043 "MissingH-" version ".tar.gz"))
10044 (sha256
10045 (base32
10046 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
10047 (build-system haskell-build-system)
10048 ;; Tests require the unmaintained testpack package, which depends on the
10049 ;; outdated QuickCheck version 2.7, which can no longer be built with
10050 ;; recent versions of GHC and Haskell libraries.
10051 (arguments '(#:tests? #f))
10052 (inputs
10053 `(("ghc-network" ,ghc-network)
10054 ("ghc-parsec" ,ghc-parsec)
10055 ("ghc-mtl" ,ghc-mtl)
10056 ("ghc-hunit" ,ghc-hunit)
10057 ("ghc-regex-compat" ,ghc-regex-compat)
10058 ("ghc-hslogger" ,ghc-hslogger)
10059 ("ghc-random" ,ghc-random)
10060 ("ghc-old-time" ,ghc-old-time)
10061 ("ghc-old-locale" ,ghc-old-locale)))
10062 (native-inputs
10063 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
10064 ("ghc-quickcheck" ,ghc-quickcheck)
10065 ("ghc-hunit" ,ghc-hunit)))
10066 (home-page "http://software.complete.org/missingh")
10067 (synopsis "Large utility library")
10068 (description
10069 "MissingH is a library of all sorts of utility functions for Haskell
10070programmers. It is written in pure Haskell and thus should be extremely
10071portable and easy to use.")
10072 (license license:bsd-3)))
10073
657d220d
RW
10074(define-public ghc-intervalmap
10075 (package
10076 (name "ghc-intervalmap")
10077 (version "0.6.0.0")
10078 (source
10079 (origin
10080 (method url-fetch)
10081 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
10082 "IntervalMap-" version ".tar.gz"))
10083 (sha256
10084 (base32
10085 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
10086 (build-system haskell-build-system)
10087 (native-inputs
10088 `(("ghc-quickcheck" ,ghc-quickcheck)))
10089 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
10090 (synopsis "Containers for intervals, with efficient search")
10091 (description
10092 "This package provides ordered containers of intervals, with efficient
10093search for all keys containing a point or overlapping an interval. See the
10094example code on the home page for a quick introduction.")
10095 (license license:bsd-3)))
10096
2e72967b
RW
10097(define-public ghc-operational
10098 (package
10099 (name "ghc-operational")
10100 (version "0.2.3.5")
10101 (source
10102 (origin
10103 (method url-fetch)
10104 (uri (string-append "https://hackage.haskell.org/package/operational/"
10105 "operational-" version ".tar.gz"))
10106 (sha256
10107 (base32
10108 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
10109 (build-system haskell-build-system)
10110 (inputs
10111 `(("ghc-mtl" ,ghc-mtl)
10112 ("ghc-random" ,ghc-random)))
10113 (home-page "http://wiki.haskell.org/Operational")
10114 (synopsis "Implementation of difficult monads made easy with operational semantics")
10115 (description
10116 "This library makes it easy to implement monads with tricky control
10117flow. This is useful for: writing web applications in a sequential style,
10118programming games with a uniform interface for human and AI players and easy
10119replay capababilities, implementing fast parser monads, designing monadic
10120DSLs, etc.")
10121 (license license:bsd-3)))
10122
cd447603
RW
10123(define-public ghc-gtk2hs-buildtools
10124 (package
10125 (name "ghc-gtk2hs-buildtools")
10126 (version "0.13.4.0")
10127 (source
10128 (origin
10129 (method url-fetch)
10130 (uri (string-append "https://hackage.haskell.org/package/"
10131 "gtk2hs-buildtools/gtk2hs-buildtools-"
10132 version ".tar.gz"))
10133 (sha256
10134 (base32
10135 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
10136 (build-system haskell-build-system)
10137 (inputs
10138 `(("ghc-random" ,ghc-random)
10139 ("ghc-hashtables" ,ghc-hashtables)))
10140 (native-inputs
10141 `(("ghc-alex" ,ghc-alex)
10142 ("ghc-happy" ,ghc-happy)))
10143 (home-page "http://projects.haskell.org/gtk2hs/")
10144 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
10145 (description
10146 "This package provides a set of helper programs necessary to build the
10147Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
10148that is used to generate FFI declarations, a tool to build a type hierarchy
10149that mirrors the C type hierarchy of GObjects found in glib, and a generator
10150for signal declarations that are used to call back from C to Haskell. These
10151tools are not needed to actually run Gtk2Hs programs.")
10152 (license license:gpl2)))
10153
42744c1d
RW
10154(define-public ghc-chart
10155 (package
10156 (name "ghc-chart")
10157 (version "1.8.3")
10158 (source
10159 (origin
10160 (method url-fetch)
10161 (uri (string-append "https://hackage.haskell.org/package/Chart/"
10162 "Chart-" version ".tar.gz"))
10163 (sha256
10164 (base32
10165 "13s64fhb2pmkdmx5bkgbgcn25qjihs364fvr47a1dw25f804kiy1"))))
10166 (build-system haskell-build-system)
10167 (inputs
10168 `(("ghc-old-locale" ,ghc-old-locale)
10169 ("ghc-mtl" ,ghc-mtl)
10170 ("ghc-lens" ,ghc-lens)
10171 ("ghc-colour" ,ghc-colour)
10172 ("ghc-data-default-class" ,ghc-data-default-class)
10173 ("ghc-operational" ,ghc-operational)
10174 ("ghc-vector" ,ghc-vector)))
10175 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10176 (synopsis "Library for generating 2D charts and plots")
10177 (description
10178 "This package provides a library for generating 2D charts and plots, with
10179backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
10180 (license license:bsd-3)))
10181
9c4b522f
AI
10182(define-public ghc-wcwidth
10183 (package
10184 (name "ghc-wcwidth")
10185 (version "0.0.2")
10186 (source
10187 (origin
10188 (method url-fetch)
10189 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
10190 version ".tar.gz"))
10191 (sha256
10192 (base32
10193 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
10194 (build-system haskell-build-system)
10195 (inputs
10196 `(("ghc-setlocale" ,ghc-setlocale)
10197 ("ghc-utf8-string" ,ghc-utf8-string)
3ad6b890 10198 ("ghc-attoparsec-bootstrap" ,ghc-attoparsec-bootstrap)))
9c4b522f
AI
10199 (home-page "https://github.com/solidsnack/wcwidth/")
10200 (synopsis "Haskell bindings to wcwidth")
10201 (description "This package provides Haskell bindings to your system's
10202native wcwidth and a command line tool to examine the widths assigned by it.
10203The command line tool can compile a width table to Haskell code that assigns
10204widths to the Char type.")
10205 (license license:bsd-3)))
10206
246b3437 10207;;; haskell.scm ends here