gnu: Add ghc-cereal-conduit.
[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)
7df25c77 46 #:use-module (gnu packages gtk)
a06b9b50 47 #:use-module (gnu packages haskell-check)
f24eba89 48 #:use-module (gnu packages haskell-crypto)
44b7374a 49 #:use-module (gnu packages haskell-web)
c0d5b645 50 #:use-module (gnu packages libffi)
a7101996 51 #:use-module (gnu packages linux)
95e654ae 52 #:use-module (gnu packages lisp)
ac5d633a 53 #:use-module (gnu packages lua)
95595618 54 #:use-module (gnu packages maths)
246b3437
FB
55 #:use-module (gnu packages multiprecision)
56 #:use-module (gnu packages ncurses)
b10f7be3 57 #:use-module (gnu packages pcre)
c0d5b645
DC
58 #:use-module (gnu packages perl)
59 #:use-module (gnu packages pkg-config)
60 #:use-module (gnu packages python)
61 #:use-module (gnu packages sdl)
587d1752 62 #:use-module (gnu packages tls)
793bcc19 63 #:use-module (gnu packages xml)
c0d5b645 64 #:use-module (gnu packages xorg)
c0d5b645
DC
65 #:use-module (guix build-system gnu)
66 #:use-module (guix build-system haskell)
67 #:use-module (guix download)
ee719fba 68 #:use-module (guix git-download)
c0d5b645
DC
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages)
71 #:use-module (guix utils)
8e3149ee
RW
72 #:use-module (ice-9 regex)
73 #:use-module ((srfi srfi-1) #:select (alist-delete)))
246b3437 74
95e654ae
RW
75(define-public cl-yale-haskell
76 (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
77 (revision "1"))
78 (package
79 (name "cl-yale-haskell")
80 (version (string-append "2.0.5-" revision "." (string-take commit 9)))
81 (source (origin
82 (method git-fetch)
83 (uri (git-reference
98b90194 84 (url "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
85 (commit commit)))
86 (file-name (string-append "yale-haskell-" commit "-checkout"))
87 (sha256
88 (base32
89 "0bal3m6ryrjamz5p93bhs9rp5msk8k7lpcqr44wd7xs9b9k8w74g"))))
90 (build-system gnu-build-system)
91 (arguments
92 `(#:tests? #f ; no tests
93 ;; Stripping binaries leads to a broken executable lisp system image.
94 #:strip-binaries? #f
95 #:make-flags
96 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
97 #:phases
98 (modify-phases %standard-phases
99 (replace 'configure
100 (lambda _
101 (setenv "PRELUDE" "./progs/prelude")
102 (setenv "HASKELL_LIBRARY" "./progs/lib")
103 (setenv "PRELUDEBIN" "./progs/prelude/clisp")
104 (setenv "HASKELLPROG" "./bin/clisp-haskell")
105 #t)))))
106 (inputs
107 `(("clisp" ,clisp)))
98b90194 108 (home-page "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
109 (synopsis "Port of the Yale Haskell system to CLISP")
110 (description "This package provides the Yale Haskell system running on
111top of CLISP.")
112 (license license:bsd-4))))
113
5868a8bf 114(define ghc-bootstrap-x86_64-7.8.4
246b3437
FB
115 (origin
116 (method url-fetch)
5868a8bf
FB
117 (uri
118 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
246b3437
FB
119 (sha256
120 (base32
5868a8bf
FB
121 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
122
123(define ghc-bootstrap-i686-7.8.4
124 (origin
125 (method url-fetch)
126 (uri
127 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
128 (sha256
129 (base32
130 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
246b3437
FB
131
132;; 43 tests out of 3965 fail.
133;;
134;; Most of them do not appear to be serious:
135;;
136;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
137;; figured out how these references are generated.
138;;
139;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
140;;
141;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
142;; Data.Vector, Control.Monad.State.
143;;
144;; - Test posix010 tries to check the existence of a user on the system:
145;; getUserEntryForName: does not exist (no such user)
e2dc97d6 146(define-public ghc-7
246b3437
FB
147 (package
148 (name "ghc")
0e03d76a 149 (version "7.10.2")
246b3437
FB
150 (source
151 (origin
152 (method url-fetch)
153 (uri (string-append "https://www.haskell.org/ghc/dist/"
154 version "/" name "-" version "-src.tar.xz"))
155 (sha256
156 (base32
0e03d76a 157 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
246b3437
FB
158 (build-system gnu-build-system)
159 (supported-systems '("i686-linux" "x86_64-linux"))
160 (outputs '("out" "doc"))
161 (inputs
162 `(("gmp" ,gmp)
163 ("ncurses" ,ncurses)
164 ("libffi" ,libffi)
246b3437
FB
165 ("ghc-testsuite"
166 ,(origin
167 (method url-fetch)
168 (uri (string-append
169 "https://www.haskell.org/ghc/dist/"
170 version "/" name "-" version "-testsuite.tar.xz"))
171 (sha256
172 (base32
0e03d76a 173 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
246b3437
FB
174 (native-inputs
175 `(("perl" ,perl)
176 ("python" ,python-2) ; for tests (fails with python-3)
177 ("ghostscript" ,ghostscript) ; for tests
178 ("patchelf" ,patchelf)
179 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
5868a8bf
FB
180 ("ghc-binary"
181 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
182 ghc-bootstrap-x86_64-7.8.4
183 ghc-bootstrap-i686-7.8.4))))
246b3437
FB
184 (arguments
185 `(#:test-target "test"
186 ;; We get a smaller number of test failures by disabling parallel test
187 ;; execution.
188 #:parallel-tests? #f
fb799cb7
LC
189
190 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
191 ;; gremlin) doesn't support it yet, so skip this phase.
192 #:validate-runpath? #f
193
bbd19615
MW
194 ;; Don't pass --build=<triplet>, because the configure script
195 ;; auto-detects slightly different triplets for --host and --target and
196 ;; then complains that they don't match.
197 #:build #f
198
246b3437
FB
199 #:modules ((guix build gnu-build-system)
200 (guix build utils)
201 (guix build rpath)
202 (srfi srfi-26)
203 (srfi srfi-1))
caaf1933 204 #:imported-modules (,@%gnu-build-system-modules
246b3437
FB
205 (guix build rpath))
206 #:configure-flags
207 (list
208 (string-append "--with-gmp-libraries="
209 (assoc-ref %build-inputs "gmp") "/lib")
210 (string-append "--with-gmp-includes="
211 (assoc-ref %build-inputs "gmp") "/include")
212 "--with-system-libffi"
213 (string-append "--with-ffi-libraries="
214 (assoc-ref %build-inputs "libffi") "/lib")
215 (string-append "--with-ffi-includes="
216 (assoc-ref %build-inputs "libffi") "/include"))
217 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
218 ;; Currently we do not have the last one.
219 ;; #:make-flags
220 ;; (list "BUILD_DOCBOOK_HTML = YES")
221 #:phases
222 (let* ((ghc-bootstrap-path
223 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
224 (ghc-bootstrap-prefix
225 (string-append ghc-bootstrap-path "/usr" )))
226 (alist-cons-after
48d21d6c 227 'unpack-bin 'unpack-testsuite-and-fix-bins
246b3437
FB
228 (lambda* (#:key inputs outputs #:allow-other-keys)
229 (with-directory-excursion ".."
230 (copy-file (assoc-ref inputs "ghc-testsuite")
231 "ghc-testsuite.tar.xz")
232 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
246b3437
FB
233 (substitute*
234 (list "testsuite/timeout/Makefile"
235 "testsuite/timeout/timeout.py"
236 "testsuite/timeout/timeout.hs"
237 "testsuite/tests/rename/prog006/Setup.lhs"
48d21d6c
EB
238 "testsuite/tests/programs/life_space_leak/life.test"
239 "libraries/process/System/Process/Internals.hs"
240 "libraries/unix/cbits/execvpe.c")
246b3437
FB
241 (("/bin/sh") (which "sh"))
242 (("/bin/rm") "rm"))
243 #t)
244 (alist-cons-after
245 'unpack 'unpack-bin
246 (lambda* (#:key inputs outputs #:allow-other-keys)
247 (mkdir-p ghc-bootstrap-prefix)
248 (with-directory-excursion ghc-bootstrap-path
249 (copy-file (assoc-ref inputs "ghc-binary")
250 "ghc-bin.tar.xz")
251 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
252 (alist-cons-before
253 'install-bin 'configure-bin
254 (lambda* (#:key inputs outputs #:allow-other-keys)
255 (let* ((binaries
256 (list
257 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
258 "./utils/hpc/dist-install/build/tmp/hpc"
259 "./utils/haddock/dist/build/tmp/haddock"
260 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
261 "./utils/runghc/dist-install/build/tmp/runghc"
262 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
263 "./utils/hp2ps/dist/build/tmp/hp2ps"
264 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
265 "./utils/unlit/dist/build/tmp/unlit"
266 "./ghc/stage2/build/tmp/ghc-stage2"))
267 (gmp (assoc-ref inputs "gmp"))
268 (gmp-lib (string-append gmp "/lib"))
269 (gmp-include (string-append gmp "/include"))
270 (ncurses-lib
271 (string-append (assoc-ref inputs "ncurses") "/lib"))
272 (ld-so (string-append (assoc-ref inputs "libc")
273 ,(glibc-dynamic-linker)))
274 (libtinfo-dir
275 (string-append ghc-bootstrap-prefix
276 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
277 (with-directory-excursion
0e03d76a 278 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
279 (setenv "CONFIG_SHELL" (which "bash"))
280 (setenv "LD_LIBRARY_PATH" gmp-lib)
281 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
282 (for-each
283 (cut system* "patchelf" "--set-interpreter" ld-so <>)
284 binaries)
285 ;; The binaries include a reference to libtinfo.so.5 which
286 ;; is a subset of libncurses.so.5. We create a symlink in a
287 ;; directory included in the bootstrap binaries rpath.
288 (mkdir-p libtinfo-dir)
289 (symlink
290 (string-append ncurses-lib "/libncursesw.so."
74733195
RW
291 ;; Extract "6.0" from "6.0-20170930" if a
292 ;; dash-separated version tag exists.
ae785e5e 293 ,(let* ((v (package-version ncurses))
74733195
RW
294 (d (or (string-index v #\-)
295 (string-length v))))
ae785e5e 296 (version-major+minor (string-take v d))))
246b3437 297 (string-append libtinfo-dir "/libtinfo.so.5"))
ae785e5e 298
246b3437
FB
299 (setenv "PATH"
300 (string-append (getenv "PATH") ":"
301 ghc-bootstrap-prefix "/bin"))
302 (system*
303 (string-append (getcwd) "/configure")
304 (string-append "--prefix=" ghc-bootstrap-prefix)
305 (string-append "--with-gmp-libraries=" gmp-lib)
306 (string-append "--with-gmp-includes=" gmp-include)))))
307 (alist-cons-before
308 'configure 'install-bin
309 (lambda* (#:key inputs outputs #:allow-other-keys)
310 (with-directory-excursion
0e03d76a 311 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
312 (zero? (system* "make" "install"))))
313 %standard-phases)))))))
e17d5133
EB
314 (native-search-paths (list (search-path-specification
315 (variable "GHC_PACKAGE_PATH")
316 (files (list
317 (string-append "lib/ghc-" version)))
318 (file-pattern ".*\\.conf\\.d$")
319 (file-type 'directory))))
246b3437
FB
320 (home-page "https://www.haskell.org/ghc")
321 (synopsis "The Glasgow Haskell Compiler")
7d95c000
FB
322 (description
323 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
324interactive environment for the functional language Haskell.")
325 (license license:bsd-3)))
326
9587544b 327(define-public ghc-8.0
7d95c000
FB
328 (package
329 (name "ghc")
d8e85b20 330 (version "8.0.2")
7d95c000
FB
331 (source
332 (origin
333 (method url-fetch)
334 (uri (string-append "https://www.haskell.org/ghc/dist/"
335 version "/" name "-" version "-src.tar.xz"))
336 (sha256
d8e85b20
FB
337 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
338 (patches
339 (search-patches
f6cccefe
DM
340 "ghc-dont-pass-linker-flags-via-response-files.patch"
341 "ghc-8.0-fall-back-to-madv_dontneed.patch"))))
7d95c000
FB
342 (build-system gnu-build-system)
343 (supported-systems '("i686-linux" "x86_64-linux"))
344 (outputs '("out" "doc"))
345 (inputs
346 `(("gmp" ,gmp)
347 ("ncurses" ,ncurses)
348 ("libffi" ,libffi)
7d95c000
FB
349 ("ghc-testsuite"
350 ,(origin
351 (method url-fetch)
352 (uri (string-append
353 "https://www.haskell.org/ghc/dist/"
354 version "/" name "-" version "-testsuite.tar.xz"))
355 (sha256
d8e85b20 356 (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
7d95c000
FB
357 (native-inputs
358 `(("perl" ,perl)
359 ("python" ,python-2) ; for tests
360 ("ghostscript" ,ghostscript) ; for tests
361 ;; GHC is built with GHC.
e2dc97d6 362 ("ghc-bootstrap" ,ghc-7)))
7d95c000
FB
363 (arguments
364 `(#:test-target "test"
365 ;; We get a smaller number of test failures by disabling parallel test
366 ;; execution.
367 #:parallel-tests? #f
368
369 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
370 ;; gremlin) doesn't support it yet, so skip this phase.
371 #:validate-runpath? #f
372
373 ;; Don't pass --build=<triplet>, because the configure script
374 ;; auto-detects slightly different triplets for --host and --target and
375 ;; then complains that they don't match.
376 #:build #f
377
7d95c000
FB
378 #:configure-flags
379 (list
380 (string-append "--with-gmp-libraries="
381 (assoc-ref %build-inputs "gmp") "/lib")
382 (string-append "--with-gmp-includes="
383 (assoc-ref %build-inputs "gmp") "/include")
384 "--with-system-libffi"
385 (string-append "--with-ffi-libraries="
386 (assoc-ref %build-inputs "libffi") "/lib")
387 (string-append "--with-ffi-includes="
388 (assoc-ref %build-inputs "libffi") "/include")
389 (string-append "--with-curses-libraries="
390 (assoc-ref %build-inputs "ncurses") "/lib")
391 (string-append "--with-curses-includes="
392 (assoc-ref %build-inputs "ncurses") "/include"))
393 #:phases
394 (modify-phases %standard-phases
395 (add-after 'unpack 'unpack-testsuite
396 (lambda* (#:key inputs #:allow-other-keys)
397 (with-directory-excursion ".."
398 (copy-file (assoc-ref inputs "ghc-testsuite")
399 "ghc-testsuite.tar.xz")
400 (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")))))
401 (add-before 'build 'fix-lib-paths
402 (lambda _
403 (substitute*
404 (list "libraries/process/System/Process/Posix.hs"
405 "libraries/process/tests/process001.hs"
406 "libraries/process/tests/process002.hs"
407 "libraries/unix/cbits/execvpe.c")
408 (("/bin/sh") (which "sh"))
409 (("/bin/ls") (which "ls")))
410 #t))
411 (add-before 'build 'fix-environment
412 (lambda _
413 (unsetenv "GHC_PACKAGE_PATH")
414 (setenv "CONFIG_SHELL" (which "bash"))
415 #t))
416 (add-before 'check 'fix-testsuite
417 (lambda _
418 (substitute*
419 (list "testsuite/timeout/Makefile"
420 "testsuite/timeout/timeout.py"
421 "testsuite/timeout/timeout.hs"
422 "testsuite/tests/programs/life_space_leak/life.test")
423 (("/bin/sh") (which "sh"))
424 (("/bin/rm") "rm"))
d8e85b20 425 #t)))))
7d95c000
FB
426 (native-search-paths (list (search-path-specification
427 (variable "GHC_PACKAGE_PATH")
428 (files (list
429 (string-append "lib/ghc-" version)))
430 (file-pattern ".*\\.conf\\.d$")
431 (file-type 'directory))))
432 (home-page "https://www.haskell.org/ghc")
433 (synopsis "The Glasgow Haskell Compiler")
246b3437
FB
434 (description
435 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
436interactive environment for the functional language Haskell.")
3ac73271 437 (license license:bsd-3)))
246b3437 438
9587544b
RW
439(define-public ghc-8
440 (package (inherit ghc-8.0)
441 (name "ghc")
442 (version "8.4.3")
443 (source
444 (origin
445 (method url-fetch)
446 (uri (string-append "https://www.haskell.org/ghc/dist/"
447 version "/" name "-" version "-src.tar.xz"))
448 (sha256
449 (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf"))))
450 (inputs
451 `(("gmp" ,gmp)
452 ("ncurses" ,ncurses)
453 ("libffi" ,libffi)
454 ("target-binutils" ,binutils)
455 ("target-gcc" ,gcc)
456 ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
457 #:binutils binutils))))
458 (native-inputs
459 `(("perl" ,perl)
460 ("python" ,python) ; for tests
461 ("ghostscript" ,ghostscript) ; for tests
462 ;; GHC 8.4.3 is built with GHC 8.
463 ("ghc-bootstrap" ,ghc-8.0)
464 ("ghc-testsuite"
465 ,(origin
466 (method url-fetch)
467 (uri (string-append
468 "https://www.haskell.org/ghc/dist/"
469 version "/" name "-" version "-testsuite.tar.xz"))
470 (sha256
471 (base32
472 "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz"))))))
473 (arguments
474 `(#:test-target "test"
475 ;; We get a smaller number of test failures by disabling parallel test
476 ;; execution.
477 #:parallel-tests? #f
478
479 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
480 ;; gremlin) doesn't support it yet, so skip this phase.
481 #:validate-runpath? #f
482
483 ;; Don't pass --build=<triplet>, because the configure script
484 ;; auto-detects slightly different triplets for --host and --target and
485 ;; then complains that they don't match.
486 #:build #f
487
488 #:configure-flags
489 (list
490 (string-append "--with-gmp-libraries="
491 (assoc-ref %build-inputs "gmp") "/lib")
492 (string-append "--with-gmp-includes="
493 (assoc-ref %build-inputs "gmp") "/include")
494 "--with-system-libffi"
495 (string-append "--with-ffi-libraries="
496 (assoc-ref %build-inputs "libffi") "/lib")
497 (string-append "--with-ffi-includes="
498 (assoc-ref %build-inputs "libffi") "/include")
499 (string-append "--with-curses-libraries="
500 (assoc-ref %build-inputs "ncurses") "/lib")
501 (string-append "--with-curses-includes="
502 (assoc-ref %build-inputs "ncurses") "/include"))
503 #:phases
504 (modify-phases %standard-phases
505 (add-after 'unpack 'unpack-testsuite
506 (lambda* (#:key inputs #:allow-other-keys)
507 (invoke "tar" "xvf"
508 (assoc-ref inputs "ghc-testsuite")
509 "--strip-components=1")
510 #t))
511 (add-after 'unpack-testsuite 'fix-shell-wrappers
512 (lambda _
513 (substitute* '("driver/ghci/ghc.mk"
514 "utils/mkdirhier/ghc.mk"
515 "rules/shell-wrapper.mk")
516 (("echo '#!/bin/sh'")
517 (format #f "echo '#!~a'" (which "sh"))))
518 #t))
519 ;; This is necessary because the configure system no longer uses
520 ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the
521 ;; plain command names.
522 (add-before 'configure 'set-target-programs
523 (lambda* (#:key inputs #:allow-other-keys)
524 (let ((binutils (assoc-ref inputs "target-binutils"))
525 (gcc (assoc-ref inputs "target-gcc"))
526 (ld-wrapper (assoc-ref inputs "target-ld-wrapper")))
527 (setenv "CC" (string-append gcc "/bin/gcc"))
528 (setenv "CXX" (string-append gcc "/bin/g++"))
529 (setenv "LD" (string-append ld-wrapper "/bin/ld"))
530 (setenv "NM" (string-append binutils "/bin/nm"))
531 (setenv "RANLIB" (string-append binutils "/bin/ranlib"))
532 (setenv "STRIP" (string-append binutils "/bin/strip"))
533 ;; The 'ar' command does not follow the same pattern.
534 (setenv "fp_prog_ar" (string-append binutils "/bin/ar"))
535 #t)))
536 (add-before 'build 'fix-references
537 (lambda _
538 (substitute* '("testsuite/timeout/Makefile"
539 "testsuite/timeout/timeout.py"
540 "testsuite/timeout/timeout.hs"
541 "testsuite/tests/programs/life_space_leak/life.test"
542 ;; libraries
543 "libraries/process/System/Process/Posix.hs"
544 "libraries/process/tests/process001.hs"
545 "libraries/process/tests/process002.hs"
546 "libraries/unix/cbits/execvpe.c")
547 (("/bin/sh") (which "sh"))
548 (("/bin/ls") (which "ls"))
549 (("/bin/rm") "rm"))
550 #t))
551 (add-before 'build 'fix-environment
552 (lambda _
553 (unsetenv "GHC_PACKAGE_PATH")
554 (setenv "CONFIG_SHELL" (which "bash"))
555 #t)))))
556 (native-search-paths (list (search-path-specification
557 (variable "GHC_PACKAGE_PATH")
558 (files (list
559 (string-append "lib/ghc-" version)))
560 (file-pattern ".*\\.conf\\.d$")
561 (file-type 'directory))))))
562
dde15fea 563(define-public ghc ghc-8)
e2dc97d6 564
ccd7b308
EB
565(define-public ghc-hostname
566 (package
567 (name "ghc-hostname")
568 (version "1.0")
569 (source
570 (origin
571 (method url-fetch)
612fddec 572 (uri (string-append "https://hackage.haskell.org/package/hostname/"
ccd7b308
EB
573 "hostname-" version ".tar.gz"))
574 (sha256
575 (base32
576 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
577 (build-system haskell-build-system)
578 (home-page "https://hackage.haskell.org/package/hostname")
579 (synopsis "Hostname in Haskell")
580 (description "Network.HostName is a simple package providing a means to
581determine the hostname.")
3ac73271 582 (license license:bsd-3)))
ccd7b308 583
f8362eac
RW
584(define-public ghc-convertible
585 (package
586 (name "ghc-convertible")
587 (version "1.1.1.0")
588 (source
589 (origin
590 (method url-fetch)
591 (uri (string-append "https://hackage.haskell.org/package/convertible/"
592 "convertible-" version ".tar.gz"))
593 (sha256
594 (base32
595 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
596 (build-system haskell-build-system)
597 (inputs
598 `(("ghc-old-time" ,ghc-old-time)
599 ("ghc-old-locale" ,ghc-old-locale)
f8362eac
RW
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
f54f0475 652 `(("libxml2" ,libxml2)))
1472ba25
EB
653 (arguments
654 `(#:configure-flags
655 `(,(string-append "--extra-include-dirs="
656 (assoc-ref %build-inputs "libxml2")
657 "/include/libxml2"))))
98b90194 658 (home-page "https://hackage.haskell.org/package/libxml")
1472ba25
EB
659 (synopsis "Haskell bindings to libxml2")
660 (description
661 "This library provides minimal Haskell binding to libxml2.")
3ac73271 662 (license license:bsd-3)))
1472ba25 663
1e473fb8
PW
664(define-public ghc-prelude-extras
665 (package
666 (name "ghc-prelude-extras")
29466a9b 667 (version "0.4.0.3")
1e473fb8
PW
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append
612fddec 672 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
1e473fb8
PW
673 version
674 ".tar.gz"))
675 (sha256
676 (base32
29466a9b 677 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
1e473fb8 678 (build-system haskell-build-system)
612fddec 679 (home-page "https://github.com/ekmett/prelude-extras")
1e473fb8
PW
680 (synopsis "Higher order versions of Prelude classes")
681 (description "This library provides higher order versions of
682@code{Prelude} classes to ease programming with polymorphic recursion and
683reduce @code{UndecidableInstances}.")
3ac73271 684 (license license:bsd-3)))
1e473fb8 685
1c77d0ca
SB
686(define-public ghc-data-default
687 (package
688 (name "ghc-data-default")
f9cb5105 689 (version "0.7.1.1")
1c77d0ca
SB
690 (source
691 (origin
692 (method url-fetch)
693 (uri (string-append
612fddec 694 "https://hackage.haskell.org/package/data-default/data-default-"
1c77d0ca
SB
695 version
696 ".tar.gz"))
697 (sha256
f9cb5105 698 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
1c77d0ca 699 (build-system haskell-build-system)
2d47cee2 700 (inputs
1c77d0ca
SB
701 `(("ghc-data-default-class"
702 ,ghc-data-default-class)
703 ("ghc-data-default-instances-base"
704 ,ghc-data-default-instances-base)
705 ("ghc-data-default-instances-containers"
706 ,ghc-data-default-instances-containers)
707 ("ghc-data-default-instances-dlist"
708 ,ghc-data-default-instances-dlist)
709 ("ghc-data-default-instances-old-locale"
710 ,ghc-data-default-instances-old-locale)))
612fddec 711 (home-page "https://hackage.haskell.org/package/data-default")
1c77d0ca
SB
712 (synopsis "Types with default values")
713 (description
714 "This package defines a class for types with a default value, and
715provides instances for types from the base, containers, dlist and old-locale
716packages.")
3ac73271 717 (license license:bsd-3)))
1c77d0ca 718
5079a0af
SB
719(define-public ghc-data-default-class
720 (package
721 (name "ghc-data-default-class")
f378ea16 722 (version "0.1.2.0")
5079a0af
SB
723 (source
724 (origin
725 (method url-fetch)
726 (uri (string-append
612fddec 727 "https://hackage.haskell.org/package/data-default-class/"
5079a0af
SB
728 "data-default-class-" version ".tar.gz"))
729 (sha256
f378ea16 730 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
5079a0af 731 (build-system haskell-build-system)
612fddec 732 (home-page "https://hackage.haskell.org/package/data-default-class")
5079a0af
SB
733 (synopsis "Types with default values")
734 (description
735 "This package defines a class for types with default values.")
3ac73271 736 (license license:bsd-3)))
5079a0af 737
9deb95aa
SB
738(define-public ghc-data-default-instances-base
739 (package
740 (name "ghc-data-default-instances-base")
64a6954b 741 (version "0.1.0.1")
9deb95aa
SB
742 (source
743 (origin
744 (method url-fetch)
745 (uri (string-append
612fddec 746 "https://hackage.haskell.org/package/"
9deb95aa
SB
747 "data-default-instances-base/"
748 "data-default-instances-base-" version ".tar.gz"))
749 (sha256
64a6954b 750 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
9deb95aa 751 (build-system haskell-build-system)
2d47cee2 752 (inputs
9deb95aa 753 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 754 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
9deb95aa
SB
755 (synopsis "Default instances for types in base")
756 (description
757 "This package provides default instances for types from the base
758package.")
3ac73271 759 (license license:bsd-3)))
9deb95aa 760
77a23be2
SB
761(define-public ghc-data-default-instances-containers
762 (package
763 (name "ghc-data-default-instances-containers")
764 (version "0.0.1")
765 (source
766 (origin
767 (method url-fetch)
768 (uri (string-append
612fddec 769 "https://hackage.haskell.org/package/"
77a23be2
SB
770 "data-default-instances-containers/"
771 "data-default-instances-containers-" version ".tar.gz"))
772 (sha256
773 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
774 (build-system haskell-build-system)
2d47cee2 775 (inputs
77a23be2 776 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 777 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
77a23be2
SB
778 (synopsis "Default instances for types in containers")
779 (description "Provides default instances for types from the containers
780package.")
3ac73271 781 (license license:bsd-3)))
77a23be2 782
4271d134
SB
783(define-public ghc-data-default-instances-dlist
784 (package
785 (name "ghc-data-default-instances-dlist")
786 (version "0.0.1")
787 (source
788 (origin
789 (method url-fetch)
790 (uri (string-append
612fddec 791 "https://hackage.haskell.org/package/"
4271d134
SB
792 "data-default-instances-dlist/"
793 "data-default-instances-dlist-" version ".tar.gz"))
794 (sha256
795 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
796 (build-system haskell-build-system)
2d47cee2 797 (inputs
4271d134
SB
798 `(("ghc-data-default-class" ,ghc-data-default-class)
799 ("ghc-dlist" ,ghc-dlist)))
612fddec 800 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
4271d134
SB
801 (synopsis "Default instances for types in dlist")
802 (description "Provides default instances for types from the dlist
803package.")
3ac73271 804 (license license:bsd-3)))
4271d134 805
df7309fc
PM
806(define-public ghc-code-page
807 (package
808 (name "ghc-code-page")
809 (version "0.1.3")
810 (source
811 (origin
812 (method url-fetch)
813 (uri (string-append
814 "https://hackage.haskell.org/package/code-page/code-page-"
815 version ".tar.gz"))
816 (sha256
817 (base32
818 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
819 (build-system haskell-build-system)
820 (home-page "https://github.com/RyanGlScott/code-page")
821 (synopsis "Windows code page library for Haskell")
822 (description "A cross-platform library with functions for adjusting
823code pages on Windows. On all other operating systems, the library does
824nothing.")
825 (license license:bsd-3)))
826
073f5ae1
TS
827(define-public ghc-newtype-generics
828 (package
829 (name "ghc-newtype-generics")
830 (version "0.5.3")
831 (source
832 (origin
833 (method url-fetch)
834 (uri (string-append "https://hackage.haskell.org/package/"
835 "newtype-generics/newtype-generics-"
836 version ".tar.gz"))
837 (sha256
838 (base32
839 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
840 (build-system haskell-build-system)
841 (native-inputs
842 `(("ghc-hspec" ,ghc-hspec)
843 ("hspec-discover" ,hspec-discover)))
844 (home-page "http://github.com/sjakobi/newtype-generics")
845 (synopsis "Typeclass and set of functions for working with newtypes")
846 (description "The @code{Newtype} typeclass represents the packing and
847unpacking of a newtype, and allows you to operate under that newtype with
848functions such as @code{ala}. Generics support was added in version 0.4,
849making this package a full replacement for the original newtype package,
850and an alternative to newtype-th.")
851 (license license:bsd-3)))
852
cd40c4d6
TS
853(define-public ghc-memotrie
854 (package
855 (name "ghc-memotrie")
856 (version "0.6.9")
857 (source
858 (origin
859 (method url-fetch)
860 (uri (string-append
861 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
862 version
863 ".tar.gz"))
864 (sha256
865 (base32
866 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
867 (build-system haskell-build-system)
868 (inputs
869 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
870 (home-page "https://github.com/conal/MemoTrie")
871 (synopsis "Trie-based memo functions")
872 (description "This package provides a functional library for creating
873efficient memo functions using tries.")
874 (license license:bsd-3)))
875
c6cf0eb5
TS
876(define-public ghc-tree-diff
877 (package
878 (name "ghc-tree-diff")
879 (version "0.0.1")
880 (source
881 (origin
882 (method url-fetch)
883 (uri (string-append
884 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
885 version
886 ".tar.gz"))
887 (sha256
888 (base32
889 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
890 (build-system haskell-build-system)
891 (arguments
892 `(#:cabal-revision
893 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
894 #:phases
895 (modify-phases %standard-phases
896 (add-before 'configure 'update-constraints
897 (lambda _
898 (substitute* "tree-diff.cabal"
899 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
900 "trifecta >=1.7.1.1 && <=2")))))))
901 (inputs
902 `(("ghc-aeson" ,ghc-aeson)
903 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
904 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
905 ("ghc-base-compat" ,ghc-base-compat)
906 ("ghc-generics-sop" ,ghc-generics-sop)
907 ("ghc-hashable" ,ghc-hashable)
908 ("ghc-memotrie" ,ghc-memotrie)
909 ("ghc-parsec" ,ghc-parsec)
910 ("ghc-parsers" ,ghc-parsers)
911 ("ghc-quickcheck" ,ghc-quickcheck)
912 ("ghc-scientific" ,ghc-scientific)
913 ("ghc-tagged" ,ghc-tagged)
914 ("ghc-text" ,ghc-text)
915 ("ghc-unordered-containers" ,ghc-unordered-containers)
916 ("ghc-uuid-types" ,ghc-uuid-types)
917 ("ghc-vector" ,ghc-vector)))
918 (native-inputs
919 `(("ghc-base-compat" ,ghc-base-compat)
920 ("ghc-quickcheck" ,ghc-quickcheck)
921 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
922 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
923 ("ghc-parsec" ,ghc-parsec)
924 ("ghc-trifecta" ,ghc-trifecta)
925 ("ghc-tasty" ,ghc-tasty)
926 ("ghc-tasty-golden" ,ghc-tasty-golden)
927 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
928 (home-page "https://github.com/phadej/tree-diff")
929 (synopsis "Compute difference between (expression) trees")
930 (description "This Haskell library provides a function for computing
931the difference bewteen (expression) trees. It also provides a way to
932compute the difference between arbitrary abstract datatypes (ADTs) using
933@code{Generics}-derivable helpers.")
934 (license license:bsd-3)))
935
56b3bc56 936(define-public ghc-haddock-library
eb6ae860 937 (package
56b3bc56 938 (name "ghc-haddock-library")
082d9383 939 (version "1.5.0.1")
eb6ae860
SB
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append
612fddec 944 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
eb6ae860
SB
945 version
946 ".tar.gz"))
947 (sha256
56b3bc56 948 (base32
082d9383
TS
949 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
950 (patches (search-patches
951 "ghc-haddock-library-unbundle.patch"))
952 (modules '((guix build utils)))
953 (snippet '(begin
954 (delete-file-recursively "vendor")
955 #t))))
eb6ae860 956 (build-system haskell-build-system)
082d9383
TS
957 (arguments
958 `(#:phases
959 (modify-phases %standard-phases
960 (add-before 'configure 'relax-test-suite-dependencies
961 (lambda _
962 (substitute* "haddock-library.cabal"
963 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
964 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
965 ;; The release tarball does not contain the "fixtures/examples"
966 ;; directory, which is required for testing. In the upstream
967 ;; repository, the directory exists and is populated. Here, we
968 ;; create an empty directory to placate the tests.
969 (add-before 'check 'add-examples-directory
970 (lambda _
971 (mkdir "fixtures/examples")
972 #t)))))
354902e4 973 (native-inputs
082d9383 974 `(("ghc-base-compat" ,ghc-base-compat)
56b3bc56 975 ("ghc-hspec" ,ghc-hspec)
082d9383
TS
976 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
977 ("ghc-quickcheck" ,ghc-quickcheck)
978 ("ghc-tree-diff" ,ghc-tree-diff)
979 ("hspec-discover" ,hspec-discover)))
98b90194 980 (home-page "https://www.haskell.org/haddock/")
354902e4 981 (synopsis "Library exposing some functionality of Haddock")
eb6ae860 982 (description
56b3bc56
PW
983 "Haddock is a documentation-generation tool for Haskell libraries. These
984modules expose some functionality of it without pulling in the GHC dependency.
985Please note that the API is likely to change so specify upper bounds in your
986project if you can't release often. For interacting with Haddock itself, see
987the ‘haddock’ package.")
3ac73271 988 (license license:bsd-3)))
eb6ae860 989
735bd9c9 990(define-public ghc-haddock-api
05b964ae 991 (package
735bd9c9 992 (name "ghc-haddock-api")
f548cd72 993 (version "2.19.0.1")
05b964ae
SB
994 (source
995 (origin
996 (method url-fetch)
735bd9c9 997 (uri (string-append
612fddec 998 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
735bd9c9
PW
999 version
1000 ".tar.gz"))
05b964ae 1001 (sha256
735bd9c9 1002 (base32
f548cd72 1003 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
05b964ae 1004 (build-system haskell-build-system)
f548cd72
TS
1005 (arguments
1006 `(#:phases
1007 (modify-phases %standard-phases
1008 (add-before 'configure 'update-constraints
1009 (lambda _
1010 (substitute* "haddock-api.cabal"
1011 (("Cabal \\^>= 2\\.0\\.0")
1012 "Cabal ^>= 2.2.0")
1013 (("hspec \\^>= 2\\.4\\.4")
1014 "hspec >= 2.4.4 && < 2.6")))))))
2d47cee2 1015 (inputs
735bd9c9
PW
1016 `(("ghc-paths" ,ghc-paths)
1017 ("ghc-haddock-library" ,ghc-haddock-library)))
a559c26c
RW
1018 (native-inputs
1019 `(("ghc-quickcheck" ,ghc-quickcheck)
1020 ("ghc-hspec" ,ghc-hspec)
1021 ("hspec-discover" ,hspec-discover)))
98b90194 1022 (home-page "https://www.haskell.org/haddock/")
735bd9c9
PW
1023 (synopsis "API for documentation-generation tool Haddock")
1024 (description "This package provides an API to Haddock, the
1025documentation-generation tool for Haskell libraries.")
3ac73271 1026 (license license:bsd-3)))
05b964ae 1027
35182fa2
RW
1028(define-public ghc-haddock-test
1029 (package
1030 (name "ghc-haddock-test")
1031 (version "0.0.1")
1032 (source
1033 (origin
1034 (method url-fetch)
1035 (uri (string-append "https://hackage.haskell.org/package/"
1036 "haddock-test/haddock-test-"
1037 version ".tar.gz"))
1038 (sha256
1039 (base32
1040 "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
1041 (build-system haskell-build-system)
1042 (inputs
1043 `(("ghc-xml" ,ghc-xml)
1044 ("ghc-syb" ,ghc-syb)))
1045 (home-page "http://www.haskell.org/haddock/")
1046 (synopsis "Test utilities for Haddock")
1047 (description "This package provides test utilities for Haddock.")
1048 (license license:bsd-3)))
1049
e0492a8d 1050(define-public ghc-haddock
7d5baa30 1051 (package
e0492a8d 1052 (name "ghc-haddock")
1b29af3d 1053 (version "2.19.0.1")
7d5baa30
FB
1054 (source
1055 (origin
1056 (method url-fetch)
1057 (uri (string-append
612fddec 1058 "https://hackage.haskell.org/package/haddock/haddock-"
7d5baa30
FB
1059 version
1060 ".tar.gz"))
1061 (sha256
1062 (base32
1b29af3d 1063 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
7d5baa30 1064 (build-system haskell-build-system)
1b29af3d
TS
1065 (arguments
1066 `(#:phases
1067 (modify-phases %standard-phases
1068 ;; There are four test suites that require the ghc-haddock-test
1069 ;; package, which no longer builds with GHC 8.4.3. This phase
1070 ;; removes these four test suites from the Cabal file, so that we
1071 ;; do not need ghc-haddock-test as an input.
1072 (add-before 'configure 'remove-haddock-test-test-suites
1073 (lambda _
1074 (use-modules (ice-9 rdelim))
1075 (with-atomic-file-replacement "haddock.cabal"
1076 (lambda (in out)
1077 (let loop ((line (read-line in 'concat)) (deleting? #f))
1078 (cond
1079 ((eof-object? line) #t)
1080 ((string-every char-set:whitespace line)
1081 (unless deleting? (display line out))
1082 (loop (read-line in 'concat) #f))
1083 ((member line '("test-suite html-test\n"
1084 "test-suite hypsrc-test\n"
1085 "test-suite latex-test\n"
1086 "test-suite hoogle-test\n"))
1087 (loop (read-line in 'concat) #t))
1088 (else
1089 (unless deleting? (display line out))
1090 (loop (read-line in 'concat) deleting?)))))))))))
e0492a8d 1091 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
613845d0 1092 (native-inputs
1b29af3d 1093 `(("ghc-hspec" ,ghc-hspec)))
98b90194 1094 (home-page "https://www.haskell.org/haddock/")
7d5baa30 1095 (synopsis
e0492a8d 1096 "Documentation-generation tool for Haskell libraries")
7d5baa30 1097 (description
e0492a8d 1098 "Haddock is a documentation-generation tool for Haskell libraries.")
3ac73271 1099 (license license:bsd-3)))
7d5baa30 1100
6729152d 1101(define-public ghc-simple-reflect
0939da6e 1102 (package
6729152d 1103 (name "ghc-simple-reflect")
c2e393cc 1104 (version "0.3.3")
0939da6e
FB
1105 (source
1106 (origin
1107 (method url-fetch)
1108 (uri (string-append
612fddec 1109 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
0939da6e
FB
1110 version
1111 ".tar.gz"))
1112 (sha256
1113 (base32
c2e393cc 1114 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
0939da6e 1115 (build-system haskell-build-system)
6729152d 1116 (home-page
98b90194 1117 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
0939da6e 1118 (synopsis
6729152d 1119 "Simple reflection of expressions containing variables")
0939da6e 1120 (description
6729152d
PW
1121 "This package allows simple reflection of expressions containing
1122variables. Reflection here means that a Haskell expression is turned into a
1123string. The primary aim of this package is teaching and understanding; there
1124are no options for manipulating the reflected expressions beyond showing
1125them.")
3ac73271 1126 (license license:bsd-3)))
0939da6e 1127
e0d17b84 1128(define-public ghc-haskell-src
3d3613d5 1129 (package
e0d17b84 1130 (name "ghc-haskell-src")
3ea018c7 1131 (version "1.0.3.0")
3d3613d5
FB
1132 (source
1133 (origin
1134 (method url-fetch)
1135 (uri (string-append
612fddec 1136 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
3d3613d5
FB
1137 version
1138 ".tar.gz"))
1139 (sha256
1140 (base32
3ea018c7 1141 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
3d3613d5 1142 (build-system haskell-build-system)
e0d17b84
PW
1143 (inputs
1144 `(("ghc-happy" ,ghc-happy)
1145 ("ghc-syb" ,ghc-syb)))
1146 (home-page
612fddec 1147 "https://hackage.haskell.org/package/haskell-src")
3d3613d5 1148 (synopsis
e0d17b84 1149 "Support for manipulating Haskell source code")
3d3613d5 1150 (description
e0d17b84
PW
1151 "The 'haskell-src' package provides support for manipulating Haskell
1152source code. The package provides a lexer, parser and pretty-printer, and a
1153definition of a Haskell abstract syntax tree (AST). Common uses of this
1154package are to parse or generate Haskell 98 code.")
3ac73271 1155 (license license:bsd-3)))
3d3613d5 1156
e40b2543 1157(define-public ghc-alex
a39f3936 1158 (package
e40b2543 1159 (name "ghc-alex")
7de7ec7d 1160 (version "3.2.4")
a39f3936
FB
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append
612fddec 1165 "https://hackage.haskell.org/package/alex/alex-"
a39f3936
FB
1166 version
1167 ".tar.gz"))
1168 (sha256
1169 (base32
7de7ec7d 1170 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
a39f3936 1171 (build-system haskell-build-system)
7de7ec7d
TS
1172 (arguments
1173 `(#:phases
1174 (modify-phases %standard-phases
1175 (add-before 'check 'set-check-variables
1176 (lambda _
1177 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
1178 (getenv "PATH")))
1179 (setenv "alex_datadir" (string-append (getcwd) "/data"))
1180 #t)))))
e40b2543 1181 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7de7ec7d
TS
1182 (native-inputs
1183 `(("which" ,which)))
98b90194 1184 (home-page "https://www.haskell.org/alex/")
e40b2543
PW
1185 (synopsis
1186 "Tool for generating lexical analysers in Haskell")
a39f3936 1187 (description
e40b2543
PW
1188 "Alex is a tool for generating lexical analysers in Haskell. It takes a
1189description of tokens based on regular expressions and generates a Haskell
1190module containing code for scanning text efficiently. It is similar to the
1191tool lex or flex for C/C++.")
3ac73271 1192 (license license:bsd-3)))
a39f3936 1193
1f477b59 1194(define-public ghc-cgi
e916e211 1195 (package
1f477b59 1196 (name "ghc-cgi")
22b439db 1197 (version "3001.3.0.2")
e916e211
FB
1198 (source
1199 (origin
1200 (method url-fetch)
1201 (uri (string-append
612fddec 1202 "https://hackage.haskell.org/package/cgi/cgi-"
e916e211
FB
1203 version
1204 ".tar.gz"))
1205 (sha256
1206 (base32
22b439db 1207 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
e916e211 1208 (build-system haskell-build-system)
22b439db 1209 (arguments
892d5546
TS
1210 `(#:phases
1211 (modify-phases %standard-phases
1212 (add-before 'configure 'update-constraints
1213 (lambda _
1214 (substitute* "cgi.cabal"
1215 (("exceptions < 0\\.9")
1216 "exceptions < 0.11")
1217 (("time >= 1\\.5 && < 1\\.7")
1218 "time >= 1.5 && < 1.9")
1219 (("doctest >= 0\\.8 && < 0\\.12")
1220 "doctest >= 0.8 && < 0.17")
1221 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1222 "QuickCheck >= 2.8.1 && < 2.12")))))))
1f477b59
PW
1223 (inputs
1224 `(("ghc-parsec" ,ghc-parsec)
1f477b59
PW
1225 ("ghc-exceptions" ,ghc-exceptions)
1226 ("ghc-multipart" ,ghc-multipart)
1227 ("ghc-network-uri" ,ghc-network-uri)
f54f0475 1228 ("ghc-network" ,ghc-network)))
22b439db
RW
1229 (native-inputs
1230 `(("ghc-doctest" ,ghc-doctest)
1231 ("ghc-quickcheck" ,ghc-quickcheck)))
1f477b59
PW
1232 (home-page
1233 "https://github.com/cheecheeo/haskell-cgi")
1234 (synopsis "Library for writing CGI programs")
e916e211 1235 (description
1f477b59 1236 "This is a Haskell library for writing CGI programs.")
3ac73271 1237 (license license:bsd-3)))
e916e211 1238
0ba56364 1239(define-public ghc-cmdargs
deb36de0 1240 (package
0ba56364 1241 (name "ghc-cmdargs")
0ff8558a 1242 (version "0.10.20")
deb36de0
FB
1243 (source
1244 (origin
1245 (method url-fetch)
1246 (uri (string-append
612fddec 1247 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
bfd2ebda 1248 version ".tar.gz"))
deb36de0
FB
1249 (sha256
1250 (base32
0ff8558a 1251 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
deb36de0 1252 (build-system haskell-build-system)
0ba56364
PW
1253 (home-page
1254 "http://community.haskell.org/~ndm/cmdargs/")
1255 (synopsis "Command line argument processing")
deb36de0 1256 (description
0ba56364 1257 "This library provides an easy way to define command line parsers.")
3ac73271 1258 (license license:bsd-3)))
deb36de0 1259
839415ec
LC
1260(define-public ghc-concatenative
1261 (package
1262 (name "ghc-concatenative")
1263 (version "1.0.1")
1264 (source (origin
1265 (method url-fetch)
1266 (uri (string-append
612fddec 1267 "https://hackage.haskell.org/package/concatenative/concatenative-"
839415ec
LC
1268 version ".tar.gz"))
1269 (sha256
1270 (base32
1271 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1272 (build-system haskell-build-system)
1273 (home-page
1274 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1275 (synopsis "Library for postfix control flow")
1276 (description
1277 "Concatenative gives Haskell Factor-style combinators and arrows for
1278postfix notation. For more information on stack based languages, see
98b90194 1279@uref{https://concatenative.org}.")
839415ec
LC
1280 (license license:bsd-3)))
1281
81da1a45 1282(define-public ghc-happy
775be802 1283 (package
81da1a45 1284 (name "ghc-happy")
a3aaf87a 1285 (version "1.19.9")
775be802
FB
1286 (source
1287 (origin
1288 (method url-fetch)
1289 (uri (string-append
612fddec 1290 "https://hackage.haskell.org/package/happy/happy-"
775be802
FB
1291 version
1292 ".tar.gz"))
1293 (sha256
1294 (base32
a3aaf87a 1295 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
775be802 1296 (build-system haskell-build-system)
81da1a45
PW
1297 (home-page "https://hackage.haskell.org/package/happy")
1298 (synopsis "Parser generator for Haskell")
1299 (description "Happy is a parser generator for Haskell. Given a grammar
1300specification in BNF, Happy generates Haskell code to parse the grammar.
1301Happy works in a similar way to the yacc tool for C.")
3ac73271 1302 (license license:bsd-3)))
775be802 1303
b9a64a36
RW
1304(define-public ghc-haskell-lexer
1305 (package
1306 (name "ghc-haskell-lexer")
1307 (version "1.0.1")
1308 (source
1309 (origin
1310 (method url-fetch)
1311 (uri (string-append
1312 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
1313 version ".tar.gz"))
1314 (sha256
1315 (base32
1316 "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
1317 (build-system haskell-build-system)
1318 (home-page "http://hackage.haskell.org/package/haskell-lexer")
1319 (synopsis "Fully compliant Haskell 98 lexer")
1320 (description
1321 "This package provides a fully compliant Haskell 98 lexer.")
1322 (license license:bsd-3)))
1323
f30b7538
RW
1324(define-public ghc-pretty-show
1325 (package
1326 (name "ghc-pretty-show")
6b19c5a4 1327 (version "1.7")
f30b7538
RW
1328 (source
1329 (origin
1330 (method url-fetch)
1331 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1332 "pretty-show-" version ".tar.gz"))
1333 (sha256
1334 (base32
6b19c5a4 1335 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
f30b7538
RW
1336 (build-system haskell-build-system)
1337 (inputs
1338 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
1339 ("ghc-happy" ,ghc-happy)))
1340 (home-page "http://wiki.github.com/yav/pretty-show")
1341 (synopsis "Tools for working with derived `Show` instances")
1342 (description
1343 "This package provides a library and an executable for working with
1344derived @code{Show} instances. By using the library, derived @code{Show}
1345instances can be parsed into a generic data structure. The @code{ppsh} tool
1346uses the library to produce human-readable versions of @code{Show} instances,
1347which can be quite handy for debugging Haskell programs. We can also render
1348complex generic values into an interactive Html page, for easier
1349examination.")
1350 (license license:expat)))
1351
6ff19687 1352(define-public ghc-haskell-src-exts
c3b90c0e 1353 (package
6ff19687 1354 (name "ghc-haskell-src-exts")
14b0ade6 1355 (version "1.20.2")
c3b90c0e
FB
1356 (source
1357 (origin
1358 (method url-fetch)
1359 (uri (string-append
612fddec 1360 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
c3b90c0e
FB
1361 version
1362 ".tar.gz"))
1363 (sha256
1364 (base32
14b0ade6 1365 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
c3b90c0e 1366 (build-system haskell-build-system)
2d47cee2 1367 (inputs
6ff19687 1368 `(("cpphs" ,cpphs)
6ff19687 1369 ("ghc-happy" ,ghc-happy)
14b0ade6 1370 ("ghc-pretty-show" ,ghc-pretty-show)))
172bb3b8
RW
1371 (native-inputs
1372 `(("ghc-smallcheck" ,ghc-smallcheck)
1373 ("ghc-tasty" ,ghc-tasty)
1374 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
1375 ("ghc-tasty-golden" ,ghc-tasty-golden)))
6ff19687
PW
1376 (home-page "https://github.com/haskell-suite/haskell-src-exts")
1377 (synopsis "Library for manipulating Haskell source")
1378 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
1379extension of the standard @code{haskell-src} package, and handles most
1380registered syntactic extensions to Haskell. All extensions implemented in GHC
1381are supported. Apart from these standard extensions, it also handles regular
1382patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
3ac73271 1383 (license license:bsd-3)))
c3b90c0e 1384
3657bd1f
RW
1385(define-public ghc-haskell-src-exts-util
1386 (package
1387 (name "ghc-haskell-src-exts-util")
255a31f8 1388 (version "0.2.3")
3657bd1f
RW
1389 (source
1390 (origin
1391 (method url-fetch)
1392 (uri (string-append "https://hackage.haskell.org/package/"
1393 "haskell-src-exts-util/haskell-src-exts-util-"
1394 version ".tar.gz"))
1395 (sha256
1396 (base32
255a31f8 1397 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
3657bd1f
RW
1398 (build-system haskell-build-system)
1399 (inputs
1400 `(("ghc-data-default" ,ghc-data-default)
1401 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1402 ("ghc-semigroups" ,ghc-semigroups)
1403 ("ghc-uniplate" ,ghc-uniplate)))
1404 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
1405 (synopsis "Helper functions for working with haskell-src-exts trees")
1406 (description
1407 "This package provides helper functions for working with
1408@code{haskell-src-exts} trees.")
1409 (license license:bsd-3)))
1410
b28f0ffa
RW
1411(define-public ghc-refact
1412 (package
1413 (name "ghc-refact")
1414 (version "0.3.0.2")
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (string-append "https://hackage.haskell.org/package/"
1419 "refact/refact-"
1420 version ".tar.gz"))
1421 (sha256
1422 (base32
1423 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
1424 (build-system haskell-build-system)
1425 (home-page "http://hackage.haskell.org/package/refact")
1426 (synopsis "Specify refactorings to perform with apply-refact")
1427 (description
1428 "This library provides a datatype which can be interpreted by
add928d3 1429@code{apply-refact}. It exists as a separate library so that applications can
b28f0ffa
RW
1430specify refactorings without depending on GHC.")
1431 (license license:bsd-3)))
1432
6397aef0 1433(define-public hlint
df596b94 1434 (package
6397aef0 1435 (name "hlint")
478365e3 1436 (version "2.1.10")
df596b94
FB
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append
612fddec 1441 "https://hackage.haskell.org/package/" name
6397aef0 1442 "/" name "-" version ".tar.gz"))
df596b94 1443 (sha256
6397aef0 1444 (base32
478365e3 1445 "19as2m9g75cr6n1agzvsij0cvqhb0wbjlk31w4y5d5mns87dki0w"))))
df596b94 1446 (build-system haskell-build-system)
6397aef0
PW
1447 (inputs
1448 `(("cpphs" ,cpphs)
780185cc
RW
1449 ("ghc-unordered-containers" ,ghc-unordered-containers)
1450 ("ghc-yaml" ,ghc-yaml)
1451 ("ghc-vector" ,ghc-vector)
1452 ("ghc-text" ,ghc-text)
1453 ("ghc-data-default" ,ghc-data-default)
6397aef0
PW
1454 ("ghc-cmdargs" ,ghc-cmdargs)
1455 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
780185cc 1456 ("ghc-haskell-src-exts-util" ,ghc-haskell-src-exts-util)
6397aef0
PW
1457 ("ghc-uniplate" ,ghc-uniplate)
1458 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1459 ("ghc-extra" ,ghc-extra)
780185cc
RW
1460 ("ghc-refact" ,ghc-refact)
1461 ("ghc-aeson" ,ghc-aeson)
6397aef0
PW
1462 ("hscolour" ,hscolour)))
1463 (home-page "http://community.haskell.org/~ndm/hlint/")
1464 (synopsis "Suggest improvements for Haskell source code")
1465 (description "HLint reads Haskell programs and suggests changes that
1466hopefully make them easier to read. HLint also makes it easy to disable
1467unwanted suggestions, and to add your own custom suggestions.")
3ac73271 1468 (license license:bsd-3)))
4af803a7 1469
85b2a2f5 1470(define-public ghc-resourcet
4af803a7 1471 (package
85b2a2f5 1472 (name "ghc-resourcet")
990cd5ef 1473 (version "1.2.1")
4af803a7
FB
1474 (source
1475 (origin
1476 (method url-fetch)
990cd5ef
RW
1477 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
1478 "resourcet-" version ".tar.gz"))
4af803a7
FB
1479 (sha256
1480 (base32
990cd5ef 1481 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
4af803a7 1482 (build-system haskell-build-system)
2d47cee2 1483 (inputs
85b2a2f5
PW
1484 `(("ghc-transformers-base" ,ghc-transformers-base)
1485 ("ghc-monad-control" ,ghc-monad-control)
1486 ("ghc-transformers-compat" ,ghc-transformers-compat)
85b2a2f5 1487 ("ghc-mmorph" ,ghc-mmorph)
990cd5ef
RW
1488 ("ghc-exceptions" ,ghc-exceptions)
1489 ("ghc-unliftio-core" ,ghc-unliftio-core)))
2d47cee2 1490 (native-inputs
85b2a2f5
PW
1491 `(("ghc-lifted-base" ,ghc-lifted-base)
1492 ("ghc-hspec" ,ghc-hspec)))
612fddec 1493 (home-page "https://github.com/snoyberg/conduit")
85b2a2f5
PW
1494 (synopsis "Deterministic allocation and freeing of scarce resources")
1495 (description "ResourceT is a monad transformer which creates a region of
1496code where you can safely allocate resources.")
3ac73271 1497 (license license:bsd-3)))
4af803a7 1498
74fa80ee 1499(define-public ghc-objectname
dc0ae39a 1500 (package
74fa80ee 1501 (name "ghc-objectname")
1d9d3ec2 1502 (version "1.1.0.1")
dc0ae39a
FB
1503 (source
1504 (origin
1505 (method url-fetch)
1506 (uri (string-append
612fddec 1507 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
dc0ae39a
FB
1508 version
1509 ".tar.gz"))
1510 (sha256
1511 (base32
1d9d3ec2 1512 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
dc0ae39a 1513 (build-system haskell-build-system)
74fa80ee
PW
1514 (home-page "https://hackage.haskell.org/package/ObjectName")
1515 (synopsis "Helper library for Haskell OpenGL")
1516 (description "This tiny package contains the class ObjectName, which
1517corresponds to the general notion of explicitly handled identifiers for API
1518objects, e.g. a texture object name in OpenGL or a buffer object name in
1519OpenAL.")
3ac73271 1520 (license license:bsd-3)))
dc0ae39a 1521
b784e8c5 1522(define-public ghc-sdl
7a1e8c74 1523 (package
b784e8c5 1524 (name "ghc-sdl")
30a8c0d8 1525 (version "0.6.7.0")
7a1e8c74
FB
1526 (source
1527 (origin
1528 (method url-fetch)
1529 (uri (string-append
612fddec 1530 "https://hackage.haskell.org/package/SDL/SDL-"
7a1e8c74
FB
1531 version
1532 ".tar.gz"))
1533 (sha256
1534 (base32
30a8c0d8 1535 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
7a1e8c74
FB
1536 (build-system haskell-build-system)
1537 (inputs
b784e8c5
PW
1538 `(("sdl" ,sdl)))
1539 (home-page "https://hackage.haskell.org/package/SDL")
1540 (synopsis "LibSDL for Haskell")
1541 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
1542multimedia library designed to provide low level access to audio, keyboard,
1543mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
1544by MPEG playback software, emulators, and many popular games, including the
1545award winning Linux port of \"Civilization: Call To Power.\"")
3ac73271 1546 (license license:bsd-3)))
7a1e8c74 1547
224a0ddb 1548(define-public ghc-sdl-mixer
eaa3088e 1549 (package
224a0ddb 1550 (name "ghc-sdl-mixer")
214fae87 1551 (version "0.6.3.0")
eaa3088e
FB
1552 (source
1553 (origin
1554 (method url-fetch)
1555 (uri (string-append
612fddec 1556 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
eaa3088e
FB
1557 version
1558 ".tar.gz"))
1559 (sha256
1560 (base32
214fae87 1561 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
eaa3088e 1562 (build-system haskell-build-system)
224a0ddb
PW
1563 (arguments
1564 `(#:configure-flags
1565 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
1566 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
fd59d2ee 1567 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
eaa3088e 1568 (inputs
2d47cee2
RW
1569 `(("ghc-sdl" ,ghc-sdl)
1570 ("sdl-mixer" ,sdl-mixer)))
612fddec 1571 (home-page "https://hackage.haskell.org/package/SDL-mixer")
224a0ddb
PW
1572 (synopsis "Haskell bindings to libSDL_mixer")
1573 (description "SDL_mixer is a sample multi-channel audio mixer library. It
1574supports any number of simultaneously playing channels of 16 bit stereo audio,
1575plus a single channel of music, mixed by the popular MikMod MOD, Timidity
1576MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
3ac73271 1577 (license license:bsd-3)))
eaa3088e 1578
c783cac0 1579(define-public ghc-sdl-image
61c02099 1580 (package
c783cac0 1581 (name "ghc-sdl-image")
cfd1a7d0 1582 (version "0.6.2.0")
61c02099
FB
1583 (source
1584 (origin
1585 (method url-fetch)
1586 (uri (string-append
612fddec 1587 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
61c02099
FB
1588 version
1589 ".tar.gz"))
1590 (sha256
1591 (base32
cfd1a7d0 1592 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
61c02099 1593 (build-system haskell-build-system)
61c02099 1594 (arguments
c783cac0
PW
1595 `(#:configure-flags
1596 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1597 (sdl-image-include (string-append sdl-image "/include/SDL")))
fd59d2ee 1598 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
c783cac0 1599 (inputs
2d47cee2
RW
1600 `(("ghc-sdl" ,ghc-sdl)
1601 ("sdl-image" ,sdl-image)))
612fddec 1602 (home-page "https://hackage.haskell.org/package/SDL-image")
c783cac0
PW
1603 (synopsis "Haskell bindings to libSDL_image")
1604 (description "SDL_image is an image file loading library. It loads images
1605as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1606PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
3ac73271 1607 (license license:bsd-3)))
61c02099 1608
22db3ce7 1609(define-public ghc-half
c5043f4a 1610 (package
22db3ce7 1611 (name "ghc-half")
16b4b6d1 1612 (version "0.3")
c5043f4a
FB
1613 (source
1614 (origin
1615 (method url-fetch)
1616 (uri (string-append
612fddec 1617 "https://hackage.haskell.org/package/half/half-"
f1c2aed7 1618 version ".tar.gz"))
c5043f4a
FB
1619 (sha256
1620 (base32
16b4b6d1 1621 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
c5043f4a 1622 (build-system haskell-build-system)
16b4b6d1
TS
1623 (native-inputs
1624 `(("ghc-hspec" ,ghc-hspec)
1625 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 1626 (home-page "https://github.com/ekmett/half")
22db3ce7
PW
1627 (synopsis "Half-precision floating-point computations")
1628 (description "This library provides a half-precision floating-point
1629computation library for Haskell.")
3ac73271 1630 (license license:bsd-3)))
c5043f4a 1631
0ffea6f2
RW
1632(define-public ghc-fixed
1633 (package
1634 (name "ghc-fixed")
1635 (version "0.2.1.1")
1636 (source
1637 (origin
1638 (method url-fetch)
1639 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
1640 version ".tar.gz"))
1641 (sha256
1642 (base32
1643 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
1644 (build-system haskell-build-system)
1645 (home-page "https://github.com/ekmett/fixed")
1646 (synopsis "Signed 15.16 precision fixed point arithmetic")
1647 (description
1648 "This package provides functions for signed 15.16 precision fixed point
1649arithmetic.")
1650 (license license:bsd-3)))
1651
c480b85e 1652(define-public ghc-openglraw
01a687da 1653 (package
c480b85e 1654 (name "ghc-openglraw")
1aacec9e 1655 (version "3.3.1.0")
01a687da
FB
1656 (source
1657 (origin
1658 (method url-fetch)
1659 (uri (string-append
612fddec 1660 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
01a687da
FB
1661 version
1662 ".tar.gz"))
1663 (sha256
1664 (base32
1aacec9e 1665 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
01a687da
FB
1666 (build-system haskell-build-system)
1667 (inputs
c480b85e 1668 `(("ghc-half" ,ghc-half)
e80e97b5 1669 ("ghc-fixed" ,ghc-fixed)
c480b85e
PW
1670 ("glu" ,glu)
1671 ("ghc-text" ,ghc-text)))
98b90194 1672 (home-page "https://www.haskell.org/haskellwiki/Opengl")
c480b85e
PW
1673 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1674 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1675graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1676of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1677offers access to all necessary functions, tokens and types plus a general
1678facility for loading extension entries. The module hierarchy closely mirrors
1679the naming structure of the OpenGL extensions, making it easy to find the
1680right module to import. All API entries are loaded dynamically, so no special
1681C header files are needed for building this package. If an API entry is not
1682found at runtime, a userError is thrown.")
3ac73271 1683 (license license:bsd-3)))
01a687da 1684
bce03084 1685(define-public ghc-glut
d692228e 1686 (package
bce03084 1687 (name "ghc-glut")
2dee6394 1688 (version "2.7.0.14")
d692228e
FB
1689 (source
1690 (origin
1691 (method url-fetch)
1692 (uri (string-append
612fddec 1693 "https://hackage.haskell.org/package/GLUT/GLUT-"
d692228e
FB
1694 version
1695 ".tar.gz"))
1696 (sha256
1697 (base32
2dee6394 1698 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
d692228e 1699 (build-system haskell-build-system)
2d47cee2 1700 (inputs
bce03084 1701 `(("ghc-statevar" ,ghc-statevar)
2d47cee2 1702 ("ghc-opengl" ,ghc-opengl)
dd169b73 1703 ("ghc-openglraw" ,ghc-openglraw)
bce03084 1704 ("freeglut" ,freeglut)))
98b90194 1705 (home-page "https://www.haskell.org/haskellwiki/Opengl")
bce03084
PW
1706 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1707 (description "This library provides Haskell bindings for the OpenGL
1708Utility Toolkit, a window system-independent toolkit for writing OpenGL
1709programs.")
3ac73271 1710 (license license:bsd-3)))
d692228e 1711
894562e3 1712(define-public ghc-gluraw
fa468e87 1713 (package
894562e3 1714 (name "ghc-gluraw")
211b2133 1715 (version "2.0.0.4")
fa468e87
FB
1716 (source
1717 (origin
1718 (method url-fetch)
1719 (uri (string-append
612fddec 1720 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
fa468e87
FB
1721 version
1722 ".tar.gz"))
1723 (sha256
894562e3 1724 (base32
211b2133 1725 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
fa468e87 1726 (build-system haskell-build-system)
2d47cee2 1727 (inputs
894562e3 1728 `(("ghc-openglraw" ,ghc-openglraw)))
98b90194 1729 (home-page "https://www.haskell.org/haskellwiki/Opengl")
894562e3
PW
1730 (synopsis "Raw Haskell bindings GLU")
1731 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1732utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1733basis for a nicer interface.")
3ac73271 1734 (license license:bsd-3)))
fa468e87 1735
fe28ba70 1736(define-public ghc-opengl
f50fc138 1737 (package
fe28ba70 1738 (name "ghc-opengl")
ce88eae9 1739 (version "3.0.2.2")
f50fc138
FB
1740 (source
1741 (origin
1742 (method url-fetch)
1743 (uri (string-append
612fddec 1744 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
f50fc138
FB
1745 version
1746 ".tar.gz"))
1747 (sha256
1748 (base32
ce88eae9 1749 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
f50fc138 1750 (build-system haskell-build-system)
2d47cee2 1751 (inputs
fe28ba70
PW
1752 `(("ghc-text" ,ghc-text)
1753 ("ghc-objectname" ,ghc-objectname)
1754 ("ghc-gluraw" ,ghc-gluraw)
1755 ("ghc-statevar" ,ghc-statevar)
1756 ("ghc-openglraw" ,ghc-openglraw)))
98b90194 1757 (home-page "https://www.haskell.org/haskellwiki/Opengl")
fe28ba70
PW
1758 (synopsis "Haskell bindings for the OpenGL graphics system")
1759 (description "This package provides Haskell bindings for the OpenGL
1760graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1761version 1.3).")
3ac73271 1762 (license license:bsd-3)))
f50fc138 1763
f550db48 1764(define-public ghc-streaming-commons
abfed253 1765 (package
f550db48 1766 (name "ghc-streaming-commons")
c437b800 1767 (version "0.2.1.0")
abfed253
FB
1768 (source
1769 (origin
1770 (method url-fetch)
c437b800
RW
1771 (uri (string-append "https://hackage.haskell.org/package/"
1772 "streaming-commons/streaming-commons-"
1773 version ".tar.gz"))
abfed253
FB
1774 (sha256
1775 (base32
c437b800 1776 "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
abfed253
FB
1777 (build-system haskell-build-system)
1778 (inputs
c437b800
RW
1779 `(("ghc-async" ,ghc-async)
1780 ("ghc-blaze-builder" ,ghc-blaze-builder)
2d47cee2
RW
1781 ("ghc-network" ,ghc-network)
1782 ("ghc-random" ,ghc-random)
f550db48
PW
1783 ("ghc-stm" ,ghc-stm)
1784 ("ghc-text" ,ghc-text)
f550db48 1785 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
1786 (native-inputs
1787 `(("ghc-quickcheck" ,ghc-quickcheck)
1788 ("ghc-hspec" ,ghc-hspec)
1789 ("hspec-discover" ,hspec-discover)))
f550db48
PW
1790 (home-page "https://hackage.haskell.org/package/streaming-commons")
1791 (synopsis "Conduit and pipes needed by some streaming data libraries")
b90f72dc
RW
1792 (description "This package provides low-dependency functionality commonly
1793needed by various Haskell streaming data libraries, such as @code{conduit} and
f550db48 1794@code{pipe}s.")
b90f72dc 1795 (license license:expat)))
abfed253 1796
78249cc0 1797(define-public cpphs
9ce031c5 1798 (package
78249cc0 1799 (name "cpphs")
c12562e1 1800 (version "1.20.8")
9ce031c5
FB
1801 (source
1802 (origin
1803 (method url-fetch)
1804 (uri (string-append
612fddec 1805 "https://hackage.haskell.org/package/" name "/"
78249cc0
PW
1806 name "-" version ".tar.gz"))
1807 (sha256
1808 (base32
c12562e1 1809 "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
78249cc0 1810 (build-system haskell-build-system)
2d47cee2 1811 (inputs
78249cc0
PW
1812 `(("ghc-polyparse" ,ghc-polyparse)
1813 ("ghc-old-locale" ,ghc-old-locale)
1814 ("ghc-old-time" ,ghc-old-time)))
1815 (home-page "http://projects.haskell.org/cpphs/")
1816 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1817 (description "Cpphs is a re-implementation of the C pre-processor that is
1818both more compatible with Haskell, and itself written in Haskell so that it
1819can be distributed with compilers. This version of the C pre-processor is
1820pretty-much feature-complete and compatible with traditional (K&R)
1821pre-processors. Additional features include: a plain-text mode; an option to
1822unlit literate code files; and an option to turn off macro-expansion.")
3ac73271 1823 (license (list license:lgpl2.1+ license:gpl3+))))
78249cc0 1824
865ac573
PW
1825(define-public ghc-reflection
1826 (package
1827 (name "ghc-reflection")
e7e74518 1828 (version "2.1.4")
865ac573
PW
1829 (source
1830 (origin
1831 (method url-fetch)
1832 (uri (string-append
612fddec 1833 "https://hackage.haskell.org/package/reflection/reflection-"
9ce031c5
FB
1834 version
1835 ".tar.gz"))
1836 (sha256
1837 (base32
e7e74518 1838 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
9ce031c5 1839 (build-system haskell-build-system)
865ac573 1840 (inputs `(("ghc-tagged" ,ghc-tagged)))
612fddec 1841 (home-page "https://github.com/ekmett/reflection")
865ac573
PW
1842 (synopsis "Reify arbitrary terms into types that can be reflected back
1843into terms")
1844 (description "This package addresses the 'configuration problem' which is
1845propogating configurations that are available at run-time, allowing multiple
1846configurations to coexist without resorting to mutable global variables or
1847@code{System.IO.Unsafe.unsafePerformIO}.")
3ac73271 1848 (license license:bsd-3)))
9ce031c5 1849
6a0add9c 1850(define-public ghc-old-locale
a231ef7e 1851 (package
6a0add9c
PW
1852 (name "ghc-old-locale")
1853 (version "1.0.0.7")
a231ef7e
FB
1854 (source
1855 (origin
1856 (method url-fetch)
1857 (uri (string-append
612fddec 1858 "https://hackage.haskell.org/package/old-locale/old-locale-"
a231ef7e
FB
1859 version
1860 ".tar.gz"))
1861 (sha256
6a0add9c 1862 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
a231ef7e 1863 (build-system haskell-build-system)
afff0b6d 1864 (arguments
12eb67dc
TS
1865 `(#:cabal-revision
1866 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
612fddec 1867 (home-page "https://hackage.haskell.org/package/old-locale")
6a0add9c
PW
1868 (synopsis "Adapt to locale conventions")
1869 (description
1870 "This package provides the ability to adapt to locale conventions such as
1871date and time formats.")
3ac73271 1872 (license license:bsd-3)))
6a0add9c 1873
7ae4c102
PW
1874(define-public ghc-old-time
1875 (package
1876 (name "ghc-old-time")
1877 (version "1.1.0.3")
1878 (source
1879 (origin
1880 (method url-fetch)
1881 (uri (string-append
612fddec 1882 "https://hackage.haskell.org/package/old-time/old-time-"
7ae4c102
PW
1883 version
1884 ".tar.gz"))
1885 (sha256
1886 (base32
1887 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1888 (build-system haskell-build-system)
037181ed 1889 (arguments
e3777511
TS
1890 `(#:cabal-revision
1891 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
2d47cee2 1892 (inputs
7ae4c102 1893 `(("ghc-old-locale" ,ghc-old-locale)))
612fddec 1894 (home-page "https://hackage.haskell.org/package/old-time")
7ae4c102
PW
1895 (synopsis "Time compatibility library for Haskell")
1896 (description "Old-time is a package for backwards compatibility with the
1897old @code{time} library. For new projects, the newer
612fddec 1898@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
3ac73271 1899 (license license:bsd-3)))
7ae4c102 1900
684f29ab
SB
1901(define-public ghc-data-default-instances-old-locale
1902 (package
1903 (name "ghc-data-default-instances-old-locale")
1904 (version "0.0.1")
1905 (source
1906 (origin
1907 (method url-fetch)
1908 (uri (string-append
612fddec 1909 "https://hackage.haskell.org/package/"
684f29ab
SB
1910 "data-default-instances-old-locale/"
1911 "data-default-instances-old-locale-" version ".tar.gz"))
1912 (sha256
1913 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1914 (build-system haskell-build-system)
2d47cee2 1915 (inputs
6a0add9c
PW
1916 `(("ghc-data-default-class" ,ghc-data-default-class)
1917 ("ghc-old-locale" ,ghc-old-locale)))
684f29ab 1918 (home-page
612fddec 1919 "https://hackage.haskell.org/package/data-default-instances-old-locale")
684f29ab
SB
1920 (synopsis "Default instances for types in old-locale")
1921 (description "Provides Default instances for types from the old-locale
1922 package.")
3ac73271 1923 (license license:bsd-3)))
684f29ab 1924
eb6ae860
SB
1925(define-public ghc-dlist
1926 (package
1927 (name "ghc-dlist")
40a6d7a2 1928 (version "0.8.0.4")
eb6ae860
SB
1929 (source
1930 (origin
1931 (method url-fetch)
1932 (uri (string-append
612fddec 1933 "https://hackage.haskell.org/package/dlist/dlist-"
eb6ae860
SB
1934 version
1935 ".tar.gz"))
1936 (sha256
40a6d7a2 1937 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
eb6ae860 1938 (build-system haskell-build-system)
409ec7c0
PW
1939 (inputs
1940 `(("ghc-quickcheck" ,ghc-quickcheck)))
eb6ae860
SB
1941 (home-page "https://github.com/spl/dlist")
1942 (synopsis "Difference lists")
1943 (description
1944 "Difference lists are a list-like type supporting O(1) append. This is
1945particularly useful for efficient logging and pretty printing (e.g. with the
1946Writer monad), where list append quickly becomes too expensive.")
3ac73271 1947 (license license:bsd-3)))
eb6ae860 1948
05b964ae
SB
1949(define-public ghc-extensible-exceptions
1950 (package
1951 (name "ghc-extensible-exceptions")
1952 (version "0.1.1.4")
1953 (source
1954 (origin
1955 (method url-fetch)
612fddec 1956 (uri (string-append "https://hackage.haskell.org/package/"
05b964ae
SB
1957 "extensible-exceptions/extensible-exceptions-"
1958 version ".tar.gz"))
1959 (sha256
1960 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1961 (build-system haskell-build-system)
612fddec 1962 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
05b964ae
SB
1963 (synopsis "Extensible exceptions for Haskell")
1964 (description
1965 "This package provides extensible exceptions for both new and old
1966versions of GHC (i.e., < 6.10).")
3ac73271 1967 (license license:bsd-3)))
05b964ae 1968
c4a68dea
TS
1969(define-public ghc-echo
1970 (package
1971 (name "ghc-echo")
1972 (version "0.1.3")
1973 (source
1974 (origin
1975 (method url-fetch)
1976 (uri (string-append
1977 "https://hackage.haskell.org/package/echo/echo-"
1978 version ".tar.gz"))
1979 (sha256
1980 (base32
1981 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
1982 (build-system haskell-build-system)
1983 (arguments
1984 `(#:cabal-revision
1985 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
1986 (home-page "https://github.com/RyanGlScott/echo")
1987 (synopsis "Echo terminal input portably")
1988 (description "The @code{base} library exposes the @code{hGetEcho} and
1989@code{hSetEcho} functions for querying and setting echo status, but
1990unfortunately, neither function works with MinTTY consoles on Windows.
1991This library provides an alternative interface which works with both
1992MinTTY and other consoles.")
1993 (license license:bsd-3)))
1994
45e421ff
TS
1995(define-public ghc-hackage-security
1996 (package
1997 (name "ghc-hackage-security")
1998 (version "0.5.3.0")
1999 (source
2000 (origin
2001 (method url-fetch)
2002 (uri (string-append "https://hackage.haskell.org/package/"
2003 "hackage-security/hackage-security-"
2004 version ".tar.gz"))
2005 (sha256
2006 (base32
2007 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
2008 (build-system haskell-build-system)
2009 (arguments
2010 `(#:tests? #f)) ; Tests fail because of framework updates.
2011 (inputs
2012 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
2013 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2014 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
2015 ("ghc-ed25519" ,ghc-ed25519)
2016 ("ghc-network" ,ghc-network)
2017 ("ghc-network-uri" ,ghc-network-uri)
2018 ("ghc-parsec" ,ghc-parsec)
2019 ("ghc-tar" ,ghc-tar)
2020 ("ghc-zlib" ,ghc-zlib)))
2021 (native-inputs
2022 `(("ghc-network-uri" ,ghc-network-uri)
2023 ("ghc-quickcheck" ,ghc-quickcheck)
2024 ("ghc-tar" ,ghc-tar)
2025 ("ghc-tasty" ,ghc-tasty)
2026 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2027 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2028 ("ghc-temporary" ,ghc-temporary)
2029 ("ghc-zlib" ,ghc-zlib)))
2030 (home-page "https://github.com/haskell/hackage-security")
2031 (synopsis "Hackage security library")
2032 (description "This Hackage security library provides both server and
2033client utilities for securing @uref{http://hackage.haskell.org/, the
2034Hackage package server}. It is based on
2035@uref{http://theupdateframework.com/, The Update Framework}, a set of
2036recommendations developed by security researchers at various universities
2037in the US as well as developers on the @uref{https://www.torproject.org/,
2038Tor project}.")
2039 (license license:bsd-3)))
2040
246cdfac
TS
2041(define-public ghc-resolv
2042 (package
2043 (name "ghc-resolv")
2044 (version "0.1.1.1")
2045 (source
2046 (origin
2047 (method url-fetch)
2048 (uri (string-append
2049 "https://hackage.haskell.org/package/resolv/resolv-"
2050 version ".tar.gz"))
2051 (sha256
2052 (base32
2053 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
2054 (build-system haskell-build-system)
2055 (arguments
2056 `(#:cabal-revision
2057 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
2058 #:tests? #f)) ; The required test frameworks are too old.
2059 (inputs
2060 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
2061 (home-page "https://github.com/haskell/hackage-security")
2062 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
2063 (description "This package implements an API for accessing the
2064@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
2065resolver service via the standard @code{libresolv} system library (whose
2066API is often available directly via the standard @code{libc} C library) on
2067Unix systems.")
2068 (license license:gpl3)))
2069
df1db767
SB
2070(define-public cabal-install
2071 (package
2072 (name "cabal-install")
f707db29 2073 (version "2.2.0.0")
df1db767
SB
2074 (source
2075 (origin
2076 (method url-fetch)
2077 (uri (string-append
612fddec 2078 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
df1db767
SB
2079 version
2080 ".tar.gz"))
2081 (sha256
f707db29 2082 (base32 "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8"))))
df1db767
SB
2083 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
2084 (build-system haskell-build-system)
2d47cee2 2085 (inputs
f707db29
TS
2086 `(("ghc-async" ,ghc-async)
2087 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2088 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
2089 ("ghc-echo" ,ghc-echo)
2090 ("ghc-edit-distance" ,ghc-edit-distance)
2091 ("ghc-hackage-security" ,ghc-hackage-security)
2092 ("ghc-hashable" ,ghc-hashable)
2093 ("ghc-http" ,ghc-http)
df1db767
SB
2094 ("ghc-network-uri" ,ghc-network-uri)
2095 ("ghc-network" ,ghc-network)
2096 ("ghc-random" ,ghc-random)
f707db29 2097 ("ghc-resolv" ,ghc-resolv)
df1db767 2098 ("ghc-stm" ,ghc-stm)
f707db29 2099 ("ghc-tar" ,ghc-tar)
df1db767 2100 ("ghc-zlib" ,ghc-zlib)))
98b90194 2101 (home-page "https://www.haskell.org/cabal/")
df1db767
SB
2102 (synopsis "Command-line interface for Cabal and Hackage")
2103 (description
2104 "The cabal command-line program simplifies the process of managing
2105Haskell software by automating the fetching, configuration, compilation and
2106installation of Haskell libraries and programs.")
3ac73271 2107 (license license:bsd-3)))
df1db767 2108
3168796a
RW
2109(define-public cabal-doctest
2110 (package
2111 (name "cabal-doctest")
2112 (version "1.0.6")
2113 (source
2114 (origin
2115 (method url-fetch)
2116 (uri (string-append "https://hackage.haskell.org/package/"
2117 "cabal-doctest/cabal-doctest-"
2118 version ".tar.gz"))
2119 (sha256
2120 (base32
2121 "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
2122 (build-system haskell-build-system)
988dee48
TS
2123 (arguments
2124 `(#:cabal-revision
2125 ("1" "1bk85avgc93yvcggwbk01fy8nvg6753wgmaanhkry0hz55h7mpld")))
3168796a
RW
2126 (home-page "https://github.com/phadej/cabal-doctest")
2127 (synopsis "Setup.hs helper for running doctests")
2128 (description
2129 "To properly work, the @code{doctest} package needs plenty of
2130configuration. This library provides the common bits for writing custom
2131@file{Setup.hs} files.")
2132 (license license:bsd-3)))
2133
fe0fb890
TGR
2134(define-public ghc-parsec-numbers
2135 (package
2136 (name "ghc-parsec-numbers")
2137 (version "0.1.0")
2138 (source
2139 (origin
2140 (method url-fetch)
2141 (uri (string-append "https://hackage.haskell.org/package/"
2142 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
2143 (sha256
2144 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
2145 (build-system haskell-build-system)
2146 (inputs
2147 `(("ghc-parsec" ,ghc-parsec)))
95bf0780 2148 (home-page "https://hackage.haskell.org/package/parsec-numbers")
fe0fb890
TGR
2149 (synopsis "Utilities for parsing numbers from strings")
2150 (description
2151 "This package provides the number parsers without the need to use a large
2152(and unportable) token parser.")
2153 (license license:bsd-3)))
2154
0939da6e
FB
2155(define-public ghc-paths
2156 (package
2157 (name "ghc-paths")
2158 (version "0.1.0.9")
2159 (outputs '("out" "doc"))
2160 (source
2161 (origin
2162 (method url-fetch)
2163 (uri (string-append
612fddec 2164 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
0939da6e
FB
2165 version
2166 ".tar.gz"))
2167 (sha256
2168 (base32
2169 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
2170 (build-system haskell-build-system)
2171 (home-page "https://github.com/simonmar/ghc-paths")
2172 (synopsis
2173 "Knowledge of GHC's installation directories")
2174 (description
2175 "Knowledge of GHC's installation directories.")
3ac73271 2176 (license license:bsd-3)))
0939da6e 2177
7fc7186e
SB
2178(define-public ghc-utf8-string
2179 (package
2180 (name "ghc-utf8-string")
ac426aa5 2181 (version "1.0.1.1")
7fc7186e
SB
2182 (source
2183 (origin
2184 (method url-fetch)
2185 (uri (string-append
612fddec 2186 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
7fc7186e
SB
2187 version
2188 ".tar.gz"))
2189 (sha256
ac426aa5 2190 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
7fc7186e 2191 (build-system haskell-build-system)
4fe3ce82 2192 (arguments
c325dde2
TS
2193 `(#:cabal-revision
2194 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
612fddec 2195 (home-page "https://github.com/glguy/utf8-string/")
7fc7186e
SB
2196 (synopsis "Support for reading and writing UTF8 Strings")
2197 (description
ac426aa5 2198 "A UTF8 layer for Strings. The utf8-string package provides operations
7fc7186e
SB
2199for encoding UTF8 strings to Word8 lists and back, and for reading and writing
2200UTF8 without truncation.")
3ac73271 2201 (license license:bsd-3)))
7fc7186e 2202
a45a15df
PW
2203(define-public ghc-setenv
2204 (package
2205 (name "ghc-setenv")
2206 (version "0.1.1.3")
2207 (source
2208 (origin
2209 (method url-fetch)
2210 (uri (string-append
612fddec 2211 "https://hackage.haskell.org/package/setenv/setenv-"
a45a15df
PW
2212 version
2213 ".tar.gz"))
2214 (sha256
2215 (base32
2216 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
2217 (build-system haskell-build-system)
612fddec 2218 (home-page "https://hackage.haskell.org/package/setenv")
a45a15df
PW
2219 (synopsis "Library for setting environment variables")
2220 (description "This package provides a Haskell library for setting
2221environment variables.")
3ac73271 2222 (license license:expat)))
a45a15df 2223
c7bdb413
MM
2224(define-public ghc-setlocale
2225 (package
2226 (name "ghc-setlocale")
42f2732e 2227 (version "1.0.0.8")
c7bdb413
MM
2228 (source (origin
2229 (method url-fetch)
2230 (uri (string-append
2231 "https://hackage.haskell.org/package/setlocale-"
2232 version "/setlocale-" version ".tar.gz"))
2233 (sha256
2234 (base32
42f2732e 2235 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
c7bdb413
MM
2236 (build-system haskell-build-system)
2237 (home-page "https://hackage.haskell.org/package/setlocale")
2238 (synopsis "Haskell bindings to setlocale")
2239 (description "This package provides Haskell bindings to the
2240@code{setlocale} C function.")
2241 (license license:bsd-3)))
2242
720fb41c
SB
2243(define-public ghc-x11
2244 (package
2245 (name "ghc-x11")
d09b2ad4 2246 (version "1.9")
720fb41c
SB
2247 (source
2248 (origin
2249 (method url-fetch)
612fddec 2250 (uri (string-append "https://hackage.haskell.org/package/X11/"
720fb41c
SB
2251 "X11-" version ".tar.gz"))
2252 (sha256
d09b2ad4 2253 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
720fb41c
SB
2254 (build-system haskell-build-system)
2255 (inputs
2256 `(("libx11" ,libx11)
2257 ("libxrandr" ,libxrandr)
2258 ("libxinerama" ,libxinerama)
2d47cee2
RW
2259 ("libxscrnsaver" ,libxscrnsaver)
2260 ("ghc-data-default" ,ghc-data-default)))
720fb41c
SB
2261 (home-page "https://github.com/haskell-pkg-janitors/X11")
2262 (synopsis "Bindings to the X11 graphics library")
2263 (description
2264 "This package provides Haskell bindings to the X11 graphics library. The
2265bindings are a direct translation of the C bindings.")
3ac73271 2266 (license license:bsd-3)))
720fb41c 2267
c34507d6
SB
2268(define-public ghc-x11-xft
2269 (package
2270 (name "ghc-x11-xft")
2271 (version "0.3.1")
2272 (source
2273 (origin
2274 (method url-fetch)
612fddec 2275 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
c34507d6
SB
2276 "X11-xft-" version ".tar.gz"))
2277 (sha256
2278 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
c34507d6 2279 (inputs
2d47cee2
RW
2280 `(("ghc-x11" ,ghc-x11)
2281 ("ghc-utf8-string" ,ghc-utf8-string)
2282 ("libx11" ,libx11)
c34507d6 2283 ("libxft" ,libxft)
6a6db57f 2284 ("xorgproto" ,xorgproto)))
c34507d6
SB
2285 (native-inputs
2286 `(("pkg-config" ,pkg-config)))
2287 (build-system haskell-build-system)
612fddec 2288 (home-page "https://hackage.haskell.org/package/X11-xft")
c34507d6
SB
2289 (synopsis "Bindings to Xft")
2290 (description
2291 "Bindings to the Xft, X Free Type interface library, and some Xrender
2292parts.")
3ac73271 2293 (license license:lgpl2.1)))
c34507d6 2294
318f9d88
PW
2295(define-public ghc-stringbuilder
2296 (package
2297 (name "ghc-stringbuilder")
4112a2e7 2298 (version "0.5.1")
318f9d88
PW
2299 (source
2300 (origin
2301 (method url-fetch)
2302 (uri (string-append
612fddec 2303 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
318f9d88
PW
2304 version
2305 ".tar.gz"))
2306 (sha256
2307 (base32
4112a2e7 2308 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
318f9d88
PW
2309 (build-system haskell-build-system)
2310 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
2311 ; enabled
612fddec 2312 (home-page "https://hackage.haskell.org/package/stringbuilder")
318f9d88
PW
2313 (synopsis "Writer monad for multi-line string literals")
2314 (description "This package provides a writer monad for multi-line string
2315literals.")
3ac73271 2316 (license license:expat)))
318f9d88 2317
3d3613d5
FB
2318(define-public ghc-zlib
2319 (package
2320 (name "ghc-zlib")
d3c7e708 2321 (version "0.6.2")
3d3613d5
FB
2322 (outputs '("out" "doc"))
2323 (source
2324 (origin
2325 (method url-fetch)
2326 (uri (string-append
612fddec 2327 "https://hackage.haskell.org/package/zlib/zlib-"
3d3613d5
FB
2328 version
2329 ".tar.gz"))
2330 (sha256
2331 (base32
d3c7e708 2332 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
3d3613d5 2333 (build-system haskell-build-system)
e09ef4fc
TS
2334 (arguments
2335 `(#:phases
2336 (modify-phases %standard-phases
2337 (add-before 'configure 'strip-test-framework-constraints
2338 (lambda _
2339 (substitute* "zlib.cabal"
2340 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
2341 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
2342 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
3d3613d5 2343 (inputs `(("zlib" ,zlib)))
906a396b
AI
2344 (native-inputs
2345 `(("ghc-quickcheck" ,ghc-quickcheck)
2346 ("ghc-tasty" ,ghc-tasty)
2347 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2348 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
612fddec 2349 (home-page "https://hackage.haskell.org/package/zlib")
3d3613d5
FB
2350 (synopsis
2351 "Compression and decompression in the gzip and zlib formats")
2352 (description
2353 "This package provides a pure interface for compressing and decompressing
2354streams of data represented as lazy 'ByteString's. It uses the zlib C library
2355so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
2356compression formats. It provides a convenient high level API suitable for
2357most tasks and for the few cases where more control is needed it provides
2358access to the full zlib feature set.")
3ac73271 2359 (license license:bsd-3)))
3d3613d5 2360
a39f3936
FB
2361(define-public ghc-stm
2362 (package
2363 (name "ghc-stm")
567bf5b9 2364 (version "2.4.5.0")
a39f3936
FB
2365 (outputs '("out" "doc"))
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
612fddec 2370 "https://hackage.haskell.org/package/stm/stm-"
a39f3936
FB
2371 version
2372 ".tar.gz"))
2373 (sha256
2374 (base32
567bf5b9 2375 "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri"))))
a39f3936 2376 (build-system haskell-build-system)
612fddec 2377 (home-page "https://hackage.haskell.org/package/stm")
a39f3936
FB
2378 (synopsis "Software Transactional Memory")
2379 (description
567bf5b9
RW
2380 "Software Transactional Memory, or STM, is an abstraction for concurrent
2381communication. The main benefits of STM are composability and modularity.
2382That is, using STM you can write concurrent abstractions that can be easily
2383composed with any other abstraction built using STM, without exposing the
2384details of how your abstraction ensures safety. This is typically not the
2385case with other forms of concurrent communication, such as locks or
2386@code{MVar}s.")
3ac73271 2387 (license license:bsd-3)))
a39f3936 2388
e916e211
FB
2389(define-public ghc-parallel
2390 (package
2391 (name "ghc-parallel")
62f97b12 2392 (version "3.2.2.0")
e916e211
FB
2393 (outputs '("out" "doc"))
2394 (source
2395 (origin
2396 (method url-fetch)
2397 (uri (string-append
612fddec 2398 "https://hackage.haskell.org/package/parallel/parallel-"
e916e211
FB
2399 version
2400 ".tar.gz"))
2401 (sha256
2402 (base32
62f97b12 2403 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
e916e211 2404 (build-system haskell-build-system)
612fddec 2405 (home-page "https://hackage.haskell.org/package/parallel")
e916e211
FB
2406 (synopsis "Parallel programming library")
2407 (description
2408 "This package provides a library for parallel programming.")
3ac73271 2409 (license license:bsd-3)))
e916e211 2410
6950a450
TS
2411(define-public ghc-safesemaphore
2412 (package
2413 (name "ghc-safesemaphore")
2414 (version "0.10.1")
2415 (source
2416 (origin
2417 (method url-fetch)
2418 (uri (string-append "https://hackage.haskell.org/package/"
2419 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
2420 (sha256
2421 (base32
2422 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
2423 (build-system haskell-build-system)
2424 (inputs
2425 `(("ghc-stm" ,ghc-stm)))
2426 (native-inputs
2427 `(("ghc-hunit" ,ghc-hunit)))
2428 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
2429 (synopsis "Exception safe semaphores")
2430 (description "This library provides exception safe semaphores that can be
2431used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
2432are not exception safe and can be broken by @code{killThread}.")
2433 (license license:bsd-3)))
2434
deb36de0
FB
2435(define-public ghc-text
2436 (package
2437 (name "ghc-text")
44f717ef 2438 (version "1.2.3.0")
deb36de0
FB
2439 (outputs '("out" "doc"))
2440 (source
2441 (origin
2442 (method url-fetch)
2443 (uri (string-append
612fddec 2444 "https://hackage.haskell.org/package/text/text-"
deb36de0
FB
2445 version
2446 ".tar.gz"))
2447 (sha256
2448 (base32
44f717ef 2449 "06iir7q99rnffzxi8gagn8w1k9m49368sbidgz634fv1gxib3q10"))))
deb36de0 2450 (build-system haskell-build-system)
5e3840e2
RW
2451 ;; The test dependencies depend on ghc-text: ghc-test-framework -> ghc-xml -> ghc-text
2452 (arguments `(#:tests? #f))
2453 (inputs
2454 `(("ghc-random" ,ghc-random)))
deb36de0 2455 (home-page "https://github.com/bos/text")
1eefe4a8 2456 (synopsis "Efficient packed Unicode text type library")
deb36de0
FB
2457 (description
2458 "An efficient packed, immutable Unicode text type (both strict and
2459lazy), with a powerful loop fusion optimization framework.
2460
2461The 'Text' type represents Unicode character strings, in a time and
1eefe4a8 2462space-efficient manner. This package provides text processing
deb36de0
FB
2463capabilities that are optimized for performance critical use, both
2464in terms of large data quantities and high speed.")
3ac73271 2465 (license license:bsd-3)))
deb36de0 2466
f941a52a
RW
2467(define-public ghc-text-binary
2468 (package
2469 (name "ghc-text-binary")
2470 (version "0.2.1.1")
2471 (source
2472 (origin
2473 (method url-fetch)
2474 (uri (string-append "https://hackage.haskell.org/package/"
2475 "text-binary/text-binary-"
2476 version ".tar.gz"))
2477 (sha256
2478 (base32
2479 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
2480 (build-system haskell-build-system)
2481 (inputs `(("ghc-text" ,ghc-text)))
2482 (home-page "https://github.com/kawu/text-binary")
2483 (synopsis "Binary instances for text types")
2484 (description
2485 "This package provides a compatibility layer providing @code{Binary}
2486instances for strict and lazy text types for versions older than 1.2.1 of the
2487text package.")
2488 (license license:bsd-2)))
2489
f99a57dc
AV
2490(define-public ghc-strict
2491 (package
2492 (name "ghc-strict")
2493 (version "0.3.2")
2494 (source
2495 (origin
2496 (method url-fetch)
2497 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
2498 version ".tar.gz"))
2499 (sha256
2500 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
2501 (build-system haskell-build-system)
2502 (home-page "https://hackage.haskell.org/package/strict")
2503 (synopsis "Strict data types and String IO")
2504 (description
2505 "This package provides strict versions of some standard Haskell data
2506types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
2507IO operations.")
2508 (license license:bsd-3)))
2509
775be802
FB
2510(define-public ghc-hashable
2511 (package
2512 (name "ghc-hashable")
c496fb98 2513 (version "1.2.7.0")
775be802
FB
2514 (outputs '("out" "doc"))
2515 (source
2516 (origin
2517 (method url-fetch)
2518 (uri (string-append
612fddec 2519 "https://hackage.haskell.org/package/hashable/hashable-"
775be802
FB
2520 version
2521 ".tar.gz"))
2522 (sha256
2523 (base32
c496fb98 2524 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
775be802 2525 (build-system haskell-build-system)
2d47cee2 2526 (inputs
c165ff9c
RW
2527 `(("ghc-text" ,ghc-text)
2528 ("ghc-random" ,ghc-random)))
2529 (native-inputs
2530 `(("ghc-test-framework" ,ghc-test-framework)
2531 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2532 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2533 ("ghc-hunit" ,ghc-hunit)
2534 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 2535 (home-page "https://github.com/tibbe/hashable")
c165ff9c 2536 (synopsis "Class for types that can be converted to a hash value")
775be802 2537 (description
c165ff9c 2538 "This package defines a class, @code{Hashable}, for types that can be
775be802
FB
2539converted to a hash value. This class exists for the benefit of hashing-based
2540data structures. The package provides instances for basic types and a way to
2541combine hash values.")
3ac73271 2542 (license license:bsd-3)))
775be802 2543
bc8bda50
TS
2544(define-public ghc-hashable-bootstrap
2545 (package
2546 (inherit ghc-hashable)
2547 (name "ghc-hashable-bootstrap")
2548 (arguments `(#:tests? #f))
2549 (native-inputs '())
2550 (properties '((hidden? #t)))))
2551
82674ed9
RW
2552(define-public ghc-hashable-time
2553 (package
2554 (name "ghc-hashable-time")
2555 (version "0.2.0.1")
2556 (source
2557 (origin
2558 (method url-fetch)
2559 (uri (string-append
2560 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
2561 version
2562 ".tar.gz"))
2563 (sha256
2564 (base32
2565 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
2566 (build-system haskell-build-system)
75c07ef5
TS
2567 (arguments
2568 `(#:cabal-revision
2569 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
82674ed9
RW
2570 (inputs `(("ghc-hashable" ,ghc-hashable)))
2571 (home-page "http://hackage.haskell.org/package/hashable-time")
2572 (synopsis "Hashable instances for Data.Time")
2573 (description
2574 "This package provides @code{Hashable} instances for types in
2575@code{Data.Time}.")
2576 (license license:bsd-3)))
2577
ca48a345
AV
2578(define-public ghc-data-hash
2579 (package
2580 (name "ghc-data-hash")
2581 (version "0.2.0.1")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2586 "/data-hash-" version ".tar.gz"))
2587 (sha256
2588 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2589 (build-system haskell-build-system)
2590 (inputs
2591 `(("ghc-quickcheck" ,ghc-quickcheck)
2592 ("ghc-test-framework" ,ghc-test-framework)
2593 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2594 (home-page "https://hackage.haskell.org/package/data-hash")
2595 (synopsis "Combinators for building fast hashing functions")
2596 (description
2597 "This package provides combinators for building fast hashing functions.
2598It includes hashing functions for all basic Haskell98 types.")
2599 (license license:bsd-3)))
2600
a623fd7f
AV
2601(define-public ghc-murmur-hash
2602 (package
2603 (name "ghc-murmur-hash")
2604 (version "0.1.0.9")
2605 (source
2606 (origin
2607 (method url-fetch)
2608 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
2609 "/murmur-hash-" version ".tar.gz"))
2610 (sha256
2611 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
2612 (build-system haskell-build-system)
2613 (home-page "https://github.com/nominolo/murmur-hash")
2614 (synopsis "MurmurHash2 implementation for Haskell")
2615 (description
2616 "This package provides an implementation of MurmurHash2, a good, fast,
2617general-purpose, non-cryptographic hashing function. See
2618@url{https://sites.google.com/site/murmurhash/} for details. This
2619implementation is pure Haskell, so it might be a bit slower than a C FFI
2620binding.")
2621 (license license:bsd-3)))
2622
df596b94
FB
2623(define-public ghc-random
2624 (package
2625 (name "ghc-random")
2626 (version "1.1")
2627 (outputs '("out" "doc"))
2628 (source
2629 (origin
2630 (method url-fetch)
2631 (uri (string-append
612fddec 2632 "https://hackage.haskell.org/package/random/random-"
df596b94
FB
2633 version
2634 ".tar.gz"))
2635 (sha256
2636 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
2637 (build-system haskell-build-system)
612fddec 2638 (home-page "https://hackage.haskell.org/package/random")
df596b94
FB
2639 (synopsis "Random number library")
2640 (description "This package provides a basic random number generation
2641library, including the ability to split random number generators.")
3ac73271 2642 (license license:bsd-3)))
4af803a7
FB
2643
2644(define-public ghc-primitive
2645 (package
2646 (name "ghc-primitive")
49e5432b 2647 (version "0.6.3.0")
4af803a7
FB
2648 (outputs '("out" "doc"))
2649 (source
2650 (origin
2651 (method url-fetch)
2652 (uri (string-append
612fddec 2653 "https://hackage.haskell.org/package/primitive/primitive-"
4af803a7
FB
2654 version
2655 ".tar.gz"))
2656 (sha256
2657 (base32
49e5432b 2658 "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd"))))
4af803a7
FB
2659 (build-system haskell-build-system)
2660 (home-page
2661 "https://github.com/haskell/primitive")
2662 (synopsis "Primitive memory-related operations")
2663 (description
2664 "This package provides various primitive memory-related operations.")
3ac73271 2665 (license license:bsd-3)))
4af803a7 2666
c272160a
FB
2667(define-public ghc-tf-random
2668 (package
2669 (name "ghc-tf-random")
2670 (version "0.5")
2671 (outputs '("out" "doc"))
2672 (source
2673 (origin
2674 (method url-fetch)
2675 (uri (string-append
612fddec 2676 "https://hackage.haskell.org/package/tf-random/tf-random-"
c272160a
FB
2677 version
2678 ".tar.gz"))
2679 (sha256
2680 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
2681 (build-system haskell-build-system)
2d47cee2 2682 (inputs
c272160a
FB
2683 `(("ghc-primitive" ,ghc-primitive)
2684 ("ghc-random" ,ghc-random)))
612fddec 2685 (home-page "https://hackage.haskell.org/package/tf-random")
c272160a
FB
2686 (synopsis "High-quality splittable pseudorandom number generator")
2687 (description "This package contains an implementation of a high-quality
2688splittable pseudorandom number generator. The generator is based on a
2689cryptographic hash function built on top of the ThreeFish block cipher. See
2690the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
2691Hashing\" by Claessen, Pałka for details and the rationale of the design.")
3ac73271 2692 (license license:bsd-3)))
c272160a 2693
c27f3ace
PW
2694(define-public ghc-transformers-base
2695 (package
2696 (name "ghc-transformers-base")
f46cbe1e 2697 (version "0.4.5.2")
c27f3ace
PW
2698 (source
2699 (origin
2700 (method url-fetch)
2701 (uri (string-append
612fddec 2702 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
c27f3ace
PW
2703 version
2704 ".tar.gz"))
2705 (sha256
2706 (base32
f46cbe1e 2707 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
c27f3ace 2708 (build-system haskell-build-system)
c27f3ace 2709 (inputs
2d47cee2
RW
2710 `(("ghc-stm" ,ghc-stm)
2711 ("ghc-transformers-compat" ,ghc-transformers-compat)))
c27f3ace 2712 (home-page
612fddec 2713 "https://hackage.haskell.org/package/transformers-compat")
c27f3ace
PW
2714 (synopsis
2715 "Backported transformer library")
2716 (description
2717 "Backported versions of types that were added to transformers in
2718transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
2719compatibility to run on old versions of the platform.")
3ac73271 2720 (license license:bsd-3)))
c27f3ace 2721
379a5ad5
PW
2722(define-public ghc-transformers-compat
2723 (package
2724 (name "ghc-transformers-compat")
d7f14885 2725 (version "0.6.2")
379a5ad5
PW
2726 (source
2727 (origin
2728 (method url-fetch)
2729 (uri (string-append
612fddec 2730 "https://hackage.haskell.org/package/transformers-compat"
379a5ad5
PW
2731 "/transformers-compat-" version ".tar.gz"))
2732 (sha256
2733 (base32
d7f14885 2734 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
379a5ad5 2735 (build-system haskell-build-system)
612fddec 2736 (home-page "https://github.com/ekmett/transformers-compat/")
379a5ad5
PW
2737 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
2738 (description "This package includes backported versions of types that were
2739added to transformers in transformers 0.3 and 0.4 for users who need strict
2740transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
2741but also need those types.")
3ac73271 2742 (license license:bsd-3)))
379a5ad5 2743
5ef40cb2
PW
2744(define-public ghc-unix-time
2745 (package
2746 (name "ghc-unix-time")
0588525b 2747 (version "0.3.8")
5ef40cb2
PW
2748 (source
2749 (origin
2750 (method url-fetch)
2751 (uri (string-append
612fddec 2752 "https://hackage.haskell.org/package/unix-time/unix-time-"
5ef40cb2
PW
2753 version
2754 ".tar.gz"))
2755 (sha256
2756 (base32
0588525b 2757 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
5ef40cb2
PW
2758 (build-system haskell-build-system)
2759 (arguments
fd59d2ee
PW
2760 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
2761 ; is weird, that should be provided by GHC 7.10.2.
2d47cee2 2762 (inputs
5ef40cb2
PW
2763 `(("ghc-old-time" ,ghc-old-time)
2764 ("ghc-old-locale" ,ghc-old-locale)))
612fddec 2765 (home-page "https://hackage.haskell.org/package/unix-time")
5ef40cb2
PW
2766 (synopsis "Unix time parser/formatter and utilities")
2767 (description "This library provides fast parsing and formatting utilities
2768for Unix time in Haskell.")
3ac73271 2769 (license license:bsd-3)))
5ef40cb2 2770
801cc88d
PW
2771(define-public ghc-unix-compat
2772 (package
2773 (name "ghc-unix-compat")
32a9a380 2774 (version "0.5.1")
801cc88d
PW
2775 (source
2776 (origin
2777 (method url-fetch)
2778 (uri (string-append
612fddec 2779 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
801cc88d
PW
2780 version
2781 ".tar.gz"))
2782 (sha256
2783 (base32
32a9a380 2784 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
801cc88d
PW
2785 (build-system haskell-build-system)
2786 (home-page
612fddec 2787 "https://github.com/jystic/unix-compat")
801cc88d
PW
2788 (synopsis "Portable POSIX-compatibility layer")
2789 (description
2790 "This package provides portable implementations of parts of the unix
2791package. This package re-exports the unix package when available. When it
2792isn't available, portable implementations are used.")
3ac73271 2793 (license license:bsd-3)))
801cc88d 2794
b6bfa2ca
LC
2795(define-public ghc-indents
2796 (package
2797 (name "ghc-indents")
ddfb799e 2798 (version "0.5.0.0")
b6bfa2ca
LC
2799 (source (origin
2800 (method url-fetch)
2801 (uri (string-append
612fddec 2802 "https://hackage.haskell.org/package/indents/indents-"
b6bfa2ca
LC
2803 version ".tar.gz"))
2804 (sha256
2805 (base32
ddfb799e 2806 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
b6bfa2ca 2807 (build-system haskell-build-system)
c95908bb
RW
2808 ;; This package needs an older version of tasty.
2809 (arguments '(#:tests? #f))
b6bfa2ca
LC
2810 (inputs
2811 `(("ghc-parsec" ,ghc-parsec)
f54f0475 2812 ("ghc-concatenative" ,ghc-concatenative)))
c95908bb
RW
2813 (native-inputs
2814 `(("ghc-tasty" ,ghc-tasty)
2815 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
b6bfa2ca
LC
2816 (home-page "http://patch-tag.com/r/salazar/indents")
2817 (synopsis "Indentation sensitive parser-combinators for parsec")
2818 (description
2819 "This library provides functions for use in parsing indentation sensitive
2820contexts. It parses blocks of lines all indented to the same level as well as
2821lines continued at an indented level below.")
2822 (license license:bsd-3)))
2823
685502dc
PW
2824(define-public ghc-iproute
2825 (package
2826 (name "ghc-iproute")
b9a63986 2827 (version "1.7.5")
685502dc
PW
2828 (source
2829 (origin
2830 (method url-fetch)
2831 (uri (string-append
612fddec 2832 "https://hackage.haskell.org/package/iproute/iproute-"
685502dc
PW
2833 version
2834 ".tar.gz"))
2835 (sha256
2836 (base32
b9a63986 2837 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
685502dc
PW
2838 (build-system haskell-build-system)
2839 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2840 ; exported by ghc-byteorder. Doctest issue.
685502dc 2841 (inputs
2d47cee2
RW
2842 `(("ghc-appar" ,ghc-appar)
2843 ("ghc-byteorder" ,ghc-byteorder)
2844 ("ghc-network" ,ghc-network)
685502dc 2845 ("ghc-safe" ,ghc-safe)))
e427a0e4 2846 (home-page "https://www.mew.org/~kazu/proj/iproute/")
685502dc
PW
2847 (synopsis "IP routing table")
2848 (description "IP Routing Table is a tree of IP ranges to search one of
2849them on the longest match base. It is a kind of TRIE with one way branching
2850removed. Both IPv4 and IPv6 are supported.")
3ac73271 2851 (license license:bsd-3)))
685502dc 2852
a7101996
TGR
2853(define-public ghc-iwlib
2854 (package
2855 (name "ghc-iwlib")
2856 (version "0.1.0")
2857 (source
2858 (origin
2859 (method url-fetch)
2860 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
2861 version ".tar.gz"))
2862 (sha256
2863 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
2864 (build-system haskell-build-system)
2865 (inputs
2866 `(("wireless-tools" ,wireless-tools)))
2867 (home-page "https://github.com/jaor/iwlib")
2868 (synopsis "Haskell binding to the iw wireless networking library")
2869 (description
2870 "IWlib is a thin Haskell binding to the iw C library. It provides
2871information about the current wireless network connections, and adapters on
2872supported systems.")
2873 (license license:bsd-3)))
2874
9d5f0399
PW
2875(define-public ghc-regex-base
2876 (package
2877 (name "ghc-regex-base")
2878 (version "0.93.2")
2879 (source
2880 (origin
2881 (method url-fetch)
2882 (uri (string-append
612fddec 2883 "https://hackage.haskell.org/package/regex-base/regex-base-"
9d5f0399
PW
2884 version
2885 ".tar.gz"))
2886 (sha256
2887 (base32
2888 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2889 (build-system haskell-build-system)
9d5f0399 2890 (home-page
3b3b60d0 2891 "https://sourceforge.net/projects/lazy-regex")
9d5f0399
PW
2892 (synopsis "Replaces/Enhances Text.Regex")
2893 (description "@code{Text.Regex.Base} provides the interface API for
2894regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
3ac73271 2895 (license license:bsd-3)))
9d5f0399 2896
e422279b
PW
2897(define-public ghc-regex-posix
2898 (package
2899 (name "ghc-regex-posix")
2900 (version "0.95.2")
2901 (source
2902 (origin
2903 (method url-fetch)
2904 (uri (string-append
612fddec 2905 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
e422279b
PW
2906 version
2907 ".tar.gz"))
2908 (sha256
2909 (base32
2910 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2911 (build-system haskell-build-system)
2d47cee2 2912 (inputs
0eeaa169 2913 `(("ghc-regex-base" ,ghc-regex-base)))
3b3b60d0 2914 (home-page "https://sourceforge.net/projects/lazy-regex")
e422279b
PW
2915 (synopsis "POSIX regular expressions for Haskell")
2916 (description "This library provides the POSIX regex backend used by the
2917Haskell library @code{regex-base}.")
3ac73271 2918 (license license:bsd-3)))
e422279b 2919
25d51164
PW
2920(define-public ghc-regex-compat
2921 (package
2922 (name "ghc-regex-compat")
2923 (version "0.95.1")
2924 (source
2925 (origin
2926 (method url-fetch)
2927 (uri (string-append
612fddec 2928 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
25d51164
PW
2929 version
2930 ".tar.gz"))
2931 (sha256
2932 (base32
2933 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2934 (build-system haskell-build-system)
2935 (inputs
2936 `(("ghc-regex-base" ,ghc-regex-base)
2937 ("ghc-regex-posix" ,ghc-regex-posix)))
3b3b60d0 2938 (home-page "https://sourceforge.net/projects/lazy-regex")
25d51164
PW
2939 (synopsis "Replaces/Enhances Text.Regex")
2940 (description "This library provides one module layer over
2941@code{regex-posix} to replace @code{Text.Regex}.")
3ac73271 2942 (license license:bsd-3)))
25d51164 2943
34128d2b
PW
2944(define-public ghc-regex-tdfa-rc
2945 (package
2946 (name "ghc-regex-tdfa-rc")
2947 (version "1.1.8.3")
2948 (source
2949 (origin
2950 (method url-fetch)
2951 (uri (string-append
612fddec 2952 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
34128d2b
PW
2953 version
2954 ".tar.gz"))
2955 (sha256
2956 (base32
2957 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2958 (build-system haskell-build-system)
34128d2b 2959 (inputs
2d47cee2 2960 `(("ghc-regex-base" ,ghc-regex-base)
f54f0475 2961 ("ghc-parsec" ,ghc-parsec)))
34128d2b 2962 (home-page
612fddec 2963 "https://hackage.haskell.org/package/regex-tdfa")
34128d2b
PW
2964 (synopsis "Tagged DFA regex engine for Haskell")
2965 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2966@code{libtre} (fork by Roman Cheplyaka).")
3ac73271 2967 (license license:bsd-3)))
34128d2b 2968
e73ed2a1
DM
2969(define-public ghc-regex-tdfa-text
2970 (package
2971 (name "ghc-regex-tdfa-text")
2972 (version "1.0.0.3")
2973 (source
2974 (origin
2975 (method url-fetch)
2976 (uri (string-append
2977 "https://hackage.haskell.org/package/regex-tdfa-text/"
2978 "regex-tdfa-text-" version ".tar.gz"))
2979 (sha256
2980 (base32
2981 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
2982 (build-system haskell-build-system)
2983 (inputs
2984 `(("ghc-text" ,ghc-text)
2985 ("ghc-regex-base" ,ghc-regex-base)
2986 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
2987 (home-page
2988 "http://hackage.haskell.org/package/regex-tdfa-text")
2989 (synopsis "Text interface for regex-tdfa")
2990 (description
2991 "This provides an extra text interface for regex-tdfa.")
2992 (license license:bsd-3)))
2993
7e2c8cb5
RW
2994(define-public ghc-regex
2995 (package
2996 (name "ghc-regex")
2997 (version "1.0.1.3")
2998 (source
2999 (origin
3000 (method url-fetch)
3001 (uri (string-append "https://hackage.haskell.org/package/regex/"
3002 "regex-" version ".tar.gz"))
3003 (sha256
3004 (base32
3005 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
3006 (build-system haskell-build-system)
279c97db
RW
3007 (arguments
3008 `(#:phases
3009 (modify-phases %standard-phases
3010 (add-after 'unpack 'relax-dependencies
3011 (lambda _
3012 (substitute* "regex.cabal"
3013 (("base-compat.*>=.*0.6.*")
3014 "base-compat >= 0.6\n")
3015 (("template-haskell.*>=.*2.7.*")
3016 "template-haskell >= 2.7\n"))
3017 #t)))))
7e2c8cb5
RW
3018 (inputs
3019 `(("ghc-base-compat" ,ghc-base-compat)
3020 ("ghc-hashable" ,ghc-hashable)
3021 ("ghc-regex-base" ,ghc-regex-base)
3022 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
3023 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
3024 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
3025 ("ghc-text" ,ghc-text)
3026 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3027 ("ghc-unordered-containers" ,ghc-unordered-containers)
3028 ("ghc-utf8-string" ,ghc-utf8-string)))
3029 (home-page "http://regex.uk")
3030 (synopsis "Toolkit for regex-base")
3031 (description
3032 "This package provides a regular expression toolkit for @code{regex-base}
3033with compile-time checking of regular expression syntax, data types for
3034matches and captures, a text replacement toolkit, portable options, high-level
3035AWK-like tools for building text processing apps, regular expression macros
3036with parsers and test bench, comprehensive documentation, tutorials and
3037copious examples.")
3038 (license license:bsd-3)))
3039
e372520e
PW
3040(define-public ghc-parsers
3041 (package
3042 (name "ghc-parsers")
774f3984 3043 (version "0.12.9")
e372520e
PW
3044 (source
3045 (origin
3046 (method url-fetch)
3047 (uri (string-append
612fddec 3048 "https://hackage.haskell.org/package/parsers/parsers-"
e372520e
PW
3049 version
3050 ".tar.gz"))
3051 (sha256
3052 (base32
774f3984 3053 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
e372520e
PW
3054 (build-system haskell-build-system)
3055 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
3056 ; -package attoparsec-0.13.0.1"
2d47cee2 3057 (inputs
e372520e
PW
3058 `(("ghc-base-orphans" ,ghc-base-orphans)
3059 ("ghc-attoparsec" ,ghc-attoparsec)
3060 ("ghc-parsec" ,ghc-parsec)
3061 ("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
3062 ("ghc-charset" ,ghc-charset)
3063 ("ghc-text" ,ghc-text)
e372520e 3064 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 3065 (home-page "https://github.com/ekmett/parsers/")
e372520e
PW
3066 (synopsis "Parsing combinators")
3067 (description "This library provides convenient combinators for working
3068with and building parsing combinator libraries. Given a few simple instances,
3069you get access to a large number of canned definitions. Instances exist for
3070the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
3071@code{Text.Read}.")
3ac73271 3072 (license license:bsd-3)))
e372520e 3073
93248cfd
PW
3074(define-public ghc-trifecta
3075 (package
3076 (name "ghc-trifecta")
dc676afb 3077 (version "2")
3ea25176
DC
3078 (source (origin
3079 (method url-fetch)
3080 (uri (string-append
3081 "https://hackage.haskell.org/package/trifecta/"
3082 "trifecta-" version ".tar.gz"))
3083 (sha256
3084 (base32
dc676afb 3085 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
93248cfd 3086 (build-system haskell-build-system)
2d47cee2 3087 (inputs
dc676afb 3088 `(("ghc-reducers" ,ghc-reducers)
2d47cee2
RW
3089 ("ghc-semigroups" ,ghc-semigroups)
3090 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
93248cfd
PW
3091 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
3092 ("ghc-blaze-builder" ,ghc-blaze-builder)
3093 ("ghc-blaze-html" ,ghc-blaze-html)
3094 ("ghc-blaze-markup" ,ghc-blaze-markup)
3ea25176
DC
3095 ("ghc-charset" ,ghc-charset)
3096 ("ghc-comonad" ,ghc-comonad)
93248cfd
PW
3097 ("ghc-fingertree" ,ghc-fingertree)
3098 ("ghc-hashable" ,ghc-hashable)
3ea25176 3099 ("ghc-lens" ,ghc-lens)
93248cfd 3100 ("ghc-parsers" ,ghc-parsers)
3ea25176 3101 ("ghc-profunctors" ,ghc-profunctors)
93248cfd
PW
3102 ("ghc-unordered-containers" ,ghc-unordered-containers)
3103 ("ghc-utf8-string" ,ghc-utf8-string)))
183d1b1a 3104 (native-inputs
dc676afb
TS
3105 `(("cabal-doctest" ,cabal-doctest)
3106 ("ghc-doctest" ,ghc-doctest)
3107 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 3108 (home-page "https://github.com/ekmett/trifecta/")
93248cfd
PW
3109 (synopsis "Parser combinator library with convenient diagnostics")
3110 (description "Trifecta is a modern parser combinator library for Haskell,
3111with slicing and Clang-style colored diagnostics.")
3ac73271 3112 (license license:bsd-3)))
93248cfd 3113
5e51bcf7
RW
3114(define-public ghc-time-locale-compat
3115 (package
3116 (name "ghc-time-locale-compat")
9b6d49e8 3117 (version "0.1.1.5")
5e51bcf7
RW
3118 (source
3119 (origin
3120 (method url-fetch)
3121 (uri (string-append "https://hackage.haskell.org/package/"
3122 "time-locale-compat/time-locale-compat-"
3123 version ".tar.gz"))
3124 (sha256
3125 (base32
9b6d49e8 3126 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
5e51bcf7
RW
3127 (build-system haskell-build-system)
3128 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
3129 (home-page "https://github.com/khibino/haskell-time-locale-compat")
3130 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
3131 (description "This package contains a wrapped name module for
3132@code{TimeLocale}.")
3133 (license license:bsd-3)))
3134
bc74e0e1
PW
3135(define-public ghc-attoparsec
3136 (package
3137 (name "ghc-attoparsec")
1b1a1067 3138 (version "0.13.2.2")
bc74e0e1
PW
3139 (source
3140 (origin
3141 (method url-fetch)
3142 (uri (string-append
612fddec 3143 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
bc74e0e1
PW
3144 version
3145 ".tar.gz"))
3146 (sha256
3147 (base32
1b1a1067 3148 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
bc74e0e1 3149 (build-system haskell-build-system)
0f9e74e9
TS
3150 (arguments
3151 `(#:phases
3152 (modify-phases %standard-phases
3153 (add-after 'unpack 'patch-for-newer-quickcheck
3154 (lambda _
3155 (substitute* "attoparsec.cabal"
3156 (("QuickCheck >= 2\\.7 && < 2\\.10")
3157 "QuickCheck >= 2.7 && < 2.12"))
3158 ;; This test fails because of the newer QuickCheck:
3159 ;; <https://github.com/bos/attoparsec/issues/134>.
3160 (substitute* "tests/QC/ByteString.hs"
3161 ((", testProperty \"satisfyWith\" satisfyWith")
3162 "")))))))
bc74e0e1 3163 (inputs
f9f4578b 3164 `(("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
3165 ("ghc-text" ,ghc-text)))
3166 (native-inputs
1b1a1067
RW
3167 `(("ghc-tasty" ,ghc-tasty)
3168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3169 ("ghc-quickcheck" ,ghc-quickcheck)
19206f5e 3170 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
bc74e0e1
PW
3171 ("ghc-vector" ,ghc-vector)))
3172 (home-page "https://github.com/bos/attoparsec")
3173 (synopsis "Fast combinator parsing for bytestrings and text")
3174 (description "This library provides a fast parser combinator library,
3175aimed particularly at dealing efficiently with network protocols and
3176complicated text/binary file formats.")
3ac73271 3177 (license license:bsd-3)))
bc74e0e1 3178
9d1944a4
TS
3179(define-public ghc-attoparsec-bootstrap
3180 (package
3181 (inherit ghc-attoparsec)
3182 (name "ghc-attoparsec-bootstrap")
3183 (arguments `(#:tests? #f))
3184 (inputs
3185 `(("ghc-scientific" ,ghc-scientific-bootstrap)
3186 ("ghc-text" ,ghc-text)))
3187 (native-inputs '())
3188 (properties '(hidden? #t))))
3189
ca41c155
PW
3190(define-public ghc-zip-archive
3191 (package
3192 (name "ghc-zip-archive")
74f490ec 3193 (version "0.3.3")
ca41c155
PW
3194 (source
3195 (origin
3196 (method url-fetch)
3197 (uri (string-append
612fddec 3198 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
ca41c155
PW
3199 version
3200 ".tar.gz"))
3201 (sha256
3202 (base32
74f490ec 3203 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
ca41c155 3204 (build-system haskell-build-system)
ca41c155 3205 (inputs
74f490ec 3206 `(("ghc-digest" ,ghc-digest)
2025964b 3207 ("ghc-temporary" ,ghc-temporary)
ca41c155
PW
3208 ("ghc-text" ,ghc-text)
3209 ("ghc-zlib" ,ghc-zlib)))
2d47cee2 3210 (native-inputs
74f490ec
TS
3211 `(("ghc-hunit" ,ghc-hunit)
3212 ("unzip" ,unzip)))
ca41c155
PW
3213 (home-page "https://hackage.haskell.org/package/zip-archive")
3214 (synopsis "Zip archive library for Haskell")
3215 (description "The zip-archive library provides functions for creating,
3216modifying, and extracting files from zip archives in Haskell.")
3ac73271 3217 (license license:bsd-3)))
ca41c155 3218
fa4f5024
PW
3219(define-public ghc-distributive
3220 (package
3221 (name "ghc-distributive")
c2d30e31 3222 (version "0.5.3")
fa4f5024
PW
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append
612fddec 3227 "https://hackage.haskell.org/package/distributive/distributive-"
fa4f5024
PW
3228 version
3229 ".tar.gz"))
3230 (sha256
3231 (base32
c2d30e31 3232 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
fa4f5024 3233 (build-system haskell-build-system)
68dc0c29
TS
3234 (arguments
3235 `(#:cabal-revision
3236 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2d47cee2 3237 (inputs
fa4f5024 3238 `(("ghc-tagged" ,ghc-tagged)
c2d30e31
RW
3239 ("ghc-base-orphans" ,ghc-base-orphans)
3240 ("ghc-transformers-compat" ,ghc-transformers-compat)
3241 ("ghc-semigroups" ,ghc-semigroups)
3242 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3243 (native-inputs
3244 `(("cabal-doctest" ,cabal-doctest)
68dc0c29 3245 ("ghc-doctest" ,ghc-doctest)
c2d30e31
RW
3246 ("ghc-hspec" ,ghc-hspec)
3247 ("hspec-discover" ,hspec-discover)))
612fddec 3248 (home-page "https://github.com/ekmett/distributive/")
fa4f5024
PW
3249 (synopsis "Distributive functors for Haskell")
3250 (description "This package provides distributive functors for Haskell.
3251Dual to @code{Traversable}.")
3ac73271 3252 (license license:bsd-3)))
fa4f5024 3253
10e61452
PW
3254(define-public ghc-cereal
3255 (package
3256 (name "ghc-cereal")
91ffeed7 3257 (version "0.5.7.0")
10e61452
PW
3258 (source
3259 (origin
3260 (method url-fetch)
3261 (uri (string-append
612fddec 3262 "https://hackage.haskell.org/package/cereal/cereal-"
10e61452
PW
3263 version
3264 ".tar.gz"))
3265 (sha256
3266 (base32
91ffeed7 3267 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
10e61452 3268 (build-system haskell-build-system)
3295a6da
RW
3269 (native-inputs
3270 `(("ghc-quickcheck" ,ghc-quickcheck)
3271 ("ghc-fail" ,ghc-fail)
3272 ("ghc-test-framework" ,ghc-test-framework)
3273 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 3274 (home-page "https://hackage.haskell.org/package/cereal")
10e61452
PW
3275 (synopsis "Binary serialization library")
3276 (description "This package provides a binary serialization library,
3277similar to @code{binary}, that introduces an @code{isolate} primitive for
3278parser isolation, and labeled blocks for better error messages.")
3ac73271 3279 (license license:bsd-3)))
10e61452 3280
40b56b52
PW
3281(define-public ghc-comonad
3282 (package
3283 (name "ghc-comonad")
c2828c81 3284 (version "5.0.4")
40b56b52
PW
3285 (source
3286 (origin
3287 (method url-fetch)
3288 (uri (string-append
612fddec 3289 "https://hackage.haskell.org/package/comonad/comonad-"
40b56b52
PW
3290 version
3291 ".tar.gz"))
3292 (sha256
3293 (base32
c2828c81 3294 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
40b56b52 3295 (build-system haskell-build-system)
bdd4aa16 3296 (native-inputs
c2828c81
TS
3297 `(("cabal-doctest" ,cabal-doctest)
3298 ("ghc-doctest" ,ghc-doctest)))
40b56b52 3299 (inputs
7e95d0fd
TGR
3300 `(("ghc-contravariant" ,ghc-contravariant)
3301 ("ghc-distributive" ,ghc-distributive)
2d47cee2 3302 ("ghc-semigroups" ,ghc-semigroups)
40b56b52 3303 ("ghc-tagged" ,ghc-tagged)
7e95d0fd 3304 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3305 (home-page "https://github.com/ekmett/comonad/")
40b56b52
PW
3306 (synopsis "Comonads for Haskell")
3307 (description "This library provides @code{Comonad}s for Haskell.")
3ac73271 3308 (license license:bsd-3)))
40b56b52 3309
ce78a0f5
PW
3310(define-public hscolour
3311 (package
3312 (name "hscolour")
8642b86a 3313 (version "1.24.4")
ce78a0f5
PW
3314 (source
3315 (origin
3316 (method url-fetch)
3317 (uri (string-append
612fddec 3318 "https://hackage.haskell.org/package/hscolour/hscolour-"
ce78a0f5
PW
3319 version
3320 ".tar.gz"))
3321 (sha256
3322 (base32
8642b86a 3323 "079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4"))))
ce78a0f5
PW
3324 (build-system haskell-build-system)
3325 (home-page "https://hackage.haskell.org/package/hscolour")
3326 (synopsis "Script to colourise Haskell code")
3327 (description "HSColour is a small Haskell script to colourise Haskell
3328code. It currently has six output formats: ANSI terminal codes (optionally
3329XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
3330with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
3331and mIRC chat codes.")
3ac73271 3332 (license license:bsd-3)))
ce78a0f5 3333
47038762
PW
3334(define-public ghc-polyparse
3335 (package
3336 (name "ghc-polyparse")
7fb6eb17 3337 (version "1.12")
47038762
PW
3338 (source
3339 (origin
3340 (method url-fetch)
3341 (uri (string-append
612fddec 3342 "https://hackage.haskell.org/package/polyparse/polyparse-"
47038762
PW
3343 version
3344 ".tar.gz"))
3345 (sha256
3346 (base32
7fb6eb17 3347 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
47038762 3348 (build-system haskell-build-system)
2d47cee2 3349 (inputs
47038762
PW
3350 `(("ghc-text" ,ghc-text)))
3351 (home-page
3352 "http://code.haskell.org/~malcolm/polyparse/")
3353 (synopsis
3354 "Alternative parser combinator libraries")
3355 (description
3356 "This package provides a variety of alternative parser combinator
3357libraries, including the original HuttonMeijer set. The Poly sets have
3358features like good error reporting, arbitrary token type, running state, lazy
3359parsing, and so on. Finally, Text.Parse is a proposed replacement for the
3360standard Read class, for better deserialisation of Haskell values from
3361Strings.")
3ac73271 3362 (license license:lgpl2.1)))
47038762 3363
fad564ec
PW
3364(define-public ghc-extra
3365 (package
3366 (name "ghc-extra")
3a066eb5 3367 (version "1.6.9")
fad564ec
PW
3368 (source
3369 (origin
3370 (method url-fetch)
3371 (uri (string-append
612fddec 3372 "https://hackage.haskell.org/package/extra/extra-"
fad564ec
PW
3373 version
3374 ".tar.gz"))
3375 (sha256
3376 (base32
3a066eb5 3377 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
fad564ec 3378 (build-system haskell-build-system)
7d4de988
RW
3379 (inputs
3380 `(("ghc-clock" ,ghc-clock)
3381 ("ghc-quickcheck" ,ghc-quickcheck)))
fad564ec
PW
3382 (home-page "https://github.com/ndmitchell/extra")
3383 (synopsis "Extra Haskell functions")
3384 (description "This library provides extra functions for the standard
3385Haskell libraries. Most functions are simple additions, filling out missing
3386functionality. A few functions are available in later versions of GHC, but
3387this package makes them available back to GHC 7.2.")
3ac73271 3388 (license license:bsd-3)))
fad564ec 3389
f221841c
PW
3390(define-public ghc-profunctors
3391 (package
3392 (name "ghc-profunctors")
4a1b5600 3393 (version "5.2.2")
f221841c
PW
3394 (source
3395 (origin
3396 (method url-fetch)
3397 (uri (string-append
612fddec 3398 "https://hackage.haskell.org/package/profunctors/profunctors-"
f221841c
PW
3399 version
3400 ".tar.gz"))
3401 (sha256
3402 (base32
4a1b5600 3403 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
f221841c 3404 (build-system haskell-build-system)
bf733668
TS
3405 (arguments
3406 `(#:cabal-revision
3407 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
f221841c 3408 (inputs
4a1b5600
RW
3409 `(("ghc-base-orphans" ,ghc-base-orphans)
3410 ("ghc-bifunctors" ,ghc-bifunctors)
2d47cee2 3411 ("ghc-comonad" ,ghc-comonad)
4a1b5600
RW
3412 ("ghc-contravariant" ,ghc-contravariant)
3413 ("ghc-distributive" ,ghc-distributive)
3414 ("ghc-semigroups" ,ghc-semigroups)
f221841c 3415 ("ghc-tagged" ,ghc-tagged)))
612fddec 3416 (home-page "https://github.com/ekmett/profunctors/")
f221841c
PW
3417 (synopsis "Profunctors for Haskell")
3418 (description "This library provides profunctors for Haskell.")
3ac73271 3419 (license license:bsd-3)))
f221841c 3420
d2639cbc
PW
3421(define-public ghc-reducers
3422 (package
3423 (name "ghc-reducers")
d8717c89 3424 (version "3.12.3")
d2639cbc
PW
3425 (source
3426 (origin
3427 (method url-fetch)
3428 (uri (string-append
612fddec 3429 "https://hackage.haskell.org/package/reducers/reducers-"
d2639cbc
PW
3430 version
3431 ".tar.gz"))
3432 (sha256
3433 (base32
d8717c89 3434 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
d2639cbc 3435 (build-system haskell-build-system)
d2639cbc
PW
3436 (inputs
3437 `(("ghc-fingertree" ,ghc-fingertree)
3438 ("ghc-hashable" ,ghc-hashable)
3439 ("ghc-text" ,ghc-text)
3440 ("ghc-unordered-containers" ,ghc-unordered-containers)
2d47cee2 3441 ("ghc-semigroupoids" ,ghc-semigroupoids)
d2639cbc 3442 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 3443 (home-page "https://github.com/ekmett/reducers/")
d2639cbc
PW
3444 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
3445 (description "This library provides various semigroups, specialized
3446containers and a general map/reduce framework for Haskell.")
3ac73271 3447 (license license:bsd-3)))
d2639cbc 3448
76ae28f1
PW
3449(define-public ghc-appar
3450 (package
3451 (name "ghc-appar")
3452 (version "0.1.4")
3453 (source
3454 (origin
3455 (method url-fetch)
3456 (uri (string-append
612fddec 3457 "https://hackage.haskell.org/package/appar/appar-"
76ae28f1
PW
3458 version
3459 ".tar.gz"))
3460 (sha256
3461 (base32
3462 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
3463 (build-system haskell-build-system)
3464 (home-page
612fddec 3465 "https://hackage.haskell.org/package/appar")
76ae28f1
PW
3466 (synopsis "Simple applicative parser")
3467 (description "This package provides a simple applicative parser in Parsec
3468style.")
3ac73271 3469 (license license:bsd-3)))
76ae28f1 3470
78c5b39d
PW
3471(define-public ghc-safe
3472 (package
3473 (name "ghc-safe")
17539a7e 3474 (version "0.3.17")
78c5b39d
PW
3475 (source
3476 (origin
3477 (method url-fetch)
3478 (uri (string-append
612fddec 3479 "https://hackage.haskell.org/package/safe/safe-"
78c5b39d
PW
3480 version
3481 ".tar.gz"))
3482 (sha256
3483 (base32
17539a7e 3484 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
78c5b39d 3485 (build-system haskell-build-system)
17539a7e
TS
3486 (native-inputs
3487 `(("ghc-quickcheck" ,ghc-quickcheck)))
78c5b39d
PW
3488 (home-page "https://github.com/ndmitchell/safe#readme")
3489 (synopsis "Library of safe (exception free) functions")
3490 (description "This library provides wrappers around @code{Prelude} and
3491@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
3492exceptions.")
3ac73271 3493 (license license:bsd-3)))
78c5b39d 3494
476f7bab
PW
3495(define-public ghc-generic-deriving
3496 (package
3497 (name "ghc-generic-deriving")
b408c5a7 3498 (version "1.12.2")
476f7bab
PW
3499 (source
3500 (origin
3501 (method url-fetch)
3502 (uri (string-append
612fddec 3503 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
476f7bab
PW
3504 version
3505 ".tar.gz"))
3506 (sha256
3507 (base32
b408c5a7 3508 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
476f7bab 3509 (build-system haskell-build-system)
b408c5a7
TS
3510 (inputs
3511 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
24857542
RW
3512 (native-inputs
3513 `(("ghc-hspec" ,ghc-hspec)
3514 ("hspec-discover" ,hspec-discover)))
476f7bab
PW
3515 (home-page "https://hackage.haskell.org/package/generic-deriving")
3516 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3517 (description "This package provides functionality for generalising the
3518deriving mechanism in Haskell to arbitrary classes.")
3ac73271 3519 (license license:bsd-3)))
476f7bab 3520
b10f7be3
PW
3521(define-public ghc-pcre-light
3522 (package
3523 (name "ghc-pcre-light")
eff94e6b 3524 (version "0.4.0.4")
b10f7be3
PW
3525 (source
3526 (origin
3527 (method url-fetch)
3528 (uri (string-append
612fddec 3529 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
b10f7be3
PW
3530 version
3531 ".tar.gz"))
3532 (sha256
3533 (base32
eff94e6b 3534 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
b10f7be3
PW
3535 (build-system haskell-build-system)
3536 (inputs
3537 `(("pcre" ,pcre)))
eff94e6b
RW
3538 (native-inputs
3539 `(("pkg-config" ,pkg-config)))
b10f7be3
PW
3540 (home-page "https://github.com/Daniel-Diaz/pcre-light")
3541 (synopsis "Haskell library for Perl 5 compatible regular expressions")
3542 (description "This package provides a small, efficient, and portable regex
3543library for Perl 5 compatible regular expressions. The PCRE library is a set
3544of functions that implement regular expression pattern matching using the same
3545syntax and semantics as Perl 5.")
3ac73271 3546 (license license:bsd-3)))
b10f7be3 3547
748463be
PW
3548(define-public ghc-logict
3549 (package
3550 (name "ghc-logict")
3551 (version "0.6.0.2")
3552 (source
3553 (origin
3554 (method url-fetch)
3555 (uri (string-append
612fddec 3556 "https://hackage.haskell.org/package/logict/logict-"
748463be
PW
3557 version
3558 ".tar.gz"))
3559 (sha256
3560 (base32
3561 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
3562 (build-system haskell-build-system)
748463be
PW
3563 (home-page "http://code.haskell.org/~dolio/")
3564 (synopsis "Backtracking logic-programming monad")
3565 (description "This library provides a continuation-based, backtracking,
3566logic programming monad. An adaptation of the two-continuation implementation
3567found in the paper \"Backtracking, Interleaving, and Terminating Monad
3568Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
3569online}.")
3ac73271 3570 (license license:bsd-3)))
748463be 3571
d10fed28
PW
3572(define-public ghc-xml
3573 (package
3574 (name "ghc-xml")
3575 (version "1.3.14")
3576 (source
3577 (origin
3578 (method url-fetch)
3579 (uri (string-append
612fddec 3580 "https://hackage.haskell.org/package/xml/xml-"
d10fed28
PW
3581 version
3582 ".tar.gz"))
3583 (sha256
3584 (base32
3585 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
3586 (build-system haskell-build-system)
2d47cee2 3587 (inputs
d10fed28
PW
3588 `(("ghc-text" ,ghc-text)))
3589 (home-page "http://code.galois.com")
3590 (synopsis "Simple XML library for Haskell")
3591 (description "This package provides a simple XML library for Haskell.")
3ac73271 3592 (license license:bsd-3)))
d10fed28 3593
e3aae496
TS
3594(define-public ghc-feed
3595 (package
3596 (name "ghc-feed")
fbdf4031 3597 (version "1.0.0.0")
e3aae496
TS
3598 (source
3599 (origin
3600 (method url-fetch)
3601 (uri (string-append "https://hackage.haskell.org/package/"
3602 "feed/feed-" version ".tar.gz"))
3603 (sha256
3604 (base32
fbdf4031 3605 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
e3aae496 3606 (build-system haskell-build-system)
fbdf4031
TS
3607 (arguments
3608 `(#:cabal-revision
3609 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
e3aae496 3610 (inputs
fbdf4031
TS
3611 `(("ghc-base-compat" ,ghc-base-compat)
3612 ("ghc-old-locale" ,ghc-old-locale)
e3aae496 3613 ("ghc-old-time" ,ghc-old-time)
fbdf4031
TS
3614 ("ghc-safe" ,ghc-safe)
3615 ("ghc-text" ,ghc-text)
e3aae496
TS
3616 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3617 ("ghc-utf8-string" ,ghc-utf8-string)
fbdf4031
TS
3618 ("ghc-xml-conduit" ,ghc-xml-conduit)
3619 ("ghc-xml-types" ,ghc-xml-types)))
e3aae496
TS
3620 (native-inputs
3621 `(("ghc-hunit" ,ghc-hunit)
3622 ("ghc-test-framework" ,ghc-test-framework)
3623 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3624 (home-page "https://github.com/bergmark/feed")
3625 (synopsis "Haskell package for handling various syndication formats")
3626 (description "This Haskell package includes tools for generating and
3627consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3628 (license license:bsd-3)))
3629
31cac1ee
PW
3630(define-public ghc-exceptions
3631 (package
3632 (name "ghc-exceptions")
5f192d52 3633 (version "0.10.0")
31cac1ee
PW
3634 (source
3635 (origin
3636 (method url-fetch)
3637 (uri (string-append
612fddec 3638 "https://hackage.haskell.org/package/exceptions/exceptions-"
31cac1ee
PW
3639 version
3640 ".tar.gz"))
3641 (sha256
3642 (base32
5f192d52 3643 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
31cac1ee 3644 (build-system haskell-build-system)
e1e80388 3645 (native-inputs
5f192d52
TS
3646 `(("ghc-quickcheck" ,ghc-quickcheck)
3647 ("ghc-test-framework" ,ghc-test-framework)
3648 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
e1e80388 3649 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2d47cee2 3650 (inputs
31cac1ee 3651 `(("ghc-stm" ,ghc-stm)
31cac1ee 3652 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3653 (home-page "https://github.com/ekmett/exceptions/")
31cac1ee
PW
3654 (synopsis "Extensible optionally-pure exceptions")
3655 (description "This library provides extensible optionally-pure exceptions
3656for Haskell.")
3ac73271 3657 (license license:bsd-3)))
31cac1ee 3658
5257c341
PW
3659(define-public ghc-temporary
3660 (package
3661 (name "ghc-temporary")
ded4ac38 3662 (version "1.3")
5257c341
PW
3663 (source
3664 (origin
3665 (method url-fetch)
3666 (uri (string-append
612fddec 3667 "https://hackage.haskell.org/package/temporary/temporary-"
5257c341
PW
3668 version
3669 ".tar.gz"))
3670 (sha256
3671 (base32
ded4ac38 3672 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
5257c341 3673 (build-system haskell-build-system)
ded4ac38
TS
3674 (inputs
3675 `(("ghc-exceptions" ,ghc-exceptions)
3676 ("ghc-random" ,ghc-random)))
3677 (native-inputs
3678 `(("ghc-base-compat" ,ghc-base-compat)
3679 ("ghc-tasty" ,ghc-tasty)
3680 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
98b90194 3681 (home-page "https://www.github.com/batterseapower/temporary")
5257c341
PW
3682 (synopsis "Temporary file and directory support")
3683 (description "The functions for creating temporary files and directories
3684in the Haskelll base library are quite limited. This library just repackages
3685the Cabal implementations of its own temporary file and folder functions so
3686that you can use them without linking against Cabal or depending on it being
3687installed.")
3ac73271 3688 (license license:bsd-3)))
5257c341 3689
fa67563c
PW
3690(define-public ghc-temporary-rc
3691 (package
3692 (name "ghc-temporary-rc")
3693 (version "1.2.0.3")
3694 (source
3695 (origin
3696 (method url-fetch)
3697 (uri (string-append
612fddec 3698 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
fa67563c
PW
3699 version
3700 ".tar.gz"))
3701 (sha256
3702 (base32
3703 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
3704 (build-system haskell-build-system)
2d47cee2 3705 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
fa67563c 3706 (home-page
98b90194 3707 "https://www.github.com/feuerbach/temporary")
fa67563c
PW
3708 (synopsis
3709 "Portable temporary file and directory support")
3710 (description
3711 "The functions for creating temporary files and directories in the base
3712library are quite limited. The unixutils package contains some good ones, but
3713they aren't portable to Windows. This library just repackages the Cabal
3714implementations of its own temporary file and folder functions so that you can
3715use them without linking against Cabal or depending on it being installed.
3716This is a better maintained fork of the \"temporary\" package.")
3ac73271 3717 (license license:bsd-3)))
fa67563c 3718
b53fa046
PW
3719(define-public ghc-smallcheck
3720 (package
3721 (name "ghc-smallcheck")
b625f3a5 3722 (version "1.1.5")
b53fa046
PW
3723 (source
3724 (origin
3725 (method url-fetch)
3726 (uri (string-append
612fddec 3727 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
b53fa046
PW
3728 version
3729 ".tar.gz"))
3730 (sha256
3731 (base32
b625f3a5 3732 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
b53fa046 3733 (build-system haskell-build-system)
b53fa046 3734 (inputs
f54f0475 3735 `(("ghc-logict" ,ghc-logict)))
b53fa046
PW
3736 (home-page
3737 "https://github.com/feuerbach/smallcheck")
3738 (synopsis "Property-based testing library")
3739 (description "SmallCheck is a testing library that allows to verify
3740properties for all test cases up to some depth. The test cases are generated
3741automatically by SmallCheck.")
3ac73271 3742 (license license:bsd-3)))
b53fa046 3743
acd881a4
PW
3744(define-public ghc-silently
3745 (package
3746 (name "ghc-silently")
3747 (version "1.2.5")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append
612fddec 3752 "https://hackage.haskell.org/package/silently/silently-"
acd881a4
PW
3753 version
3754 ".tar.gz"))
3755 (sha256
3756 (base32
3757 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
3758 (build-system haskell-build-system)
3759 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
3760 ;; (inputs
3761 ;; `(("ghc-temporary" ,ghc-temporary)))
3762 (home-page "https://github.com/hspec/silently")
3763 (synopsis "Prevent writing to stdout")
3764 (description "This package provides functions to prevent or capture
3765writing to stdout and other handles.")
3ac73271 3766 (license license:bsd-3)))
acd881a4 3767
7a1e8c74
FB
3768(define-public ghc-case-insensitive
3769 (package
3770 (name "ghc-case-insensitive")
f5aa5845 3771 (version "1.2.0.11")
7a1e8c74
FB
3772 (outputs '("out" "doc"))
3773 (source
3774 (origin
3775 (method url-fetch)
3776 (uri (string-append
612fddec 3777 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
7a1e8c74
FB
3778 version
3779 ".tar.gz"))
3780 (sha256
3781 (base32
f5aa5845 3782 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
7a1e8c74
FB
3783 (build-system haskell-build-system)
3784 (inputs
3785 `(("ghc-hunit" ,ghc-hunit)))
3786 ;; these inputs are necessary to use this library
2d47cee2 3787 (inputs
7a1e8c74
FB
3788 `(("ghc-text" ,ghc-text)
3789 ("ghc-hashable" ,ghc-hashable)))
3790 (arguments
3791 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3792 (home-page
3793 "https://github.com/basvandijk/case-insensitive")
3794 (synopsis "Case insensitive string comparison")
3795 (description
3796 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3797which can be parameterised by a string-like type like: 'String', 'ByteString',
3798'Text', etc.. Comparisons of values of the resulting type will be insensitive
3799to cases.")
3ac73271 3800 (license license:bsd-3)))
7a1e8c74 3801
eaa3088e
FB
3802(define-public ghc-syb
3803 (package
3804 (name "ghc-syb")
80d06b8d 3805 (version "0.7")
eaa3088e
FB
3806 (outputs '("out" "doc"))
3807 (source
3808 (origin
3809 (method url-fetch)
3810 (uri (string-append
612fddec 3811 "https://hackage.haskell.org/package/syb/syb-"
eaa3088e
FB
3812 version
3813 ".tar.gz"))
3814 (sha256
3815 (base32
80d06b8d 3816 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
eaa3088e
FB
3817 (build-system haskell-build-system)
3818 (inputs
f54f0475 3819 `(("ghc-hunit" ,ghc-hunit)))
eaa3088e
FB
3820 (home-page
3821 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3822 (synopsis "Scrap Your Boilerplate")
a306190f 3823 (description "This package contains the generics system described in the
eaa3088e 3824/Scrap Your Boilerplate/ papers (see
a306190f
PW
3825@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3826defines the 'Data' class of types permitting folding and unfolding of
3827constructor applications, instances of this class for primitive types, and a
3828variety of traversals.")
3ac73271 3829 (license license:bsd-3)))
eaa3088e 3830
c5043f4a
FB
3831(define-public ghc-fgl
3832 (package
3833 (name "ghc-fgl")
b1a16000 3834 (version "5.6.0.0")
c5043f4a
FB
3835 (outputs '("out" "doc"))
3836 (source
3837 (origin
3838 (method url-fetch)
3839 (uri (string-append
612fddec 3840 "https://hackage.haskell.org/package/fgl/fgl-"
c5043f4a
FB
3841 version
3842 ".tar.gz"))
3843 (sha256
3844 (base32
b1a16000 3845 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
c5043f4a 3846 (build-system haskell-build-system)
c0a541cb 3847 (arguments
98993f60
TS
3848 `(#:phases
3849 (modify-phases %standard-phases
3850 (add-before 'configure 'update-constraints
3851 (lambda _
3852 (substitute* "fgl.cabal"
3853 (("QuickCheck >= 2\\.8 && < 2\\.10")
3854 "QuickCheck >= 2.8 && < 2.12")
3855 (("hspec >= 2\\.1 && < 2\\.5")
3856 "hspec >= 2.1 && < 2.6")))))))
ce242fd0 3857 (inputs
f54f0475 3858 `(("ghc-hspec" ,ghc-hspec)
ce242fd0 3859 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 3860 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
c5043f4a
FB
3861 (synopsis
3862 "Martin Erwig's Functional Graph Library")
3863 (description "The functional graph library, FGL, is a collection of type
3864and function definitions to address graph problems. The basis of the library
3865is an inductive definition of graphs in the style of algebraic data types that
3866encourages inductive, recursive definitions of graph algorithms.")
3ac73271 3867 (license license:bsd-3)))
c5043f4a 3868
4eca62be
EB
3869(define-public ghc-chasingbottoms
3870 (package
3871 (name "ghc-chasingbottoms")
fa9c33dc 3872 (version "1.3.1.4")
4eca62be
EB
3873 (source
3874 (origin
3875 (method url-fetch)
612fddec 3876 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
4eca62be
EB
3877 "ChasingBottoms-" version ".tar.gz"))
3878 (sha256
3879 (base32
fa9c33dc 3880 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
4eca62be 3881 (build-system haskell-build-system)
2d47cee2 3882 (inputs
f54f0475 3883 `(("ghc-quickcheck" ,ghc-quickcheck)
4eca62be
EB
3884 ("ghc-random" ,ghc-random)
3885 ("ghc-syb" ,ghc-syb)))
612fddec 3886 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
4eca62be
EB
3887 (synopsis "Testing of partial and infinite values in Haskell")
3888 (description
3889 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3890 ;; rendered properly.
3891 "This is a library for testing code involving bottoms or infinite values.
3892For the underlying theory and a larger example involving use of QuickCheck,
3893see the article
3894@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3895\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3896Partial and Infinite Values\"}.")
3ac73271 3897 (license license:expat)))
4eca62be 3898
01a687da
FB
3899(define-public ghc-unordered-containers
3900 (package
3901 (name "ghc-unordered-containers")
e0b8cc34 3902 (version "0.2.9.0")
01a687da
FB
3903 (outputs '("out" "doc"))
3904 (source
3905 (origin
3906 (method url-fetch)
3907 (uri (string-append
612fddec 3908 "https://hackage.haskell.org/package/unordered-containers"
0e03d76a 3909 "/unordered-containers-" version ".tar.gz"))
01a687da
FB
3910 (sha256
3911 (base32
e0b8cc34 3912 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
01a687da
FB
3913 (build-system haskell-build-system)
3914 (inputs
c3c61a78
EB
3915 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3916 ("ghc-hunit" ,ghc-hunit)
3917 ("ghc-quickcheck" ,ghc-quickcheck)
3918 ("ghc-test-framework" ,ghc-test-framework)
3919 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2d47cee2
RW
3920 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3921 ("ghc-hashable" ,ghc-hashable)))
01a687da
FB
3922 (home-page
3923 "https://github.com/tibbe/unordered-containers")
3924 (synopsis
3925 "Efficient hashing-based container types")
3926 (description
3927 "Efficient hashing-based container types. The containers have been
3928optimized for performance critical use, both in terms of large data quantities
3929and high speed.")
3ac73271 3930 (license license:bsd-3)))
01a687da 3931
bc8bda50
TS
3932(define-public ghc-unordered-containers-bootstrap
3933 (package
3934 (inherit ghc-unordered-containers)
3935 (name "ghc-unordered-containers-bootstrap")
3936 (arguments `(#:tests? #f))
3937 (inputs
3938 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
3939 (properties '(hidden? #t))))
3940
10de4306
PW
3941(define-public ghc-uniplate
3942 (package
3943 (name "ghc-uniplate")
3944 (version "1.6.12")
3945 (source
3946 (origin
3947 (method url-fetch)
3948 (uri (string-append
612fddec 3949 "https://hackage.haskell.org/package/uniplate/uniplate-"
10de4306
PW
3950 version
3951 ".tar.gz"))
3952 (sha256
3953 (base32
3954 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3955 (build-system haskell-build-system)
2d47cee2 3956 (inputs
10de4306
PW
3957 `(("ghc-syb" ,ghc-syb)
3958 ("ghc-hashable" ,ghc-hashable)
3959 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3960 (home-page "http://community.haskell.org/~ndm/uniplate/")
3961 (synopsis "Simple, concise and fast generic operations")
3962 (description "Uniplate is a library for writing simple and concise generic
3963operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3964work, but is substantially simpler and faster.")
3ac73271 3965 (license license:bsd-3)))
10de4306 3966
3410470d
PW
3967(define-public ghc-base64-bytestring
3968 (package
3969 (name "ghc-base64-bytestring")
3970 (version "1.0.0.1")
3971 (source
3972 (origin
3973 (method url-fetch)
3974 (uri (string-append
612fddec 3975 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3410470d
PW
3976 version
3977 ".tar.gz"))
3978 (sha256
3979 (base32
3980 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3981 (build-system haskell-build-system)
3982 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3983 (home-page "https://github.com/bos/base64-bytestring")
3984 (synopsis "Base64 encoding and decoding for ByteStrings")
3985 (description "This library provides fast base64 encoding and decoding for
3986Haskell @code{ByteString}s.")
3ac73271 3987 (license license:bsd-3)))
3410470d 3988
4e125497
PW
3989(define-public ghc-annotated-wl-pprint
3990 (package
3991 (name "ghc-annotated-wl-pprint")
3992 (version "0.7.0")
3993 (source
3994 (origin
3995 (method url-fetch)
3996 (uri (string-append
612fddec 3997 "https://hackage.haskell.org/package/annotated-wl-pprint"
4e125497
PW
3998 "/annotated-wl-pprint-" version
3999 ".tar.gz"))
4000 (sha256
4001 (base32
4002 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
4003 (build-system haskell-build-system)
4004 (home-page
4005 "https://github.com/david-christiansen/annotated-wl-pprint")
4006 (synopsis
4007 "The Wadler/Leijen Pretty Printer, with annotation support")
4008 (description "This is a modified version of wl-pprint, which was based on
4009Wadler's paper \"A Prettier Printer\". This version allows the library user
4010to annotate the text with semantic information, which can later be rendered in
4011a variety of ways.")
3ac73271 4012 (license license:bsd-3)))
4e125497 4013
febf7ef6
LC
4014(define-public ghc-wl-pprint
4015 (package
4016 (name "ghc-wl-pprint")
061832f1 4017 (version "1.2.1")
febf7ef6
LC
4018 (source (origin
4019 (method url-fetch)
4020 (uri (string-append
612fddec 4021 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
febf7ef6
LC
4022 version ".tar.gz"))
4023 (sha256
4024 (base32
061832f1 4025 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
febf7ef6 4026 (build-system haskell-build-system)
612fddec 4027 (home-page "https://hackage.haskell.org/package/wl-pprint")
febf7ef6
LC
4028 (synopsis "Wadler/Leijen pretty printer")
4029 (description
4030 "This is a pretty printing library based on Wadler's paper @i{A Prettier
4031Printer}. This version allows the library user to declare overlapping
4032instances of the @code{Pretty} class.")
4033 (license license:bsd-3)))
4034
e9333348
PW
4035(define-public ghc-ansi-wl-pprint
4036 (package
4037 (name "ghc-ansi-wl-pprint")
05916da7 4038 (version "0.6.8.2")
e9333348
PW
4039 (source
4040 (origin
4041 (method url-fetch)
05916da7
RW
4042 (uri (string-append "https://hackage.haskell.org/package/"
4043 "ansi-wl-pprint/ansi-wl-pprint-"
4044 version ".tar.gz"))
e9333348
PW
4045 (sha256
4046 (base32
05916da7 4047 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
e9333348 4048 (build-system haskell-build-system)
2d47cee2 4049 (inputs
e9333348 4050 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
612fddec 4051 (home-page "https://github.com/ekmett/ansi-wl-pprint")
e9333348
PW
4052 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
4053 (description "This is a pretty printing library based on Wadler's paper
4054\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
4055colored output using the ansi-terminal package.")
3ac73271 4056 (license license:bsd-3)))
e9333348 4057
d692228e
FB
4058(define-public ghc-split
4059 (package
4060 (name "ghc-split")
5285d614 4061 (version "0.2.3.3")
d692228e
FB
4062 (outputs '("out" "doc"))
4063 (source
4064 (origin
4065 (method url-fetch)
4066 (uri (string-append
612fddec 4067 "https://hackage.haskell.org/package/split/split-"
d692228e
FB
4068 version
4069 ".tar.gz"))
4070 (sha256
4071 (base32
5285d614 4072 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
d692228e 4073 (build-system haskell-build-system)
86e9076d 4074 (native-inputs
d692228e 4075 `(("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4076 (home-page "https://hackage.haskell.org/package/split")
565f040d
PW
4077 (synopsis "Combinator library for splitting lists")
4078 (description "This package provides a collection of Haskell functions for
4079splitting lists into parts, akin to the @code{split} function found in several
4080mainstream languages.")
3ac73271 4081 (license license:bsd-3)))
d692228e 4082
fa468e87
FB
4083(define-public ghc-parsec
4084 (package
4085 (name "ghc-parsec")
8ebdab0d 4086 (version "3.1.13.0")
fa468e87
FB
4087 (outputs '("out" "doc"))
4088 (source
4089 (origin
4090 (method url-fetch)
4091 (uri (string-append
612fddec 4092 "https://hackage.haskell.org/package/parsec/parsec-"
fa468e87
FB
4093 version
4094 ".tar.gz"))
4095 (sha256
8ebdab0d 4096 (base32 "1wc09pyn70p8z6llink10c8pqbh6ikyk554911yfwxv1g91swqbq"))))
fa468e87 4097 (build-system haskell-build-system)
2d47cee2 4098 (native-inputs
fa468e87 4099 `(("ghc-hunit" ,ghc-hunit)))
2d47cee2 4100 (inputs
f54f0475 4101 `(("ghc-text" ,ghc-text)))
fa468e87
FB
4102 (arguments
4103 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
4104 (home-page
4105 "https://github.com/aslatter/parsec")
4106 (synopsis "Monadic parser combinators")
4107 (description "Parsec is a parser library. It is simple, safe, well
4108documented, has extensive libraries, good error messages, and is fast. It is
4109defined as a monad transformer that can be stacked on arbitrary monads, and it
4110is also parametric in the input stream type.")
3ac73271 4111 (license license:bsd-3)))
fa468e87 4112
aeecabd4
RW
4113(define-public ghc-parser-combinators
4114 (package
4115 (name "ghc-parser-combinators")
e2182202 4116 (version "1.0.0")
aeecabd4
RW
4117 (source
4118 (origin
4119 (method url-fetch)
4120 (uri (string-append "https://hackage.haskell.org/package/"
4121 "parser-combinators/parser-combinators-"
4122 version ".tar.gz"))
4123 (sha256
4124 (base32
e2182202 4125 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
aeecabd4
RW
4126 (build-system haskell-build-system)
4127 (home-page "https://github.com/mrkkrp/parser-combinators")
4128 (synopsis "Commonly useful parser combinators")
4129 (description
4130 "This is a lightweight package providing commonly useful parser
4131combinators.")
4132 (license license:bsd-3)))
4133
ad5de226
RW
4134(define-public ghc-megaparsec
4135 (package
4136 (name "ghc-megaparsec")
81caf948 4137 (version "6.5.0")
ad5de226
RW
4138 (source
4139 (origin
4140 (method url-fetch)
4141 (uri (string-append "https://hackage.haskell.org/package/"
4142 "megaparsec/megaparsec-"
4143 version ".tar.gz"))
4144 (sha256
4145 (base32
81caf948 4146 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
ad5de226 4147 (build-system haskell-build-system)
81caf948
TS
4148 (arguments
4149 `(#:cabal-revision
4150 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
ad5de226
RW
4151 (inputs
4152 `(("ghc-case-insensitive" ,ghc-case-insensitive)
ad5de226
RW
4153 ("ghc-parser-combinators" ,ghc-parser-combinators)
4154 ("ghc-scientific" ,ghc-scientific)
4155 ("ghc-text" ,ghc-text)))
4156 (native-inputs
4157 `(("ghc-quickcheck" ,ghc-quickcheck)
4158 ("ghc-hspec" ,ghc-hspec)
4159 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
4160 ("hspec-discover" ,hspec-discover)))
4161 (home-page "https://github.com/mrkkrp/megaparsec")
4162 (synopsis "Monadic parser combinators")
4163 (description
4164 "This is an industrial-strength monadic parser combinator library.
4165Megaparsec is a feature-rich package that strikes a nice balance between
4166speed, flexibility, and quality of parse errors.")
4167 (license license:bsd-2)))
4168
f50fc138
FB
4169(define-public ghc-vector
4170 (package
4171 (name "ghc-vector")
4c8a1f40 4172 (version "0.12.0.1")
f50fc138
FB
4173 (outputs '("out" "doc"))
4174 (source
4175 (origin
4176 (method url-fetch)
4177 (uri (string-append
612fddec 4178 "https://hackage.haskell.org/package/vector/vector-"
f50fc138
FB
4179 version
4180 ".tar.gz"))
4181 (sha256
4182 (base32
4c8a1f40 4183 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
f50fc138 4184 (build-system haskell-build-system)
4c8a1f40
RW
4185 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
4186 ;; disabled for now.
57203a15
TS
4187 (arguments
4188 `(#:cabal-revision
4189 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
4190 #:tests? #f))
e881752c 4191 (inputs
2d47cee2 4192 `(("ghc-primitive" ,ghc-primitive)
4c8a1f40
RW
4193 ("ghc-random" ,ghc-random)
4194 ("ghc-quickcheck" ,ghc-quickcheck)
4195 ;; ("ghc-hunit" ,ghc-hunit)
4196 ;; ("ghc-test-framework" ,ghc-test-framework)
4197 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4198 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4199 ))
f50fc138
FB
4200 (home-page "https://github.com/haskell/vector")
4201 (synopsis "Efficient Arrays")
0b61d503
PW
4202 (description "This library provides an efficient implementation of
4203Int-indexed arrays (both mutable and immutable), with a powerful loop
4204optimisation framework.")
3ac73271 4205 (license license:bsd-3)))
f50fc138 4206
576cdc5a
PW
4207(define-public ghc-vector-binary-instances
4208 (package
4209 (name "ghc-vector-binary-instances")
a7c0b95a 4210 (version "0.2.4")
576cdc5a
PW
4211 (source
4212 (origin
4213 (method url-fetch)
4214 (uri (string-append
612fddec 4215 "https://hackage.haskell.org/package/"
576cdc5a
PW
4216 "vector-binary-instances/vector-binary-instances-"
4217 version ".tar.gz"))
4218 (sha256
4219 (base32
a7c0b95a 4220 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
576cdc5a 4221 (build-system haskell-build-system)
4f2f0eb0
TS
4222 (arguments
4223 `(#:cabal-revision
4224 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
576cdc5a 4225 (inputs
a7c0b95a
RW
4226 `(("ghc-vector" ,ghc-vector)))
4227 (native-inputs
4228 `(("ghc-tasty" ,ghc-tasty)
4229 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
576cdc5a
PW
4230 (home-page "https://github.com/bos/vector-binary-instances")
4231 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
4232 (description "This library provides instances of @code{Binary} for the
4233types defined in the @code{vector} package, making it easy to serialize
4234vectors to and from disk. We use the generic interface to vectors, so all
4235vector types are supported. Specific instances are provided for unboxed,
4236boxed and storable vectors.")
3ac73271 4237 (license license:bsd-3)))
576cdc5a 4238
4c798726
TS
4239(define-public ghc-bloomfilter
4240 (package
4241 (name "ghc-bloomfilter")
4242 (version "2.0.1.0")
4243 (source
4244 (origin
4245 (method url-fetch)
4246 (uri (string-append "https://hackage.haskell.org/package/"
4247 "bloomfilter/bloomfilter-" version ".tar.gz"))
4248 (sha256
4249 (base32
4250 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
4251 (build-system haskell-build-system)
4252 (native-inputs
4253 `(("ghc-quickcheck" ,ghc-quickcheck)
4254 ("ghc-random" ,ghc-random)
4255 ("ghc-test-framework" ,ghc-test-framework)
4256 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4257 (home-page "https://github.com/bos/bloomfilter")
4258 (synopsis "Pure and impure Bloom filter implementations")
4259 (description "This package provides both mutable and immutable Bloom
4260filter data types, along with a family of hash functions and an easy-to-use
4261interface.")
4262 (license license:bsd-3)))
4263
abfed253
FB
4264(define-public ghc-network
4265 (package
4266 (name "ghc-network")
5a92fb41 4267 (version "2.6.3.6")
abfed253
FB
4268 (outputs '("out" "doc"))
4269 (source
4270 (origin
4271 (method url-fetch)
4272 (uri (string-append
612fddec 4273 "https://hackage.haskell.org/package/network/network-"
abfed253
FB
4274 version
4275 ".tar.gz"))
4276 (sha256
4277 (base32
5a92fb41 4278 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
abfed253 4279 (build-system haskell-build-system)
2f430bf8
RW
4280 ;; The regression tests depend on an unpublished module.
4281 (arguments `(#:tests? #f))
4282 (native-inputs
4283 `(("ghc-hunit" ,ghc-hunit)
4284 ("ghc-doctest" ,ghc-doctest)
4285 ("ghc-test-framework" ,ghc-test-framework)
4286 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
abfed253
FB
4287 (home-page "https://github.com/haskell/network")
4288 (synopsis "Low-level networking interface")
4289 (description
4290 "This package provides a low-level networking interface.")
3ac73271 4291 (license license:bsd-3)))
abfed253 4292
9ce031c5
FB
4293(define-public ghc-network-uri
4294 (package
4295 (name "ghc-network-uri")
29addb27 4296 (version "2.6.1.0")
9ce031c5
FB
4297 (outputs '("out" "doc"))
4298 (source
4299 (origin
4300 (method url-fetch)
4301 (uri (string-append
612fddec 4302 "https://hackage.haskell.org/package/network-uri/network-uri-"
9ce031c5
FB
4303 version
4304 ".tar.gz"))
4305 (sha256
4306 (base32
29addb27 4307 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
9ce031c5 4308 (build-system haskell-build-system)
9ce031c5
FB
4309 (arguments
4310 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2d47cee2
RW
4311 (native-inputs
4312 `(("ghc-hunit" ,ghc-hunit)))
4313 (inputs
4314 `(("ghc-parsec" ,ghc-parsec)
4315 ("ghc-network" ,ghc-network)))
9ce031c5
FB
4316 (home-page
4317 "https://github.com/haskell/network-uri")
e881752c
AK
4318 (synopsis "Library for URI manipulation")
4319 (description "This package provides an URI manipulation interface. In
9ce031c5
FB
4320'network-2.6' the 'Network.URI' module was split off from the 'network'
4321package into this package.")
3ac73271 4322 (license license:bsd-3)))
9ce031c5 4323
cd27b23d
PW
4324(define-public ghc-ansi-terminal
4325 (package
4326 (name "ghc-ansi-terminal")
ecefe4ce 4327 (version "0.8.0.4")
cd27b23d
PW
4328 (source
4329 (origin
4330 (method url-fetch)
4331 (uri (string-append
612fddec 4332 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
cd27b23d
PW
4333 version
4334 ".tar.gz"))
4335 (sha256
4336 (base32
ecefe4ce 4337 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
cd27b23d 4338 (build-system haskell-build-system)
ecefe4ce
TS
4339 (inputs
4340 `(("ghc-colour" ,ghc-colour)))
cd27b23d
PW
4341 (home-page "https://github.com/feuerbach/ansi-terminal")
4342 (synopsis "ANSI terminal support for Haskell")
4343 (description "This package provides ANSI terminal support for Haskell. It
4344allows cursor movement, screen clearing, color output showing or hiding the
4345cursor, and changing the title.")
3ac73271 4346 (license license:bsd-3)))
cd27b23d 4347
6ecc4723
PW
4348(define-public ghc-vault
4349 (package
4350 (name "ghc-vault")
128c4c40 4351 (version "0.3.1.2")
6ecc4723
PW
4352 (source
4353 (origin
4354 (method url-fetch)
4355 (uri (string-append
612fddec 4356 "https://hackage.haskell.org/package/vault/vault-"
6ecc4723
PW
4357 version
4358 ".tar.gz"))
4359 (sha256
4360 (base32
128c4c40 4361 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
6ecc4723 4362 (build-system haskell-build-system)
2d47cee2 4363 (inputs
6ecc4723 4364 `(("ghc-unordered-containers" ,ghc-unordered-containers)
128c4c40
TS
4365 ("ghc-hashable" ,ghc-hashable)
4366 ("ghc-semigroupoids" ,ghc-semigroupoids)))
6ecc4723
PW
4367 (home-page
4368 "https://github.com/HeinrichApfelmus/vault")
4369 (synopsis "Persistent store for arbitrary values")
4370 (description "This package provides vaults for Haskell. A vault is a
4371persistent store for values of arbitrary types. It's like having first-class
4372access to the storage space behind @code{IORefs}. The data structure is
4373analogous to a bank vault, where you can access different bank boxes with
4374different keys; hence the name. Also provided is a @code{locker} type,
4375representing a store for a single element.")
3ac73271 4376 (license license:bsd-3)))
6ecc4723 4377
212ae095
AV
4378(define-public ghc-edisonapi
4379 (package
4380 (name "ghc-edisonapi")
4381 (version "1.3.1")
4382 (source
4383 (origin
4384 (method url-fetch)
4385 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
4386 "/EdisonAPI-" version ".tar.gz"))
4387 (sha256
4388 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
4389 (build-system haskell-build-system)
212ae095
AV
4390 (home-page "http://rwd.rdockins.name/edison/home/")
4391 (synopsis "Library of efficient, purely-functional data structures (API)")
4392 (description
4393 "Edison is a library of purely functional data structures written by
4394Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
4395value EDiSon (Efficient Data Structures). Edison provides several families of
4396abstractions, each with multiple implementations. The main abstractions
4397provided by Edison are: Sequences such as stacks, queues, and dequeues;
4398Collections such as sets, bags and heaps; and Associative Collections such as
4399finite maps and priority queues where the priority and element are distinct.")
4400 (license license:expat)))
4401
1eced2a7
AV
4402(define-public ghc-edisoncore
4403 (package
4404 (name "ghc-edisoncore")
38922e49 4405 (version "1.3.2.1")
1eced2a7
AV
4406 (source
4407 (origin
4408 (method url-fetch)
4409 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
4410 "/EdisonCore-" version ".tar.gz"))
4411 (sha256
38922e49 4412 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
1eced2a7
AV
4413 (build-system haskell-build-system)
4414 (inputs
f54f0475 4415 `(("ghc-quickcheck" ,ghc-quickcheck)
1eced2a7
AV
4416 ("ghc-edisonapi" ,ghc-edisonapi)))
4417 (home-page "http://rwd.rdockins.name/edison/home/")
e695d79d 4418 (synopsis "Library of efficient, purely-functional data structures")
1eced2a7
AV
4419 (description
4420 "This package provides the core Edison data structure implementations,
4421including multiple sequence, set, bag, and finite map concrete implementations
4422with various performance characteristics.")
4423 (license license:expat)))
4424
899916b5
PW
4425(define-public ghc-mmorph
4426 (package
4427 (name "ghc-mmorph")
8b5d1142 4428 (version "1.1.2")
899916b5
PW
4429 (source
4430 (origin
4431 (method url-fetch)
4432 (uri (string-append
612fddec 4433 "https://hackage.haskell.org/package/mmorph/mmorph-"
899916b5
PW
4434 version
4435 ".tar.gz"))
4436 (sha256
4437 (base32
8b5d1142 4438 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
899916b5 4439 (build-system haskell-build-system)
aebb8db2 4440 (inputs
f54f0475 4441 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
aebb8db2 4442 (home-page "https://hackage.haskell.org/package/mmorph")
899916b5
PW
4443 (synopsis "Monad morphisms")
4444 (description
4445 "This library provides monad morphism utilities, most commonly used for
4446manipulating monad transformer stacks.")
3ac73271 4447 (license license:bsd-3)))
899916b5 4448
a39e6fae
TS
4449(define-public ghc-ifelse
4450 (package
4451 (name "ghc-ifelse")
4452 (version "0.85")
4453 (source
4454 (origin
4455 (method url-fetch)
4456 (uri (string-append "https://hackage.haskell.org/package/"
4457 "IfElse/IfElse-" version ".tar.gz"))
4458 (sha256
4459 (base32
4460 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
4461 (build-system haskell-build-system)
a39e6fae
TS
4462 (home-page "http://hackage.haskell.org/package/IfElse")
4463 (synopsis "Monadic control flow with anaphoric variants")
4464 (description "This library provides functions for control flow inside of
4465monads with anaphoric variants on @code{if} and @code{when} and a C-like
4466@code{switch} function.")
4467 (license license:bsd-3)))
4468
85160205
PW
4469(define-public ghc-monad-control
4470 (package
4471 (name "ghc-monad-control")
d9c620ba 4472 (version "1.0.2.3")
85160205
PW
4473 (source
4474 (origin
4475 (method url-fetch)
4476 (uri (string-append
612fddec 4477 "https://hackage.haskell.org/package/monad-control"
85160205
PW
4478 "/monad-control-" version ".tar.gz"))
4479 (sha256
4480 (base32
d9c620ba 4481 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
85160205 4482 (build-system haskell-build-system)
2d47cee2 4483 (inputs
85160205
PW
4484 `(("ghc-stm" ,ghc-stm)
4485 ("ghc-transformers-base" ,ghc-transformers-base)
4486 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4487 (home-page "https://github.com/basvandijk/monad-control")
4488 (synopsis "Monad transformers to lift control operations like exception
4489catching")
4490 (description "This package defines the type class @code{MonadBaseControl},
4491a subset of @code{MonadBase} into which generic control operations such as
4492@code{catch} can be lifted from @code{IO} or any other base monad.")
3ac73271 4493 (license license:bsd-3)))
85160205 4494
005a08e3
AV
4495(define-public ghc-fail
4496 (package
4497 (name "ghc-fail")
4498 (version "4.9.0.0")
4499 (source
4500 (origin
4501 (method url-fetch)
4502 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4503 version ".tar.gz"))
4504 (sha256
4505 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4506 (build-system haskell-build-system)
57184328 4507 (arguments `(#:haddock? #f)) ; Package contains no documentation.
005a08e3
AV
4508 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4509 (synopsis "Forward-compatible MonadFail class")
4510 (description
4511 "This package contains the @code{Control.Monad.Fail} module providing the
4512@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4513class that became available in
4514@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4515older @code{base} package versions. This package turns into an empty package
4516when used with GHC versions which already provide the
4517@code{Control.Monad.Fail} module.")
4518 (license license:bsd-3)))
4519
298af2a8
AV
4520(define-public ghc-monadplus
4521 (package
4522 (name "ghc-monadplus")
4523 (version "1.4.2")
4524 (source
4525 (origin
4526 (method url-fetch)
4527 (uri (string-append "https://hackage.haskell.org/package/monadplus"
4528 "/monadplus-" version ".tar.gz"))
4529 (sha256
4530 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
4531 (build-system haskell-build-system)
4532 (home-page "https://hackage.haskell.org/package/monadplus")
4533 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
4534 (description
4535 "This package generalizes many common stream operations such as
4536@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
4537arbitrary @code{MonadPlus} instances.")
4538 (license license:bsd-3)))
4539
27e7c8b6
PW
4540(define-public ghc-byteorder
4541 (package
4542 (name "ghc-byteorder")
4543 (version "1.0.4")
4544 (source
4545 (origin
4546 (method url-fetch)
4547 (uri (string-append
612fddec 4548 "https://hackage.haskell.org/package/byteorder/byteorder-"
27e7c8b6
PW
4549 version
4550 ".tar.gz"))
4551 (sha256
4552 (base32
4553 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
4554 (build-system haskell-build-system)
4555 (home-page
4556 "http://community.haskell.org/~aslatter/code/byteorder")
4557 (synopsis
4558 "Exposes the native endianness of the system")
4559 (description
4560 "This package is for working with the native byte-ordering of the
4561system.")
3ac73271 4562 (license license:bsd-3)))
27e7c8b6 4563
71470edd
PW
4564(define-public ghc-base-compat
4565 (package
4566 (name "ghc-base-compat")
88c33717 4567 (version "0.10.4")
71470edd
PW
4568 (source
4569 (origin
4570 (method url-fetch)
4571 (uri (string-append
612fddec 4572 "https://hackage.haskell.org/package/base-compat/base-compat-"
71470edd
PW
4573 version
4574 ".tar.gz"))
4575 (sha256
4576 (base32
88c33717 4577 "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
71470edd 4578 (build-system haskell-build-system)
2d47cee2 4579 (native-inputs
71470edd 4580 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4581 ("ghc-hspec" ,ghc-hspec)
4582 ("hspec-discover" ,hspec-discover)))
71470edd
PW
4583 (home-page "https://hackage.haskell.org/package/base-compat")
4584 (synopsis "Haskell compiler compatibility library")
4585 (description "This library provides functions available in later versions
4586of base to a wider range of compilers, without requiring the use of CPP
4587pragmas in your code.")
3ac73271 4588 (license license:bsd-3)))
71470edd 4589
94e1dc7a
PW
4590(define-public ghc-blaze-builder
4591 (package
4592 (name "ghc-blaze-builder")
2a7c296a 4593 (version "0.4.1.0")
94e1dc7a
PW
4594 (source
4595 (origin
4596 (method url-fetch)
4597 (uri (string-append
612fddec 4598 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
94e1dc7a
PW
4599 version
4600 ".tar.gz"))
4601 (sha256
4602 (base32
2a7c296a 4603 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
94e1dc7a
PW
4604 (build-system haskell-build-system)
4605 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
2d47cee2 4606 (inputs
94e1dc7a
PW
4607 `(("ghc-text" ,ghc-text)
4608 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 4609 (home-page "https://github.com/lpsmith/blaze-builder")
94e1dc7a
PW
4610 (synopsis "Efficient buffered output")
4611 (description "This library provides an implementation of the older
4612@code{blaze-builder} interface in terms of the new builder that shipped with
4613@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
4614bridge to the new builder, so that code that uses the old interface can
4615interoperate with code that uses the new implementation.")
3ac73271 4616 (license license:bsd-3)))
94e1dc7a 4617
a311f5d0
PW
4618(define-public ghc-blaze-markup
4619 (package
4620 (name "ghc-blaze-markup")
c70f00e2 4621 (version "0.8.2.1")
a311f5d0
PW
4622 (source
4623 (origin
4624 (method url-fetch)
969d0c64
RW
4625 (uri (string-append "https://hackage.haskell.org/package/"
4626 "blaze-markup/blaze-markup-"
4627 version ".tar.gz"))
a311f5d0
PW
4628 (sha256
4629 (base32
c70f00e2 4630 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
a311f5d0 4631 (build-system haskell-build-system)
c70f00e2
TS
4632 (arguments
4633 `(#:phases
4634 (modify-phases %standard-phases
4635 (add-before 'configure 'update-constraints
4636 (lambda _
4637 (substitute* "blaze-markup.cabal"
4638 (("tasty >= 1\\.0 && < 1\\.1")
4639 "tasty >= 1.0 && < 1.2")))))))
2d47cee2 4640 (inputs
a311f5d0
PW
4641 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4642 ("ghc-text" ,ghc-text)))
969d0c64
RW
4643 (native-inputs
4644 `(("ghc-hunit" ,ghc-hunit)
4645 ("ghc-quickcheck" ,ghc-quickcheck)
4646 ("ghc-tasty" ,ghc-tasty)
4647 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4648 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 4649 (home-page "https://jaspervdj.be/blaze")
a311f5d0
PW
4650 (synopsis "Fast markup combinator library for Haskell")
4651 (description "This library provides core modules of a markup combinator
4652library for Haskell.")
3ac73271 4653 (license license:bsd-3)))
a311f5d0 4654
9525e25f
PW
4655(define-public ghc-easy-file
4656 (package
4657 (name "ghc-easy-file")
7d887a2c 4658 (version "0.2.2")
9525e25f
PW
4659 (source
4660 (origin
4661 (method url-fetch)
4662 (uri (string-append
612fddec 4663 "https://hackage.haskell.org/package/easy-file/easy-file-"
9525e25f
PW
4664 version
4665 ".tar.gz"))
4666 (sha256
4667 (base32
7d887a2c 4668 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
9525e25f
PW
4669 (build-system haskell-build-system)
4670 (home-page
612fddec 4671 "https://github.com/kazu-yamamoto/easy-file")
9525e25f
PW
4672 (synopsis "File handling library for Haskell")
4673 (description "This library provides file handling utilities for Haskell.")
3ac73271 4674 (license license:bsd-3)))
9525e25f 4675
e2fcaff2
PW
4676(define-public ghc-async
4677 (package
4678 (name "ghc-async")
b925e1f5 4679 (version "2.2.1")
e2fcaff2
PW
4680 (source
4681 (origin
4682 (method url-fetch)
4683 (uri (string-append
612fddec 4684 "https://hackage.haskell.org/package/async/async-"
e2fcaff2
PW
4685 version
4686 ".tar.gz"))
4687 (sha256
4688 (base32
b925e1f5 4689 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
e2fcaff2 4690 (build-system haskell-build-system)
e1c1b71c 4691 (inputs
2d47cee2 4692 `(("ghc-stm" ,ghc-stm)
b925e1f5 4693 ("ghc-hashable" ,ghc-hashable)
2d47cee2 4694 ("ghc-hunit" ,ghc-hunit)
e1c1b71c
EB
4695 ("ghc-test-framework" ,ghc-test-framework)
4696 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
e2fcaff2
PW
4697 (home-page "https://github.com/simonmar/async")
4698 (synopsis "Library to run IO operations asynchronously")
4699 (description "Async provides a library to run IO operations
554093b7 4700asynchronously, and wait for their results. It is a higher-level interface
e2fcaff2
PW
4701over threads in Haskell, in which @code{Async a} is a concurrent thread that
4702will eventually deliver a value of type @code{a}.")
3ac73271 4703 (license license:bsd-3)))
e2fcaff2 4704
49465144
PW
4705(define-public ghc-fingertree
4706 (package
4707 (name "ghc-fingertree")
9c072f82 4708 (version "0.1.4.1")
49465144
PW
4709 (source
4710 (origin
4711 (method url-fetch)
4712 (uri (string-append
612fddec 4713 "https://hackage.haskell.org/package/fingertree/fingertree-"
35deff72 4714 version ".tar.gz"))
49465144
PW
4715 (sha256
4716 (base32
9c072f82 4717 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
49465144 4718 (build-system haskell-build-system)
ffe8c06e
TGR
4719 (native-inputs
4720 `(("ghc-hunit" ,ghc-hunit)
4721 ("ghc-quickcheck" ,ghc-quickcheck)
4722 ("ghc-test-framework" ,ghc-test-framework)
4723 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4724 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 4725 (home-page "https://hackage.haskell.org/package/fingertree")
49465144
PW
4726 (synopsis "Generic finger-tree structure")
4727 (description "This library provides finger trees, a general sequence
4728representation with arbitrary annotations, for use as a base for
4729implementations of various collection types. It includes examples, as
4730described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4731simple general-purpose data structure\".")
3ac73271 4732 (license license:bsd-3)))
49465144 4733
918f690a
PW
4734(define-public ghc-optparse-applicative
4735 (package
4736 (name "ghc-optparse-applicative")
3c300542 4737 (version "0.14.2.0")
918f690a
PW
4738 (source
4739 (origin
4740 (method url-fetch)
4741 (uri (string-append
612fddec 4742 "https://hackage.haskell.org/package/optparse-applicative"
918f690a
PW
4743 "/optparse-applicative-" version ".tar.gz"))
4744 (sha256
4745 (base32
3c300542
AI
4746 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
4747 (build-system haskell-build-system)
2d47cee2 4748 (inputs
918f690a
PW
4749 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4750 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7c86efe7
RW
4751 (native-inputs
4752 `(("ghc-quickcheck" ,ghc-quickcheck)))
918f690a
PW
4753 (home-page "https://github.com/pcapriotti/optparse-applicative")
4754 (synopsis "Utilities and combinators for parsing command line options")
4755 (description "This package provides utilities and combinators for parsing
4756command line options in Haskell.")
3ac73271 4757 (license license:bsd-3)))
918f690a 4758
09fb622c
PW
4759(define-public ghc-base-orphans
4760 (package
4761 (name "ghc-base-orphans")
19533b32 4762 (version "0.7")
09fb622c
PW
4763 (source
4764 (origin
4765 (method url-fetch)
4766 (uri (string-append
612fddec 4767 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
09fb622c
PW
4768 version
4769 ".tar.gz"))
4770 (sha256
4771 (base32
19533b32 4772 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
09fb622c 4773 (build-system haskell-build-system)
2d47cee2 4774 (native-inputs
09fb622c 4775 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4776 ("ghc-hspec" ,ghc-hspec)
4777 ("hspec-discover" ,hspec-discover)))
09fb622c
PW
4778 (home-page "https://hackage.haskell.org/package/base-orphans")
4779 (synopsis "Orphan instances for backwards compatibility")
4780 (description "This package defines orphan instances that mimic instances
4781available in later versions of base to a wider (older) range of compilers.")
3ac73271 4782 (license license:bsd-3)))
09fb622c 4783
bc0fb230
PW
4784(define-public ghc-auto-update
4785 (package
4786 (name "ghc-auto-update")
a8e5513c 4787 (version "0.1.4")
bc0fb230
PW
4788 (source
4789 (origin
4790 (method url-fetch)
4791 (uri (string-append
612fddec 4792 "https://hackage.haskell.org/package/auto-update/auto-update-"
bc0fb230
PW
4793 version
4794 ".tar.gz"))
4795 (sha256
4796 (base32
a8e5513c 4797 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
bc0fb230
PW
4798 (build-system haskell-build-system)
4799 (home-page "https://github.com/yesodweb/wai")
4800 (synopsis "Efficiently run periodic, on-demand actions")
4801 (description "This library provides mechanisms to efficiently run
4802periodic, on-demand actions in Haskell.")
3ac73271 4803 (license license:expat)))
bc0fb230 4804
7f0d5857
PW
4805(define-public ghc-tagged
4806 (package
4807 (name "ghc-tagged")
93303a3a 4808 (version "0.8.5")
7f0d5857
PW
4809 (source
4810 (origin
4811 (method url-fetch)
4812 (uri (string-append
612fddec 4813 "https://hackage.haskell.org/package/tagged/tagged-"
7f0d5857
PW
4814 version
4815 ".tar.gz"))
4816 (sha256
4817 (base32
93303a3a 4818 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
7f0d5857 4819 (build-system haskell-build-system)
70ee3228
TS
4820 (arguments
4821 `(#:cabal-revision
4822 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
93303a3a
RW
4823 (inputs
4824 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7f0d5857
PW
4825 (home-page "https://hackage.haskell.org/package/tagged")
4826 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4827 (description "This library provides phantom types for Haskell 98, to avoid
4828having to unsafely pass dummy arguments.")
3ac73271 4829 (license license:bsd-3)))
7f0d5857 4830
a24ec6f2
PW
4831(define-public ghc-unbounded-delays
4832 (package
4833 (name "ghc-unbounded-delays")
58c102e0 4834 (version "0.1.1.0")
a24ec6f2
PW
4835 (source
4836 (origin
4837 (method url-fetch)
4838 (uri (string-append
612fddec 4839 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
a24ec6f2
PW
4840 version
4841 ".tar.gz"))
4842 (sha256
4843 (base32
58c102e0 4844 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
a24ec6f2
PW
4845 (build-system haskell-build-system)
4846 (home-page "https://github.com/basvandijk/unbounded-delays")
4847 (synopsis "Unbounded thread delays and timeouts")
4848 (description "The @code{threadDelay} and @code{timeout} functions from the
4849Haskell base library use the bounded @code{Int} type for specifying the delay
4850or timeout period. This package provides alternative functions which use the
4851unbounded @code{Integer} type.")
3ac73271 4852 (license license:bsd-3)))
a24ec6f2 4853
f4e5c04e
PW
4854(define-public ghc-clock
4855 (package
4856 (name "ghc-clock")
615abb95 4857 (version "0.7.2")
f4e5c04e
PW
4858 (source
4859 (origin
4860 (method url-fetch)
4861 (uri (string-append
612fddec 4862 "https://hackage.haskell.org/package/"
f4e5c04e
PW
4863 "clock/"
4864 "clock-" version ".tar.gz"))
4865 (sha256
615abb95 4866 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
f4e5c04e
PW
4867 (build-system haskell-build-system)
4868 (inputs
4869 `(("ghc-tasty" ,ghc-tasty)
4870 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4871 (home-page "https://hackage.haskell.org/package/clock")
3f2ce1dc
PW
4872 (synopsis "High-resolution clock for Haskell")
4873 (description "A package for convenient access to high-resolution clock and
4874timer functions of different operating systems via a unified API.")
3ac73271 4875 (license license:bsd-3)))
3f2ce1dc 4876
6ffc5be7
PW
4877(define-public ghc-charset
4878 (package
4879 (name "ghc-charset")
4880 (version "0.3.7.1")
4881 (source
4882 (origin
4883 (method url-fetch)
4884 (uri (string-append
612fddec 4885 "https://hackage.haskell.org/package/charset/charset-"
6ffc5be7
PW
4886 version
4887 ".tar.gz"))
4888 (sha256
4889 (base32
4890 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4891 (build-system haskell-build-system)
6ffc5be7 4892 (inputs
2d47cee2
RW
4893 `(("ghc-semigroups" ,ghc-semigroups)
4894 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 4895 (home-page "https://github.com/ekmett/charset")
6ffc5be7
PW
4896 (synopsis "Fast unicode character sets for Haskell")
4897 (description "This package provides fast unicode character sets for
4898Haskell, based on complemented PATRICIA tries.")
3ac73271 4899 (license license:bsd-3)))
6ffc5be7 4900
d76bf618
PW
4901(define-public ghc-bytestring-builder
4902 (package
4903 (name "ghc-bytestring-builder")
934dc8d2 4904 (version "0.10.8.1.0")
d76bf618
PW
4905 (source
4906 (origin
4907 (method url-fetch)
4908 (uri (string-append
612fddec 4909 "https://hackage.haskell.org/package/bytestring-builder"
d76bf618
PW
4910 "/bytestring-builder-" version ".tar.gz"))
4911 (sha256
4912 (base32
934dc8d2 4913 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
d76bf618
PW
4914 (build-system haskell-build-system)
4915 (arguments `(#:haddock? #f)) ; Package contains no documentation.
612fddec 4916 (home-page "https://hackage.haskell.org/package/bytestring-builder")
d76bf618
PW
4917 (synopsis "The new bytestring builder, packaged outside of GHC")
4918 (description "This package provides the bytestring builder that is
4919debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4920Compatibility package for older packages.")
3ac73271 4921 (license license:bsd-3)))
d76bf618 4922
878535bd
PW
4923(define-public ghc-nats
4924 (package
4925 (name "ghc-nats")
d62f6951 4926 (version "1.1.2")
878535bd
PW
4927 (source
4928 (origin
4929 (method url-fetch)
4930 (uri (string-append
612fddec 4931 "https://hackage.haskell.org/package/nats/nats-"
878535bd
PW
4932 version
4933 ".tar.gz"))
4934 (sha256
4935 (base32
d62f6951 4936 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
878535bd
PW
4937 (build-system haskell-build-system)
4938 (arguments `(#:haddock? #f))
4939 (inputs
4940 `(("ghc-hashable" ,ghc-hashable)))
4941 (home-page "https://hackage.haskell.org/package/nats")
4942 (synopsis "Natural numbers")
4943 (description "This library provides the natural numbers for Haskell.")
3ac73271 4944 (license license:bsd-3)))
878535bd 4945
bc8bda50
TS
4946(define-public ghc-nats-bootstrap
4947 (package
4948 (inherit ghc-nats)
4949 (name "ghc-nats-bootstrap")
4950 (inputs
4951 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
4952 (properties '((hidden? #t)))))
4953
03f6074b
PW
4954(define-public ghc-void
4955 (package
4956 (name "ghc-void")
e99625b5 4957 (version "0.7.2")
03f6074b
PW
4958 (source
4959 (origin
4960 (method url-fetch)
4961 (uri (string-append
612fddec 4962 "https://hackage.haskell.org/package/void/void-"
03f6074b
PW
4963 version
4964 ".tar.gz"))
4965 (sha256
4966 (base32
e99625b5 4967 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
03f6074b 4968 (build-system haskell-build-system)
03f6074b 4969 (inputs
2d47cee2
RW
4970 `(("ghc-semigroups" ,ghc-semigroups)
4971 ("ghc-hashable" ,ghc-hashable)))
612fddec 4972 (home-page "https://github.com/ekmett/void")
03f6074b
PW
4973 (synopsis
4974 "Logically uninhabited data type")
4975 (description
4976 "A Haskell 98 logically uninhabited data type, used to indicate that a
4977given term should not exist.")
3ac73271 4978 (license license:bsd-3)))
03f6074b 4979
8e06e15b
TS
4980(define-public ghc-invariant
4981 (package
4982 (name "ghc-invariant")
4983 (version "0.5.1")
4984 (source
4985 (origin
4986 (method url-fetch)
4987 (uri (string-append
4988 "https://hackage.haskell.org/package/invariant/invariant-"
4989 version ".tar.gz"))
4990 (sha256
4991 (base32
4992 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
4993 (build-system haskell-build-system)
4994 (inputs
4995 `(("ghc-bifunctors" ,ghc-bifunctors)
4996 ("ghc-comonad" ,ghc-comonad)
4997 ("ghc-contravariant" ,ghc-contravariant)
4998 ("ghc-profunctors" ,ghc-profunctors)
4999 ("ghc-semigroups" ,ghc-semigroups)
5000 ("ghc-statevar" ,ghc-statevar)
5001 ("ghc-stm" ,ghc-stm)
5002 ("ghc-tagged" ,ghc-tagged)
5003 ("ghc-th-abstraction" ,ghc-th-abstraction)
5004 ("ghc-transformers-compat" ,ghc-transformers-compat)
5005 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5006 (native-inputs
5007 `(("ghc-hspec" ,ghc-hspec)
5008 ("ghc-quickcheck" ,ghc-quickcheck)
5009 ("hspec-discover" ,hspec-discover)))
5010 (home-page "https://github.com/nfrisby/invariant-functors")
5011 (synopsis "Haskell98 invariant functors")
5012 (description "Haskell98 invariant functors (also known as exponential
5013functors). For more information, see Edward Kmett's article
5014@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5015 (license license:bsd-2)))
5016
5125f63f
PW
5017(define-public ghc-kan-extensions
5018 (package
5019 (name "ghc-kan-extensions")
8b1573b1 5020 (version "5.2")
5125f63f
PW
5021 (source
5022 (origin
5023 (method url-fetch)
5024 (uri (string-append
612fddec 5025 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5125f63f
PW
5026 version
5027 ".tar.gz"))
5028 (sha256
5029 (base32
8b1573b1 5030 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5125f63f 5031 (build-system haskell-build-system)
5125f63f 5032 (inputs
2d47cee2
RW
5033 `(("ghc-adjunctions" ,ghc-adjunctions)
5034 ("ghc-comonad" ,ghc-comonad)
5125f63f
PW
5035 ("ghc-contravariant" ,ghc-contravariant)
5036 ("ghc-distributive" ,ghc-distributive)
5037 ("ghc-free" ,ghc-free)
8b1573b1 5038 ("ghc-invariant" ,ghc-invariant)
5125f63f 5039 ("ghc-semigroupoids" ,ghc-semigroupoids)
8b1573b1
TS
5040 ("ghc-tagged" ,ghc-tagged)
5041 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 5042 (home-page "https://github.com/ekmett/kan-extensions/")
5125f63f
PW
5043 (synopsis "Kan extensions library")
5044 (description "This library provides Kan extensions, Kan lifts, various
5045forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
3ac73271 5046 (license license:bsd-3)))
5125f63f 5047
32ddba78
RW
5048(define-public ghc-call-stack
5049 (package
5050 (name "ghc-call-stack")
5051 (version "0.1.0")
5052 (source
5053 (origin
5054 (method url-fetch)
5055 (uri (string-append "https://hackage.haskell.org/package/"
5056 "call-stack/call-stack-"
5057 version ".tar.gz"))
5058 (sha256
5059 (base32
5060 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
5061 (build-system haskell-build-system)
5062 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
5063 (home-page "https://github.com/sol/call-stack#readme")
5064 (synopsis "Use GHC call-stacks in a backward compatible way")
5065 (description "This package provides a compatibility layer for using GHC
5066call stacks with different versions of the compiler.")
5067 (license license:expat)))
5068
e42e9024
RW
5069;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
5070;; because it depends on ghc-nanospec, which depends on ghc-hunit.
5071(define-public ghc-call-stack-boot
5072 (package
5073 (inherit ghc-call-stack)
5074 (arguments '(#:tests? #f))
5075 (inputs '())))
5076
f271524a
PW
5077(define-public ghc-statevar
5078 (package
5079 (name "ghc-statevar")
c9fa2a28 5080 (version "1.1.1.1")
f271524a
PW
5081 (source
5082 (origin
5083 (method url-fetch)
5084 (uri (string-append
612fddec 5085 "https://hackage.haskell.org/package/StateVar/StateVar-"
f271524a
PW
5086 version
5087 ".tar.gz"))
5088 (sha256
5089 (base32
c9fa2a28 5090 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
f271524a 5091 (build-system haskell-build-system)
2d47cee2 5092 (inputs
f271524a 5093 `(("ghc-stm" ,ghc-stm)))
612fddec 5094 (home-page "https://hackage.haskell.org/package/StateVar")
f271524a
PW
5095 (synopsis "State variables for Haskell")
5096 (description "This package provides state variables, which are references
5097in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
3ac73271 5098 (license license:bsd-3)))
f271524a 5099
e1a35c39
PW
5100(define-public ghc-lens
5101 (package
5102 (name "ghc-lens")
b9f67d10 5103 (version "4.16.1")
e1a35c39
PW
5104 (source
5105 (origin
5106 (method url-fetch)
38646a62
RW
5107 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5108 version ".tar.gz"))
e1a35c39
PW
5109 (sha256
5110 (base32
b9f67d10 5111 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
e1a35c39 5112 (build-system haskell-build-system)
b9f67d10
TS
5113 (arguments
5114 `(#:cabal-revision
5115 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
2d47cee2 5116 (inputs
e1a35c39
PW
5117 `(("ghc-base-orphans" ,ghc-base-orphans)
5118 ("ghc-bifunctors" ,ghc-bifunctors)
5119 ("ghc-distributive" ,ghc-distributive)
5120 ("ghc-exceptions" ,ghc-exceptions)
5121 ("ghc-free" ,ghc-free)
5122 ("ghc-kan-extensions" ,ghc-kan-extensions)
5123 ("ghc-parallel" ,ghc-parallel)
5124 ("ghc-reflection" ,ghc-reflection)
5125 ("ghc-semigroupoids" ,ghc-semigroupoids)
2d47cee2 5126 ("ghc-vector" ,ghc-vector)
38646a62 5127 ("ghc-call-stack" ,ghc-call-stack)
2d47cee2 5128 ("ghc-comonad" ,ghc-comonad)
e1a35c39
PW
5129 ("ghc-contravariant" ,ghc-contravariant)
5130 ("ghc-hashable" ,ghc-hashable)
e1a35c39
PW
5131 ("ghc-profunctors" ,ghc-profunctors)
5132 ("ghc-semigroups" ,ghc-semigroups)
5133 ("ghc-tagged" ,ghc-tagged)
5134 ("ghc-text" ,ghc-text)
5135 ("ghc-transformers-compat" ,ghc-transformers-compat)
5136 ("ghc-unordered-containers" ,ghc-unordered-containers)
5137 ("ghc-void" ,ghc-void)
5138 ("ghc-generic-deriving" ,ghc-generic-deriving)
5139 ("ghc-nats" ,ghc-nats)
5140 ("ghc-simple-reflect" ,ghc-simple-reflect)
5141 ("hlint" ,hlint)))
38646a62
RW
5142 (native-inputs
5143 `(("cabal-doctest" ,cabal-doctest)
b9f67d10 5144 ("ghc-doctest" ,ghc-doctest)
38646a62
RW
5145 ("ghc-hunit" ,ghc-hunit)
5146 ("ghc-test-framework" ,ghc-test-framework)
5147 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5148 ("ghc-test-framework-th" ,ghc-test-framework-th)
5149 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5150 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 5151 (home-page "https://github.com/ekmett/lens/")
e1a35c39
PW
5152 (synopsis "Lenses, Folds and Traversals")
5153 (description "This library provides @code{Control.Lens}. The combinators
5154in @code{Control.Lens} provide a highly generic toolbox for composing families
5155of getters, folds, isomorphisms, traversals, setters and lenses and their
5156indexed variants.")
3ac73271 5157 (license license:bsd-3)))
e1a35c39 5158
d7e67cf1
PW
5159(define-public ghc-cheapskate
5160 (package
5161 (name "ghc-cheapskate")
e1358124 5162 (version "0.1.1")
d7e67cf1
PW
5163 (source
5164 (origin
5165 (method url-fetch)
5166 (uri (string-append
612fddec 5167 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
d7e67cf1
PW
5168 version
5169 ".tar.gz"))
5170 (sha256
5171 (base32
e1358124 5172 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
d7e67cf1 5173 (build-system haskell-build-system)
d7e67cf1 5174 (inputs
f54f0475 5175 `(("ghc-text" ,ghc-text)
751de3d6 5176 ("ghc-blaze-html" ,ghc-blaze-html)
e1358124 5177 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
2d47cee2 5178 ("ghc-data-default" ,ghc-data-default)
d7e67cf1 5179 ("ghc-syb" ,ghc-syb)
e1358124 5180 ("ghc-uniplate" ,ghc-uniplate)))
612fddec 5181 (home-page "https://github.com/jgm/cheapskate")
d7e67cf1
PW
5182 (synopsis "Experimental markdown processor")
5183 (description "Cheapskate is an experimental Markdown processor in pure
5184Haskell. It aims to process Markdown efficiently and in the most forgiving
5185possible way. It is designed to deal with any input, including garbage, with
4d9cdf3c
TGR
5186linear performance. Output is sanitized by default for protection against
5187cross-site scripting (@dfn{XSS}) attacks.")
3ac73271 5188 (license license:bsd-3)))
d7e67cf1 5189
4f997551
PW
5190(define-public ghc-bifunctors
5191 (package
5192 (name "ghc-bifunctors")
8574e6c7 5193 (version "5.5.3")
4f997551
PW
5194 (source
5195 (origin
5196 (method url-fetch)
5197 (uri (string-append
612fddec 5198 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4f997551
PW
5199 version
5200 ".tar.gz"))
5201 (sha256
5202 (base32
8574e6c7 5203 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
4f997551
PW
5204 (build-system haskell-build-system)
5205 (inputs
7044882c
RW
5206 `(("ghc-base-orphans" ,ghc-base-orphans)
5207 ("ghc-comonad" ,ghc-comonad)
5208 ("ghc-th-abstraction" ,ghc-th-abstraction)
5209 ("ghc-transformers-compat" ,ghc-transformers-compat)
5210 ("ghc-tagged" ,ghc-tagged)
4f997551 5211 ("ghc-semigroups" ,ghc-semigroups)))
7044882c
RW
5212 (native-inputs
5213 `(("ghc-hspec" ,ghc-hspec)
5214 ("hspec-discover" ,hspec-discover)
5215 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 5216 (home-page "https://github.com/ekmett/bifunctors/")
4f997551
PW
5217 (synopsis "Bifunctors for Haskell")
5218 (description "This package provides bifunctors for Haskell.")
3ac73271 5219 (license license:bsd-3)))
4f997551 5220
aee98223
PW
5221(define-public ghc-semigroupoids
5222 (package
5223 (name "ghc-semigroupoids")
07f38c6a 5224 (version "5.2.2")
aee98223
PW
5225 (source
5226 (origin
5227 (method url-fetch)
5228 (uri (string-append
612fddec 5229 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
aee98223
PW
5230 version
5231 ".tar.gz"))
5232 (sha256
5233 (base32
07f38c6a 5234 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
aee98223 5235 (build-system haskell-build-system)
07f38c6a
TS
5236 (arguments
5237 `(#:cabal-revision
5238 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
2d47cee2 5239 (inputs
aee98223
PW
5240 `(("ghc-base-orphans" ,ghc-base-orphans)
5241 ("ghc-transformers-compat" ,ghc-transformers-compat)
5242 ("ghc-bifunctors" ,ghc-bifunctors)
5243 ("ghc-comonad" ,ghc-comonad)
5244 ("ghc-contravariant" ,ghc-contravariant)
2d47cee2 5245 ("ghc-distributive" ,ghc-distributive)
07f38c6a 5246 ("ghc-hashable" ,ghc-hashable)
2d47cee2 5247 ("ghc-semigroups" ,ghc-semigroups)
07f38c6a
TS
5248 ("ghc-tagged" ,ghc-tagged)
5249 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5250 (native-inputs
5251 `(("cabal-doctest" ,cabal-doctest)
5252 ("ghc-doctest" ,ghc-doctest)))
612fddec 5253 (home-page "https://github.com/ekmett/semigroupoids")
aee98223
PW
5254 (synopsis "Semigroupoids operations for Haskell")
5255 (description "This library provides a wide array of (semi)groupoids and
5256operations for working with them. A @code{Semigroupoid} is a @code{Category}
5257without the requirement of identity arrows for every object in the category.
5258A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
5259Finally, to work with these weaker structures it is beneficial to have
5260containers that can provide stronger guarantees about their contents, so
5261versions of @code{Traversable} and @code{Foldable} that can be folded with
5262just a @code{Semigroup} are added.")
3ac73271 5263 (license license:bsd-3)))
aee98223 5264
624efe73
PW
5265(define-public ghc-contravariant
5266 (package
5267 (name "ghc-contravariant")
0b0e45d8 5268 (version "1.4.1")
624efe73
PW
5269 (source
5270 (origin
5271 (method url-fetch)
5272 (uri (string-append
612fddec 5273 "https://hackage.haskell.org/package/contravariant/contravariant-"
624efe73
PW
5274 version
5275 ".tar.gz"))
5276 (sha256
5277 (base32
0b0e45d8 5278 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
624efe73 5279 (build-system haskell-build-system)
2d47cee2 5280 (inputs
624efe73
PW
5281 `(("ghc-void" ,ghc-void)
5282 ("ghc-transformers-compat" ,ghc-transformers-compat)
2d47cee2
RW
5283 ("ghc-statevar" ,ghc-statevar)
5284 ("ghc-semigroups" ,ghc-semigroups)))
624efe73 5285 (home-page
612fddec 5286 "https://github.com/ekmett/contravariant/")
624efe73
PW
5287 (synopsis "Contravariant functors")
5288 (description "Contravariant functors for Haskell.")
3ac73271 5289 (license license:bsd-3)))
624efe73 5290
946fa8c9
PW
5291(define-public ghc-semigroups
5292 (package
5293 (name "ghc-semigroups")
42c000dc 5294 (version "0.18.5")
946fa8c9
PW
5295 (source
5296 (origin
5297 (method url-fetch)
5298 (uri (string-append
612fddec 5299 "https://hackage.haskell.org/package/semigroups/semigroups-"
946fa8c9
PW
5300 version
5301 ".tar.gz"))
5302 (sha256
5303 (base32
42c000dc 5304 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
946fa8c9 5305 (build-system haskell-build-system)
2d47cee2 5306 (inputs
946fa8c9
PW
5307 `(("ghc-nats" ,ghc-nats)
5308 ("ghc-tagged" ,ghc-tagged)
2d47cee2
RW
5309 ("ghc-unordered-containers" ,ghc-unordered-containers)
5310 ("ghc-text" ,ghc-text)
946fa8c9 5311 ("ghc-hashable" ,ghc-hashable)))
612fddec 5312 (home-page "https://github.com/ekmett/semigroups/")
946fa8c9
PW
5313 (synopsis "Semigroup operations for Haskell")
5314 (description "This package provides semigroups for Haskell. In
5315mathematics, a semigroup is an algebraic structure consisting of a set
5316together with an associative binary operation. A semigroup generalizes a
5317monoid in that there might not exist an identity element. It
5318also (originally) generalized a group (a monoid with all inverses) to a type
5319where every element did not have to have an inverse, thus the name
5320semigroup.")
3ac73271 5321 (license license:bsd-3)))
946fa8c9 5322
bc8bda50
TS
5323(define-public ghc-semigroups-bootstrap
5324 (package
5325 (inherit ghc-semigroups)
5326 (name "ghc-semigroups-bootstrap")
5327 (inputs
5328 `(("ghc-nats" ,ghc-nats-bootstrap)
5329 ("ghc-tagged" ,ghc-tagged)
5330 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
5331 ("ghc-text" ,ghc-text)
5332 ("ghc-hashable" ,ghc-hashable-bootstrap)))
5333 (properties '(hidden? #t))))
5334
dc2e8ab7
PW
5335(define-public ghc-free
5336 (package
5337 (name "ghc-free")
95573872 5338 (version "5.0.2")
dc2e8ab7
PW
5339 (source
5340 (origin
5341 (method url-fetch)
5342 (uri (string-append
612fddec 5343 "https://hackage.haskell.org/package/free/free-"
dc2e8ab7
PW
5344 version
5345 ".tar.gz"))
5346 (sha256
5347 (base32
95573872 5348 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
dc2e8ab7 5349 (build-system haskell-build-system)
2d47cee2 5350 (inputs
dc2e8ab7
PW
5351 `(("ghc-prelude-extras" ,ghc-prelude-extras)
5352 ("ghc-profunctors" ,ghc-profunctors)
2d47cee2
RW
5353 ("ghc-exceptions" ,ghc-exceptions)
5354 ("ghc-bifunctors" ,ghc-bifunctors)
dc2e8ab7
PW
5355 ("ghc-comonad" ,ghc-comonad)
5356 ("ghc-distributive" ,ghc-distributive)
dc2e8ab7 5357 ("ghc-semigroupoids" ,ghc-semigroupoids)
95573872
TS
5358 ("ghc-semigroups" ,ghc-semigroups)
5359 ("ghc-transformers-base" ,ghc-transformers-base)
5360 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 5361 (home-page "https://github.com/ekmett/free/")
dc2e8ab7
PW
5362 (synopsis "Unrestricted monads for Haskell")
5363 (description "This library provides free monads, which are useful for many
5364tree-like structures and domain specific languages. If @code{f} is a
5365@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
5366whose nodes are labeled with the constructors of @code{f}. The word \"free\"
5367is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
5368f} makes no constraining assumptions beyond those given by @code{f} and the
5369definition of @code{Monad}.")
3ac73271 5370 (license license:bsd-3)))
dc2e8ab7 5371
52db0e13
PW
5372(define-public ghc-adjunctions
5373 (package
5374 (name "ghc-adjunctions")
38563d91 5375 (version "4.4")
52db0e13
PW
5376 (source
5377 (origin
5378 (method url-fetch)
5379 (uri (string-append
612fddec 5380 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
52db0e13
PW
5381 version
5382 ".tar.gz"))
5383 (sha256
5384 (base32
38563d91 5385 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
52db0e13 5386 (build-system haskell-build-system)
52db0e13 5387 (inputs
2d47cee2
RW
5388 `(("ghc-profunctors" ,ghc-profunctors)
5389 ("ghc-comonad" ,ghc-comonad)
52db0e13
PW
5390 ("ghc-contravariant" ,ghc-contravariant)
5391 ("ghc-distributive" ,ghc-distributive)
5392 ("ghc-free" ,ghc-free)
52db0e13
PW
5393 ("ghc-tagged" ,ghc-tagged)
5394 ("ghc-semigroupoids" ,ghc-semigroupoids)
5395 ("ghc-semigroups" ,ghc-semigroups)
38563d91 5396 ("ghc-transformers-compat" ,ghc-transformers-compat)
52db0e13 5397 ("ghc-void" ,ghc-void)))
38563d91
TS
5398 (native-inputs
5399 `(("ghc-generic-deriving" ,ghc-generic-deriving)
5400 ("ghc-hspec" ,ghc-hspec)
5401 ("hspec-discover" ,hspec-discover)))
612fddec 5402 (home-page "https://github.com/ekmett/adjunctions/")
52db0e13
PW
5403 (synopsis "Adjunctions and representable functors")
5404 (description "This library provides adjunctions and representable functors
5405for Haskell.")
3ac73271 5406 (license license:bsd-3)))
52db0e13 5407
96f23b62
AV
5408(define-public ghc-equivalence
5409 (package
5410 (name "ghc-equivalence")
5411 (version "0.3.2")
5412 (source
5413 (origin
5414 (method url-fetch)
5415 (uri (string-append "https://hackage.haskell.org/package/equivalence"
5416 "/equivalence-" version ".tar.gz"))
5417 (sha256
5418 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
5419 (build-system haskell-build-system)
5420 (inputs
f54f0475 5421 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
96f23b62
AV
5422 ("ghc-transformers-compat" ,ghc-transformers-compat)
5423 ("ghc-quickcheck" ,ghc-quickcheck)
5424 ("ghc-test-framework" ,ghc-test-framework)
5425 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5426 (home-page "https://github.com/pa-ba/equivalence")
5427 (synopsis "Maintaining an equivalence relation implemented as union-find")
5428 (description
5429 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
5430Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
543122(2), 1975) in order to maintain an equivalence relation. This
5432implementation is a port of the @code{union-find} package using the @code{ST}
5433monad transformer (instead of the IO monad).")
5434 (license license:bsd-3)))
5435
cc553d02
PW
5436(define-public ghc-fast-logger
5437 (package
5438 (name "ghc-fast-logger")
05c08ec9 5439 (version "2.4.11")
cc553d02
PW
5440 (source
5441 (origin
5442 (method url-fetch)
5443 (uri (string-append
612fddec 5444 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
cc553d02
PW
5445 version
5446 ".tar.gz"))
5447 (sha256
5448 (base32
05c08ec9 5449 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
cc553d02 5450 (build-system haskell-build-system)
cc553d02 5451 (inputs
05c08ec9
RW
5452 `(("ghc-auto-update" ,ghc-auto-update)
5453 ("ghc-easy-file" ,ghc-easy-file)
5454 ("ghc-text" ,ghc-text)
5455 ("ghc-unix-time" ,ghc-unix-time)))
2d47cee2
RW
5456 (native-inputs
5457 `(("hspec-discover" ,hspec-discover)
5458 ("ghc-hspec" ,ghc-hspec)))
cc553d02
PW
5459 (home-page "https://hackage.haskell.org/package/fast-logger")
5460 (synopsis "Fast logging system")
5461 (description "This library provides a fast logging system for Haskell.")
3ac73271 5462 (license license:bsd-3)))
cc553d02 5463
cb2119e4
PW
5464(define-public ghc-doctest
5465 (package
5466 (name "ghc-doctest")
f9a97fb5 5467 (version "0.16.0")
cb2119e4
PW
5468 (source
5469 (origin
5470 (method url-fetch)
5471 (uri (string-append
612fddec 5472 "https://hackage.haskell.org/package/doctest/doctest-"
cb2119e4
PW
5473 version
5474 ".tar.gz"))
5475 (sha256
5476 (base32
f9a97fb5 5477 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
cb2119e4
PW
5478 (build-system haskell-build-system)
5479 (arguments `(#:tests? #f)) ; FIXME: missing test framework
cb2119e4 5480 (inputs
2d47cee2
RW
5481 `(("ghc-syb" ,ghc-syb)
5482 ("ghc-paths" ,ghc-paths)
5483 ("ghc-base-compat" ,ghc-base-compat)
f9a97fb5 5484 ("ghc-code-page" ,ghc-code-page)
cb2119e4
PW
5485 ("ghc-hunit" ,ghc-hunit)
5486 ("ghc-hspec" ,ghc-hspec)
5487 ("ghc-quickcheck" ,ghc-quickcheck)
5488 ("ghc-stringbuilder" ,ghc-stringbuilder)
5489 ("ghc-silently" ,ghc-silently)
5490 ("ghc-setenv" ,ghc-setenv)))
5491 (home-page
5492 "https://github.com/sol/doctest#readme")
5493 (synopsis "Test interactive Haskell examples")
5494 (description "The doctest program checks examples in source code comments.
5495It is modeled after doctest for Python, see
98b90194 5496@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3ac73271 5497 (license license:expat)))
cb2119e4 5498
6f5e312e
PW
5499(define-public ghc-lifted-base
5500 (package
5501 (name "ghc-lifted-base")
4a2100b8 5502 (version "0.2.3.12")
6f5e312e
PW
5503 (source
5504 (origin
5505 (method url-fetch)
5506 (uri (string-append
612fddec 5507 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6f5e312e
PW
5508 version
5509 ".tar.gz"))
5510 (sha256
5511 (base32
4a2100b8 5512 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6f5e312e
PW
5513 (build-system haskell-build-system)
5514 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6f5e312e 5515 (inputs
2d47cee2
RW
5516 `(("ghc-transformers-base" ,ghc-transformers-base)
5517 ("ghc-monad-control" ,ghc-monad-control)
5518 ("ghc-transformers-compat" ,ghc-transformers-compat)
6f5e312e
PW
5519 ("ghc-hunit" ,ghc-hunit)))
5520 (home-page "https://github.com/basvandijk/lifted-base")
5521 (synopsis "Lifted IO operations from the base library")
5522 (description "Lifted-base exports IO operations from the @code{base}
5523library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5524Note that not all modules from @code{base} are converted yet. The package
5525includes a copy of the @code{monad-peel} test suite written by Anders
5526Kaseorg.")
3ac73271 5527 (license license:bsd-3)))
6f5e312e 5528
281bc4fd
PW
5529(define-public ghc-word8
5530 (package
5531 (name "ghc-word8")
bc819cdf 5532 (version "0.1.3")
281bc4fd
PW
5533 (source
5534 (origin
5535 (method url-fetch)
5536 (uri (string-append
612fddec 5537 "https://hackage.haskell.org/package/word8/word8-"
281bc4fd
PW
5538 version
5539 ".tar.gz"))
5540 (sha256
5541 (base32
bc819cdf 5542 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
281bc4fd 5543 (build-system haskell-build-system)
2d47cee2
RW
5544 (native-inputs
5545 `(("ghc-hspec" ,ghc-hspec)
5546 ("hspec-discover" ,hspec-discover)))
612fddec 5547 (home-page "https://hackage.haskell.org/package/word8")
281bc4fd
PW
5548 (synopsis "Word8 library for Haskell")
5549 (description "Word8 library to be used with @code{Data.ByteString}.")
3ac73271 5550 (license license:bsd-3)))
281bc4fd 5551
fa709a2f
PW
5552(define-public ghc-stringsearch
5553 (package
5554 (name "ghc-stringsearch")
5555 (version "0.3.6.6")
5556 (source
5557 (origin
5558 (method url-fetch)
5559 (uri (string-append
612fddec 5560 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
fa709a2f
PW
5561 version
5562 ".tar.gz"))
5563 (sha256
5564 (base32
5565 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
5566 (build-system haskell-build-system)
5567 (home-page "https://bitbucket.org/dafis/stringsearch")
5568 (synopsis "Fast searching, splitting and replacing of ByteStrings")
5569 (description "This package provides several functions to quickly search
5570for substrings in strict or lazy @code{ByteStrings}. It also provides
5571functions for breaking or splitting on substrings and replacing all
5572occurrences of a substring (the first in case of overlaps) with another.")
3ac73271 5573 (license license:bsd-3)))
fa709a2f 5574
d0f4853a
RW
5575(define-public ghc-integer-logarithms
5576 (package
5577 (name "ghc-integer-logarithms")
7550f4b0 5578 (version "1.0.2.1")
d0f4853a
RW
5579 (source
5580 (origin
5581 (method url-fetch)
5582 (uri (string-append "https://hackage.haskell.org/package/"
5583 "integer-logarithms/integer-logarithms-"
5584 version ".tar.gz"))
5585 (sha256
5586 (base32
7550f4b0 5587 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
d0f4853a 5588 (build-system haskell-build-system)
6300ba5b 5589 (arguments
6b05cfb4
TS
5590 `(#:phases
5591 (modify-phases %standard-phases
5592 (add-before 'configure 'update-constraints
5593 (lambda _
5594 (substitute* "integer-logarithms.cabal"
5595 (("tasty >= 0\\.10 && < 1\\.1")
5596 "tasty >= 0.10 && < 1.2")))))))
7550f4b0
AI
5597 (native-inputs
5598 `(("ghc-quickcheck" ,ghc-quickcheck)
5599 ("ghc-smallcheck" ,ghc-smallcheck)
5600 ("ghc-tasty" ,ghc-tasty)
d0f4853a 5601 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7550f4b0
AI
5602 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5603 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5604 (home-page "https://github.com/Bodigrim/integer-logarithms")
d0f4853a
RW
5605 (synopsis "Integer logarithms")
5606 (description
5607 "This package provides the following modules:
5608@code{Math.NumberTheory.Logarithms} and
5609@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5610@code{GHC.Integer.Logarithms.Compat} and
5611@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5612in migrated modules.")
5613 (license license:expat)))
5614
9d1944a4
TS
5615(define-public ghc-integer-logarithms-bootstrap
5616 (package
5617 (inherit ghc-integer-logarithms)
5618 (name "ghc-integer-logarithms-bootstrap")
5619 (arguments `(#:tests? #f))
5620 (native-inputs '())
5621 (properties '(hidden? #t))))
5622
a43a38a1
PW
5623(define-public ghc-scientific
5624 (package
5625 (name "ghc-scientific")
2cad58ca 5626 (version "0.3.6.2")
a43a38a1
PW
5627 (source
5628 (origin
5629 (method url-fetch)
5630 (uri (string-append
612fddec 5631 "https://hackage.haskell.org/package/scientific/scientific-"
a43a38a1
PW
5632 version
5633 ".tar.gz"))
5634 (sha256
5635 (base32
2cad58ca 5636 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
a43a38a1 5637 (build-system haskell-build-system)
a43a38a1 5638 (inputs
f9f4578b 5639 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
2d47cee2 5640 ("ghc-text" ,ghc-text)
a5044b6a 5641 ("ghc-hashable" ,ghc-hashable)
2cad58ca
AI
5642 ("ghc-primitive" ,ghc-primitive)))
5643 (native-inputs
5644 `(("ghc-tasty" ,ghc-tasty)
a43a38a1
PW
5645 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
5646 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5647 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5648 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5649 ("ghc-smallcheck" ,ghc-smallcheck)
5650 ("ghc-quickcheck" ,ghc-quickcheck)))
5651 (home-page "https://github.com/basvandijk/scientific")
5652 (synopsis "Numbers represented using scientific notation")
5653 (description "This package provides @code{Data.Scientific}, which provides
5654the number type @code{Scientific}. Scientific numbers are arbitrary precision
5655and space efficient. They are represented using
98b90194 5656@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
a43a38a1 5657notation}.")
3ac73271 5658 (license license:bsd-3)))
a43a38a1 5659
9d1944a4
TS
5660(define-public ghc-scientific-bootstrap
5661 (package
5662 (inherit ghc-scientific)
5663 (name "ghc-scientific-bootstrap")
5664 (arguments `(#:tests? #f))
5665 (inputs
5666 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
5667 ("ghc-text" ,ghc-text)
5668 ("ghc-hashable" ,ghc-hashable)
5669 ("ghc-primitive" ,ghc-primitive)))
5670 (native-inputs '())
5671 (properties '(hidden? #t))))
5672
3f8b8e73
AV
5673(define-public ghc-boxes
5674 (package
5675 (name "ghc-boxes")
50eff0d5 5676 (version "0.1.5")
3f8b8e73
AV
5677 (source
5678 (origin
5679 (method url-fetch)
5680 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
5681 version ".tar.gz"))
5682 (sha256
50eff0d5 5683 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
3f8b8e73
AV
5684 (build-system haskell-build-system)
5685 (inputs
5686 `(("ghc-split" ,ghc-split)
5687 ("ghc-quickcheck" ,ghc-quickcheck)))
5688 (home-page "https://hackage.haskell.org/package/boxes")
5689 (synopsis "2D text pretty-printing library")
5690 (description
5691 "Boxes is a pretty-printing library for laying out text in two dimensions,
5692using a simple box model.")
5693 (license license:bsd-3)))
2aa0bada 5694
4cbd9f59
RW
5695(define-public ghc-deepseq-generics
5696 (package
5697 (name "ghc-deepseq-generics")
59e08129 5698 (version "0.2.0.0")
4cbd9f59
RW
5699 (source (origin
5700 (method url-fetch)
612fddec 5701 (uri (string-append "https://hackage.haskell.org/package/"
4cbd9f59
RW
5702 "deepseq-generics/deepseq-generics-"
5703 version ".tar.gz"))
5704 (sha256
5705 (base32
59e08129 5706 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
4cbd9f59 5707 (build-system haskell-build-system)
5f4327df
TS
5708 (arguments
5709 `(#:cabal-revision
5710 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
4cbd9f59
RW
5711 (native-inputs
5712 `(("ghc-hunit" ,ghc-hunit)
5713 ("ghc-test-framework" ,ghc-test-framework)
5714 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5715 (home-page "https://github.com/hvr/deepseq-generics")
5716 (synopsis "Generic RNF implementation")
5717 (description
5718 "This package provides a @code{GHC.Generics}-based
5719@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5720providing an 'rnf' implementation.")
3ac73271 5721 (license license:bsd-3)))
4cbd9f59 5722
e0894701
RW
5723(define-public ghc-string-qq
5724 (package
5725 (name "ghc-string-qq")
5726 (version "0.0.2")
5727 (source
5728 (origin
5729 (method url-fetch)
5730 (uri (string-append
5731 "https://hackage.haskell.org/package/string-qq/string-qq-"
5732 version
5733 ".tar.gz"))
5734 (sha256
5735 (base32
5736 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
5737 (build-system haskell-build-system)
5738 (home-page "http://hackage.haskell.org/package/string-qq")
5739 (synopsis
5740 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
5741 (description
5742 "This package provides a quasiquoter for non-interpolated strings, texts
5743and bytestrings.")
5744 (license license:public-domain)))
5745
8164d58e
RW
5746(define-public ghc-pandoc-types
5747 (package
5748 (name "ghc-pandoc-types")
cdad36c3 5749 (version "1.17.5.1")
8164d58e
RW
5750 (source (origin
5751 (method url-fetch)
612fddec 5752 (uri (string-append "https://hackage.haskell.org/package/"
8164d58e
RW
5753 "pandoc-types/pandoc-types-"
5754 version ".tar.gz"))
5755 (sha256
5756 (base32
cdad36c3 5757 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
8164d58e 5758 (build-system haskell-build-system)
2d47cee2 5759 (inputs
8164d58e
RW
5760 `(("ghc-syb" ,ghc-syb)
5761 ("ghc-aeson" ,ghc-aeson)
9d087076
RW
5762 ("ghc-string-qq" ,ghc-string-qq)))
5763 (native-inputs
5764 `(("ghc-quickcheck" ,ghc-quickcheck)
5765 ("ghc-test-framework" ,ghc-test-framework)
5766 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5767 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5768 ("ghc-hunit" ,ghc-hunit)))
8164d58e
RW
5769 (home-page "http://johnmacfarlane.net/pandoc")
5770 (synopsis "Types for representing a structured document")
5771 (description
5772 "This module defines the @code{Pandoc} data structure, which is used by
5773pandoc to represent structured documents. It also provides functions for
5774building up, manipulating and serialising @code{Pandoc} structures.")
3ac73271 5775 (license license:bsd-3)))
8164d58e 5776
ef2861b1
RW
5777(define-public ghc-texmath
5778 (package
5779 (name "ghc-texmath")
cfac79ba 5780 (version "0.11.0.1")
ef2861b1
RW
5781 (source (origin
5782 (method url-fetch)
612fddec 5783 (uri (string-append "https://hackage.haskell.org/package/"
ef2861b1
RW
5784 "texmath/texmath-" version ".tar.gz"))
5785 (sha256
5786 (base32
cfac79ba 5787 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
ef2861b1 5788 (build-system haskell-build-system)
2d47cee2 5789 (inputs
ef2861b1
RW
5790 `(("ghc-syb" ,ghc-syb)
5791 ("ghc-network-uri" ,ghc-network-uri)
5792 ("ghc-split" ,ghc-split)
5793 ("ghc-temporary" ,ghc-temporary)
5794 ("ghc-utf8-string" ,ghc-utf8-string)
5795 ("ghc-xml" ,ghc-xml)
5796 ("ghc-parsec" ,ghc-parsec)
ef2861b1 5797 ("ghc-pandoc-types" ,ghc-pandoc-types)))
612fddec 5798 (home-page "https://github.com/jgm/texmath")
ef2861b1
RW
5799 (synopsis "Conversion between formats used to represent mathematics")
5800 (description
5801 "The texmath library provides functions to read and write TeX math,
5802presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5803Office). Support is also included for converting math formats to pandoc's
5804native format (allowing conversion, via pandoc, to a variety of different
5805markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5806it can parse and apply LaTeX macros.")
3ac73271 5807 (license license:gpl2+)))
ef2861b1 5808
a54d11b5
RW
5809(define-public ghc-regex-pcre-builtin
5810 (package
5811 (name "ghc-regex-pcre-builtin")
5812 (version "0.94.4.8.8.35")
5813 (source (origin
5814 (method url-fetch)
612fddec 5815 (uri (string-append "https://hackage.haskell.org/package/"
a54d11b5
RW
5816 "regex-pcre-builtin/regex-pcre-builtin-"
5817 version ".tar.gz"))
5818 (sha256
5819 (base32
5820 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5821 (build-system haskell-build-system)
2d47cee2 5822 (inputs
a54d11b5 5823 `(("ghc-regex-base" ,ghc-regex-base)))
612fddec 5824 (home-page "https://hackage.haskell.org/package/regex-pcre")
a54d11b5
RW
5825 (synopsis "Enhancement of the builtin Text.Regex library")
5826 (description
5827 "This package is an enhancement of the @code{Text.Regex} library,
5828providing the PCRE backend to accompany regex-base, with bundled code from
98b90194 5829@url{https://www.pcre.org}.")
3ac73271 5830 (license license:bsd-3)))
a54d11b5 5831
05245dc9
RW
5832(define-public ghc-diff
5833 (package
5834 (name "ghc-diff")
307a0dce 5835 (version "0.3.4")
05245dc9
RW
5836 (source (origin
5837 (method url-fetch)
612fddec 5838 (uri (string-append "https://hackage.haskell.org/package/"
05245dc9
RW
5839 "Diff/Diff-" version ".tar.gz"))
5840 (sha256
5841 (base32
307a0dce 5842 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
05245dc9 5843 (build-system haskell-build-system)
307a0dce
RW
5844 (native-inputs
5845 `(("ghc-quickcheck" ,ghc-quickcheck)
5846 ("ghc-test-framework" ,ghc-test-framework)
5847 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 5848 (home-page "https://hub.darcs.net/sterlingclover/Diff")
05245dc9
RW
5849 (synopsis "O(ND) diff algorithm in Haskell")
5850 (description
5851 "This package provides an implementation of the standard diff algorithm,
5852and utilities for pretty printing.")
3ac73271 5853 (license license:bsd-3)))
05245dc9 5854
66c480b6
RW
5855(define-public ghc-highlighting-kate
5856 (package
5857 (name "ghc-highlighting-kate")
a9897365 5858 (version "0.6.4")
66c480b6
RW
5859 (source (origin
5860 (method url-fetch)
612fddec 5861 (uri (string-append "https://hackage.haskell.org/package/"
66c480b6
RW
5862 "highlighting-kate/highlighting-kate-"
5863 version ".tar.gz"))
5864 (sha256
5865 (base32
a9897365 5866 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
66c480b6 5867 (build-system haskell-build-system)
2d47cee2 5868 (inputs
66c480b6
RW
5869 `(("ghc-diff" ,ghc-diff)
5870 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5871 (native-inputs
5872 `(("ghc-parsec" ,ghc-parsec)
5873 ("ghc-blaze-html" ,ghc-blaze-html)
f54f0475 5874 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 5875 (home-page "https://github.com/jgm/highlighting-kate")
66c480b6
RW
5876 (synopsis "Syntax highlighting library")
5877 (description
5878 "Highlighting-kate is a syntax highlighting library with support for
5879nearly one hundred languages. The syntax parsers are automatically generated
98b90194 5880from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
66c480b6
RW
5881supported by Kate can be added. An (optional) command-line program is
5882provided, along with a utility for generating new parsers from Kate XML syntax
5883descriptions.")
3ac73271 5884 (license license:gpl2+)))
66c480b6 5885
31be270b
RW
5886(define-public ghc-cmark
5887 (package
5888 (name "ghc-cmark")
b8490856 5889 (version "0.5.6")
31be270b
RW
5890 (source (origin
5891 (method url-fetch)
b8490856
TGR
5892 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5893 ;; See cbits/cmark_version.h.
612fddec 5894 (uri (string-append "https://hackage.haskell.org/package/"
31be270b
RW
5895 "cmark/cmark-" version ".tar.gz"))
5896 (sha256
5897 (base32
b8490856 5898 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
31be270b 5899 (build-system haskell-build-system)
2d47cee2 5900 (inputs
31be270b
RW
5901 `(("ghc-text" ,ghc-text)))
5902 (native-inputs
5903 `(("ghc-hunit" ,ghc-hunit)))
5904 (home-page "https://github.com/jgm/commonmark-hs")
5905 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5906 (description
5907 "This package provides Haskell bindings for
5908@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
b8490856
TGR
5909CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5910sources, and does not require prior installation of the C library.")
3ac73271 5911 (license license:bsd-3)))
31be270b 5912
0ba94011
RW
5913(define-public ghc-cmark-gfm
5914 (package
5915 (name "ghc-cmark-gfm")
0ceaff6f 5916 (version "0.1.5")
0ba94011
RW
5917 (source
5918 (origin
5919 (method url-fetch)
5920 (uri (string-append "https://hackage.haskell.org/package/"
5921 "cmark-gfm/cmark-gfm-"
5922 version ".tar.gz"))
5923 (sha256
5924 (base32
0ceaff6f 5925 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
0ba94011
RW
5926 (build-system haskell-build-system)
5927 (inputs
5928 `(("ghc-text" ,ghc-text)))
5929 (native-inputs
5930 `(("ghc-hunit" ,ghc-hunit)))
5931 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5932 (synopsis
5933 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5934 (description
5935 "This package provides Haskell bindings for libcmark-gfm, the reference
5936parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5937It includes sources for libcmark-gfm and does not require prior installation
5938of the C library.")
5939 (license license:bsd-3)))
5940
25b20a9c
RW
5941(define-public ghc-executable-path
5942 (package
5943 (name "ghc-executable-path")
1c42bd13 5944 (version "0.0.3.1")
25b20a9c
RW
5945 (source (origin
5946 (method url-fetch)
612fddec 5947 (uri (string-append "https://hackage.haskell.org/package/"
25b20a9c
RW
5948 "executable-path/executable-path-"
5949 version ".tar.gz"))
5950 (sha256
5951 (base32
1c42bd13 5952 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
25b20a9c 5953 (build-system haskell-build-system)
612fddec 5954 (home-page "https://hackage.haskell.org/package/executable-path")
25b20a9c
RW
5955 (synopsis "Find out the full path of the executable")
5956 (description
5957 "The documentation of @code{System.Environment.getProgName} says that
5958\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5959instead, for maximum portability, we just return the leafname of the program
5960as invoked.\" This library tries to provide the missing path.")
3ac73271 5961 (license license:public-domain)))
25b20a9c 5962
5de6eedc
RW
5963(define-public ghc-enclosed-exceptions
5964 (package
5965 (name "ghc-enclosed-exceptions")
376a6df4 5966 (version "1.0.3")
5de6eedc
RW
5967 (source (origin
5968 (method url-fetch)
612fddec 5969 (uri (string-append "https://hackage.haskell.org/package/"
5de6eedc
RW
5970 "enclosed-exceptions/enclosed-exceptions-"
5971 version ".tar.gz"))
5972 (sha256
5973 (base32
376a6df4 5974 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
5de6eedc 5975 (build-system haskell-build-system)
376a6df4
RW
5976 ;; FIXME: one of the tests blocks forever:
5977 ;; "thread blocked indefinitely in an MVar operation"
5978 (arguments '(#:tests? #f))
2d47cee2 5979 (inputs
5de6eedc
RW
5980 `(("ghc-lifted-base" ,ghc-lifted-base)
5981 ("ghc-monad-control" ,ghc-monad-control)
5982 ("ghc-async" ,ghc-async)
5983 ("ghc-transformers-base" ,ghc-transformers-base)))
5984 (native-inputs
5985 `(("ghc-hspec" ,ghc-hspec)
5986 ("ghc-quickcheck" ,ghc-quickcheck)))
5987 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5988 (synopsis "Catch all exceptions from within an enclosed computation")
5989 (description
5990 "This library implements a technique to catch all exceptions raised
5991within an enclosed computation, while remaining responsive to (external)
5992asynchronous exceptions.")
3ac73271 5993 (license license:expat)))
5de6eedc 5994
74d9f72e
RW
5995(define-public ghc-packedstring
5996 (package
5997 (name "ghc-packedstring")
5998 (version "0.1.0.1")
5999 (source (origin
6000 (method url-fetch)
612fddec 6001 (uri (string-append "https://hackage.haskell.org/package/"
74d9f72e
RW
6002 "packedstring/packedstring-"
6003 version ".tar.gz"))
6004 (sha256
6005 (base32
6006 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
6007 (build-system haskell-build-system)
6008 (arguments
6009 `(#:phases
6010 (modify-phases %standard-phases
6011 (add-after 'unpack 'enable-extension
6012 (lambda _
6013 ;; This package won't compile without the StandaloneDeriving
6014 ;; extension.
6015 (substitute* "packedstring.cabal"
6016 (("CPP") "CPP, StandaloneDeriving"))
6017 #t)))))
612fddec 6018 (home-page "https://hackage.haskell.org/package/packedstring")
74d9f72e
RW
6019 (synopsis "Library for packed strings")
6020 (description
6021 "This deprecated library provides an implementation of packed strings.")
3ac73271 6022 (license license:bsd-3)))
74d9f72e 6023
9dfc79b3
RW
6024(define-public ghc-th-abstraction
6025 (package
6026 (name "ghc-th-abstraction")
5fe52835 6027 (version "0.2.8.0")
9dfc79b3
RW
6028 (source
6029 (origin
6030 (method url-fetch)
6031 (uri (string-append "https://hackage.haskell.org/package/"
6032 "th-abstraction/th-abstraction-"
6033 version ".tar.gz"))
6034 (sha256
6035 (base32
5fe52835 6036 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
9dfc79b3
RW
6037 (build-system haskell-build-system)
6038 (home-page "https://github.com/glguy/th-abstraction")
6039 (synopsis "Nicer interface for reified information about data types")
6040 (description
6041 "This package normalizes variations in the interface for inspecting
6042datatype information via Template Haskell so that packages and support a
6043single, easier to use informational datatype while supporting many versions of
6044Template Haskell.")
6045 (license license:isc)))
6046
1777e1f2
RW
6047(define-public ghc-th-lift
6048 (package
6049 (name "ghc-th-lift")
08c3993f 6050 (version "0.7.11")
1777e1f2
RW
6051 (source (origin
6052 (method url-fetch)
612fddec 6053 (uri (string-append "https://hackage.haskell.org/package/"
1777e1f2
RW
6054 "th-lift/th-lift-" version ".tar.gz"))
6055 (sha256
6056 (base32
08c3993f 6057 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
1777e1f2 6058 (build-system haskell-build-system)
08c3993f
TS
6059 (inputs
6060 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
612fddec 6061 (home-page "https://github.com/mboes/th-lift")
1777e1f2
RW
6062 (synopsis "Derive Template Haskell's Lift class for datatypes")
6063 (description
6064 "This is a Haskell library to derive Template Haskell's Lift class for
6065datatypes.")
3ac73271 6066 (license license:bsd-3)))
1777e1f2 6067
a6d1c4e7
RW
6068(define-public ghc-th-lift-instances
6069 (package
6070 (name "ghc-th-lift-instances")
6071 (version "0.1.11")
6072 (source
6073 (origin
6074 (method url-fetch)
6075 (uri (string-append "https://hackage.haskell.org/package/"
6076 "th-lift-instances/th-lift-instances-"
6077 version ".tar.gz"))
6078 (sha256
6079 (base32
6080 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
6081 (build-system haskell-build-system)
6082 (inputs
6083 `(("ghc-th-lift" ,ghc-th-lift)
6084 ("ghc-vector" ,ghc-vector)
6085 ("ghc-text" ,ghc-text)
6086 ("ghc-quickcheck" ,ghc-quickcheck)))
6087 (home-page "https://github.com/bennofs/th-lift-instances/")
6088 (synopsis "Lift instances for template-haskell for common data types.")
6089 (description "Most data types in the Haskell platform do not have Lift
6090instances. This package provides orphan instances for @code{containers},
6091@code{text}, @code{bytestring} and @code{vector}.")
6092 (license license:bsd-3)))
6093
25101be9
RW
6094(define-public ghc-th-expand-syns
6095 (package
6096 (name "ghc-th-expand-syns")
46f88981 6097 (version "0.4.4.0")
25101be9
RW
6098 (source (origin
6099 (method url-fetch)
612fddec 6100 (uri (string-append "https://hackage.haskell.org/package/"
25101be9
RW
6101 "th-expand-syns/th-expand-syns-"
6102 version ".tar.gz"))
6103 (sha256
6104 (base32
46f88981 6105 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
25101be9 6106 (build-system haskell-build-system)
2d47cee2 6107 (inputs
25101be9 6108 `(("ghc-syb" ,ghc-syb)))
612fddec 6109 (home-page "https://hackage.haskell.org/package/th-expand-syns")
25101be9
RW
6110 (synopsis "Expands type synonyms in Template Haskell ASTs")
6111 (description
6112 "This package enables users to expand type synonyms in Template Haskell
6113@dfn{abstract syntax trees} (ASTs).")
3ac73271 6114 (license license:bsd-3)))
25101be9 6115
536b84a8
RW
6116(define-public ghc-th-reify-many
6117 (package
6118 (name "ghc-th-reify-many")
5209fc22 6119 (version "0.1.8")
536b84a8
RW
6120 (source (origin
6121 (method url-fetch)
612fddec 6122 (uri (string-append "https://hackage.haskell.org/package/"
536b84a8
RW
6123 "th-reify-many/th-reify-many-"
6124 version ".tar.gz"))
6125 (sha256
6126 (base32
5209fc22 6127 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
536b84a8 6128 (build-system haskell-build-system)
2d47cee2 6129 (inputs
f54f0475 6130 `(("ghc-safe" ,ghc-safe)
536b84a8 6131 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
612fddec 6132 (home-page "https://github.com/mgsloan/th-reify-many")
536b84a8
RW
6133 (synopsis "Recurseively reify template haskell datatype info")
6134 (description
6135 "th-reify-many provides functions for recursively reifying top level
6136declarations. The main intended use case is for enumerating the names of
6137datatypes reachable from an initial datatype, and passing these names to some
6138function which generates instances.")
3ac73271 6139 (license license:bsd-3)))
536b84a8 6140
2e677251
RW
6141(define-public ghc-th-orphans
6142 (package
6143 (name "ghc-th-orphans")
7307a2f8 6144 (version "0.13.6")
2e677251
RW
6145 (source (origin
6146 (method url-fetch)
612fddec 6147 (uri (string-append "https://hackage.haskell.org/package/"
2e677251
RW
6148 "th-orphans/th-orphans-" version ".tar.gz"))
6149 (sha256
6150 (base32
7307a2f8 6151 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
2e677251 6152 (build-system haskell-build-system)
2d47cee2 6153 (inputs
2e677251 6154 `(("ghc-th-lift" ,ghc-th-lift)
080778a0 6155 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
2e677251 6156 ("ghc-th-reify-many" ,ghc-th-reify-many)
2e677251
RW
6157 ("ghc-generic-deriving" ,ghc-generic-deriving)))
6158 (native-inputs
6159 `(("ghc-hspec" ,ghc-hspec)))
612fddec 6160 (home-page "https://hackage.haskell.org/package/th-orphans")
2e677251
RW
6161 (synopsis "Orphan instances for TH datatypes")
6162 (description
6163 "This package provides orphan instances for Template Haskell datatypes. In particular,
6164instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
6165and @code{Eq} instances. These instances used to live in the haskell-src-meta
6166package, and that's where the version number started.")
3ac73271 6167 (license license:bsd-3)))
2e677251 6168
e0ca14c7
AV
6169(define-public ghc-geniplate-mirror
6170 (package
6171 (name "ghc-geniplate-mirror")
6b850af4 6172 (version "0.7.6")
e0ca14c7
AV
6173 (source
6174 (origin
6175 (method url-fetch)
6176 (uri (string-append "https://hackage.haskell.org/package"
6177 "/geniplate-mirror"
6178 "/geniplate-mirror-" version ".tar.gz"))
6179 (sha256
6b850af4 6180 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
e0ca14c7 6181 (build-system haskell-build-system)
e0ca14c7
AV
6182 (home-page "https://github.com/danr/geniplate")
6183 (synopsis "Use Template Haskell to generate Uniplate-like functions")
6184 (description
6185 "Use Template Haskell to generate Uniplate-like functions. This is a
6186maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
6187geniplate} package, written by Lennart Augustsson.")
6188 (license license:bsd-3)))
6189
af4db693
AV
6190(define-public ghc-gitrev
6191 (package
6192 (name "ghc-gitrev")
6193 (version "1.3.1")
6194 (source
6195 (origin
6196 (method url-fetch)
6197 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
6198 version ".tar.gz"))
6199 (sha256
6200 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
6201 (build-system haskell-build-system)
6202 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
6203 (home-page "https://github.com/acfoltzer/gitrev")
6204 (synopsis "Compile git revision info into Haskell projects")
6205 (description
6206 "This package provides some handy Template Haskell splices for including
6207the current git hash and branch in the code of your project. This is useful
6208for including in panic messages, @command{--version} output, or diagnostic
6209info for more informative bug reports.")
6210 (license license:bsd-3)))
6211
3611fc7b
RW
6212(define-public ghc-haskell-src-meta
6213 (package
6214 (name "ghc-haskell-src-meta")
dcfee7b6 6215 (version "0.8.0.3")
3611fc7b
RW
6216 (source (origin
6217 (method url-fetch)
612fddec 6218 (uri (string-append "https://hackage.haskell.org/package/"
3611fc7b
RW
6219 "haskell-src-meta/haskell-src-meta-"
6220 version ".tar.gz"))
6221 (sha256
6222 (base32
dcfee7b6 6223 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
3611fc7b 6224 (build-system haskell-build-system)
2d47cee2 6225 (inputs
3611fc7b
RW
6226 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
6227 ("ghc-syb" ,ghc-syb)
6228 ("ghc-th-orphans" ,ghc-th-orphans)))
db6dbe19
RW
6229 (native-inputs
6230 `(("ghc-hunit" ,ghc-hunit)
6231 ("ghc-test-framework" ,ghc-test-framework)
6232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
612fddec 6233 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
3611fc7b
RW
6234 (synopsis "Parse source to template-haskell abstract syntax")
6235 (description
6236 "This package provides tools to parse Haskell sources to the
6237template-haskell abstract syntax.")
3ac73271 6238 (license license:bsd-3)))
3611fc7b 6239
b55630a3
RW
6240(define-public ghc-conduit
6241 (package
6242 (name "ghc-conduit")
5cb46200 6243 (version "1.3.0.3")
b55630a3
RW
6244 (source (origin
6245 (method url-fetch)
612fddec 6246 (uri (string-append "https://hackage.haskell.org/package/"
b55630a3
RW
6247 "conduit/conduit-" version ".tar.gz"))
6248 (sha256
6249 (base32
5cb46200 6250 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
b55630a3 6251 (build-system haskell-build-system)
2d47cee2 6252 (inputs
b55630a3
RW
6253 `(("ghc-exceptions" ,ghc-exceptions)
6254 ("ghc-lifted-base" ,ghc-lifted-base)
5cb46200 6255 ("ghc-mono-traversable" ,ghc-mono-traversable)
b55630a3 6256 ("ghc-mmorph" ,ghc-mmorph)
b55630a3 6257 ("ghc-resourcet" ,ghc-resourcet)
5cb46200 6258 ("ghc-silently" ,ghc-silently)
b55630a3 6259 ("ghc-transformers-base" ,ghc-transformers-base)
5cb46200
RW
6260 ("ghc-unliftio" ,ghc-unliftio)
6261 ("ghc-unliftio-core" ,ghc-unliftio-core)
6262 ("ghc-vector" ,ghc-vector)
b55630a3
RW
6263 ("ghc-void" ,ghc-void)))
6264 (native-inputs
6265 `(("ghc-quickcheck" ,ghc-quickcheck)
6266 ("ghc-hspec" ,ghc-hspec)
7bc18f41 6267 ("ghc-safe" ,ghc-safe)
6268 ("ghc-split" ,ghc-split)))
b55630a3
RW
6269 (home-page "https://github.com/snoyberg/conduit")
6270 (synopsis "Streaming data library ")
6271 (description
463c39c3 6272 "The conduit package is a solution to the streaming data problem,
6273allowing for production, transformation, and consumption of streams of data
6274in constant memory. It is an alternative to lazy I/O which guarantees
6275deterministic resource handling, and fits in the same general solution
6276space as enumerator/iteratee and pipes.")
3ac73271 6277 (license license:expat)))
b55630a3 6278
1c17529f
RW
6279(define-public ghc-logging-facade
6280 (package
6281 (name "ghc-logging-facade")
1cf4f272 6282 (version "0.3.0")
1c17529f
RW
6283 (source (origin
6284 (method url-fetch)
612fddec 6285 (uri (string-append "https://hackage.haskell.org/package/"
1c17529f
RW
6286 "logging-facade/logging-facade-"
6287 version ".tar.gz"))
6288 (sha256
6289 (base32
1cf4f272 6290 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
1c17529f
RW
6291 (build-system haskell-build-system)
6292 (native-inputs
2d47cee2
RW
6293 `(("ghc-hspec" ,ghc-hspec)
6294 ("hspec-discover" ,hspec-discover)))
612fddec 6295 (home-page "https://hackage.haskell.org/package/logging-facade")
1c17529f
RW
6296 (synopsis "Simple logging abstraction that allows multiple back-ends")
6297 (description
6298 "This package provides a simple logging abstraction that allows multiple
6299back-ends.")
3ac73271 6300 (license license:expat)))
1c17529f 6301
9efdbb72
RW
6302(define-public ghc-mockery
6303 (package
6304 (name "ghc-mockery")
b3cd1712 6305 (version "0.3.5")
9efdbb72
RW
6306 (source (origin
6307 (method url-fetch)
612fddec 6308 (uri (string-append "https://hackage.haskell.org/package/"
9efdbb72
RW
6309 "mockery/mockery-" version ".tar.gz"))
6310 (sha256
6311 (base32
b3cd1712 6312 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
9efdbb72 6313 (build-system haskell-build-system)
2d47cee2 6314 (inputs
9efdbb72 6315 `(("ghc-temporary" ,ghc-temporary)
1e521705
RW
6316 ("ghc-logging-facade" ,ghc-logging-facade)
6317 ("ghc-base-compat" ,ghc-base-compat)))
9efdbb72 6318 (native-inputs
2d47cee2
RW
6319 `(("ghc-hspec" ,ghc-hspec)
6320 ("hspec-discover" ,hspec-discover)))
612fddec 6321 (home-page "https://hackage.haskell.org/package/mockery")
9efdbb72
RW
6322 (synopsis "Support functions for automated testing")
6323 (description
6324 "The mockery package provides support functions for automated testing.")
3ac73271 6325 (license license:expat)))
9efdbb72 6326
132133c1
RW
6327(define-public ghc-yaml
6328 (package
6329 (name "ghc-yaml")
1613ee19 6330 (version "0.8.32")
132133c1
RW
6331 (source (origin
6332 (method url-fetch)
612fddec 6333 (uri (string-append "https://hackage.haskell.org/package/"
132133c1
RW
6334 "yaml/yaml-" version ".tar.gz"))
6335 (sha256
6336 (base32
1613ee19 6337 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
132133c1 6338 (build-system haskell-build-system)
2d47cee2 6339 (inputs
132133c1
RW
6340 `(("ghc-conduit" ,ghc-conduit)
6341 ("ghc-resourcet" ,ghc-resourcet)
6342 ("ghc-aeson" ,ghc-aeson)
6343 ("ghc-unordered-containers" ,ghc-unordered-containers)
6344 ("ghc-vector" ,ghc-vector)
6345 ("ghc-text" ,ghc-text)
6346 ("ghc-attoparsec" ,ghc-attoparsec)
6347 ("ghc-scientific" ,ghc-scientific)
fe4f81bc
RW
6348 ("ghc-semigroups" ,ghc-semigroups)
6349 ("ghc-temporary" ,ghc-temporary)
132133c1 6350 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
132133c1
RW
6351 ("ghc-base-compat" ,ghc-base-compat)))
6352 (native-inputs
6353 `(("ghc-hspec" ,ghc-hspec)
6354 ("ghc-hunit" ,ghc-hunit)
2d47cee2 6355 ("hspec-discover" ,hspec-discover)
132133c1 6356 ("ghc-mockery" ,ghc-mockery)))
612fddec 6357 (home-page "https://github.com/snoyberg/yaml/")
132133c1
RW
6358 (synopsis "Parsing and rendering YAML documents")
6359 (description
6360 "This package provides a library to parse and render YAML documents.")
3ac73271 6361 (license license:bsd-3)))
132133c1 6362
fcacbec3
RW
6363(define-public ghc-filemanip
6364 (package
6365 (name "ghc-filemanip")
6366 (version "0.3.6.3")
6367 (source (origin
6368 (method url-fetch)
612fddec 6369 (uri (string-append "https://hackage.haskell.org/package/"
fcacbec3
RW
6370 "filemanip/filemanip-" version ".tar.gz"))
6371 (sha256
6372 (base32
6373 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
6374 (build-system haskell-build-system)
2d47cee2 6375 (inputs
f54f0475 6376 `(("ghc-unix-compat" ,ghc-unix-compat)))
fcacbec3
RW
6377 (home-page "https://github.com/bos/filemanip")
6378 (synopsis "File and directory manipulation for Haskell")
6379 (description
6380 "This package provides a Haskell library for working with files and
6381directories. It includes code for pattern matching, finding files, modifying
6382file contents, and more.")
3ac73271 6383 (license license:bsd-3)))
fcacbec3 6384
348519e1
RW
6385(define-public ghc-mmap
6386 (package
6387 (name "ghc-mmap")
6388 (version "0.5.9")
6389 (source (origin
6390 (method url-fetch)
612fddec 6391 (uri (string-append "https://hackage.haskell.org/package/"
348519e1
RW
6392 "mmap/mmap-" version ".tar.gz"))
6393 (sha256
6394 (base32
6395 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6396 (build-system haskell-build-system)
612fddec 6397 (home-page "https://hackage.haskell.org/package/mmap")
348519e1
RW
6398 (synopsis "Memory mapped files for Haskell")
6399 (description
6400 "This library provides a wrapper to @code{mmap}, allowing files or
6401devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6402@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6403do on-demand loading.")
3ac73271 6404 (license license:bsd-3)))
348519e1 6405
12676ce8
RW
6406(define-public ghc-juicypixels
6407 (package
6408 (name "ghc-juicypixels")
38f0d04e 6409 (version "3.2.9.5")
12676ce8
RW
6410 (source (origin
6411 (method url-fetch)
612fddec 6412 (uri (string-append "https://hackage.haskell.org/package/"
12676ce8
RW
6413 "JuicyPixels/JuicyPixels-"
6414 version ".tar.gz"))
6415 (sha256
6416 (base32
38f0d04e 6417 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
12676ce8 6418 (build-system haskell-build-system)
2d47cee2 6419 (inputs
f54f0475 6420 `(("ghc-zlib" ,ghc-zlib)
12676ce8
RW
6421 ("ghc-vector" ,ghc-vector)
6422 ("ghc-primitive" ,ghc-primitive)
6423 ("ghc-mmap" ,ghc-mmap)))
6424 (home-page "https://github.com/Twinside/Juicy.Pixels")
6425 (synopsis "Picture loading and serialization library")
6426 (description
6427 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6428TIFF and GIF formats.")
3ac73271 6429 (license license:bsd-3)))
12676ce8 6430
ac5d633a
RW
6431(define-public ghc-hslua
6432 (package
6433 (name "ghc-hslua")
867ac7fe 6434 (version "0.9.5.2")
ac5d633a
RW
6435 (source (origin
6436 (method url-fetch)
612fddec 6437 (uri (string-append "https://hackage.haskell.org/package/"
ac5d633a
RW
6438 "hslua/hslua-" version ".tar.gz"))
6439 (sha256
6440 (base32
867ac7fe 6441 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
ac5d633a 6442 (build-system haskell-build-system)
a231ef7e 6443 (arguments
ac5d633a
RW
6444 `(#:configure-flags '("-fsystem-lua")))
6445 (inputs
e045c014
RW
6446 `(("lua" ,lua)
6447 ("ghc-exceptions" ,ghc-exceptions)
6448 ("ghc-fail" ,ghc-fail)
2d47cee2 6449 ("ghc-text" ,ghc-text)))
ac5d633a 6450 (native-inputs
e045c014
RW
6451 `(("ghc-tasty" ,ghc-tasty)
6452 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6453 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6454 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
ac5d633a
RW
6455 ("ghc-quickcheck" ,ghc-quickcheck)
6456 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
612fddec 6457 (home-page "https://hackage.haskell.org/package/hslua")
ac5d633a 6458 (synopsis "Lua language interpreter embedding in Haskell")
a231ef7e 6459 (description
ac5d633a 6460 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
98b90194 6461described in @url{https://www.lua.org/}.")
3ac73271 6462 (license license:expat)))
ac5d633a 6463
8045d84d
RW
6464(define-public ghc-hslua-module-text
6465 (package
6466 (name "ghc-hslua-module-text")
6467 (version "0.1.2.1")
6468 (source
6469 (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/"
6472 "hslua-module-text/hslua-module-text-"
6473 version ".tar.gz"))
6474 (sha256
6475 (base32
6476 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
6477 (build-system haskell-build-system)
085f26d1
TS
6478 (arguments
6479 `(#:cabal-revision
6480 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
8045d84d
RW
6481 (inputs
6482 `(("ghc-hslua" ,ghc-hslua)
6483 ("ghc-text" ,ghc-text)))
6484 (native-inputs
6485 `(("ghc-tasty" ,ghc-tasty)
6486 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6487 (home-page "https://github.com/hslua/hslua-module-text")
6488 (synopsis "Lua module for text")
6489 (description
6490 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6491for Haskell. The functions provided by this module are @code{upper},
6492@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6493 (license license:expat)))
6494
51c05fcf
RW
6495(define-public ghc-byteable
6496 (package
6497 (name "ghc-byteable")
6498 (version "0.1.1")
6499 (source (origin
6500 (method url-fetch)
612fddec 6501 (uri (string-append "https://hackage.haskell.org/package/"
51c05fcf
RW
6502 "byteable/byteable-" version ".tar.gz"))
6503 (sha256
6504 (base32
6505 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
6506 (build-system haskell-build-system)
612fddec 6507 (home-page "https://github.com/vincenthz/hs-byteable")
51c05fcf
RW
6508 (synopsis "Type class for sequence of bytes")
6509 (description
6510 "This package provides an abstract class to manipulate sequence of bytes.
6511The use case of this class is abstracting manipulation of types that are just
6512wrapping a bytestring with stronger and more meaniful name.")
3ac73271 6513 (license license:bsd-3)))
51c05fcf 6514
45813e67
RW
6515(define-public ghc-hourglass
6516 (package
6517 (name "ghc-hourglass")
bef2ee1c 6518 (version "0.2.12")
45813e67
RW
6519 (source (origin
6520 (method url-fetch)
612fddec 6521 (uri (string-append "https://hackage.haskell.org/package/"
45813e67
RW
6522 "hourglass/hourglass-" version ".tar.gz"))
6523 (sha256
6524 (base32
bef2ee1c 6525 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
45813e67 6526 (build-system haskell-build-system)
2d47cee2 6527 (inputs
f54f0475 6528 `(("ghc-old-locale" ,ghc-old-locale)))
45813e67
RW
6529 (native-inputs
6530 `(("ghc-tasty" ,ghc-tasty)
6531 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6532 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6533 (home-page "https://github.com/vincenthz/hs-hourglass")
6534 (synopsis "Simple time-related library for Haskell")
6535 (description
6536 "This is a simple time library providing a simple but powerful and
6537performant API. The backbone of the library are the @code{Timeable} and
6538@code{Time} type classes. Each @code{Timeable} instances can be converted to
6539a type that has a @code{Time} instances, and thus are different
6540representations of current time.")
3ac73271 6541 (license license:bsd-3)))
45813e67 6542
be04f802
AV
6543(define-public ghc-edit-distance
6544 (package
6545 (name "ghc-edit-distance")
6546 (version "0.2.2.1")
6547 (source
6548 (origin
6549 (method url-fetch)
6550 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
6551 "/edit-distance-" version ".tar.gz"))
6552 (sha256
6553 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
6554 (build-system haskell-build-system)
9f29ecc1 6555 (arguments
d340ee85
TS
6556 `(#:phases
6557 (modify-phases %standard-phases
6558 (add-before 'configure 'update-constraints
6559 (lambda _
6560 (substitute* "edit-distance.cabal"
6561 (("QuickCheck >= 2\\.4 && <2\\.9")
6562 "QuickCheck >= 2.4 && < 2.12")))))))
be04f802
AV
6563 (inputs
6564 `(("ghc-random" ,ghc-random)
6565 ("ghc-test-framework" ,ghc-test-framework)
6566 ("ghc-quickcheck" ,ghc-quickcheck)
6567 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6568 (home-page "https://github.com/phadej/edit-distance")
6569 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
6570 (description
6571 "This package provides optimized functions to determine the edit
6572distances for fuzzy matching, including Levenshtein and restricted
6573Damerau-Levenshtein algorithms.")
6574 (license license:bsd-3)))
6575
4dc2deb9
RW
6576(define-public ghc-memory
6577 (package
6578 (name "ghc-memory")
150e8e25 6579 (version "0.14.16")
4dc2deb9
RW
6580 (source (origin
6581 (method url-fetch)
612fddec 6582 (uri (string-append "https://hackage.haskell.org/package/"
4dc2deb9
RW
6583 "memory/memory-" version ".tar.gz"))
6584 (sha256
6585 (base32
150e8e25 6586 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
4dc2deb9 6587 (build-system haskell-build-system)
150e8e25
RW
6588 (inputs
6589 `(("ghc-basement" ,ghc-basement)
6590 ("ghc-foundation" ,ghc-foundation)))
4dc2deb9
RW
6591 (native-inputs
6592 `(("ghc-tasty" ,ghc-tasty)
6593 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6594 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6595 (home-page "https://github.com/vincenthz/hs-memory")
6596 (synopsis "Memory abstractions for Haskell")
6597 (description
6598 "This package provides memory abstractions, such as chunk of memory,
6599polymorphic byte array management and manipulation functions. It contains a
6600polymorphic byte array abstraction and functions similar to strict ByteString,
6601different type of byte array abstraction, raw memory IO operations (memory
6602set, memory copy, ..) and more")
3ac73271 6603 (license license:bsd-3)))
4dc2deb9 6604
dcc5cf1d
RW
6605(define-public ghc-socks
6606 (package
6607 (name "ghc-socks")
fd358b34 6608 (version "0.5.6")
dcc5cf1d
RW
6609 (source (origin
6610 (method url-fetch)
612fddec 6611 (uri (string-append "https://hackage.haskell.org/package/"
dcc5cf1d
RW
6612 "socks/socks-" version ".tar.gz"))
6613 (sha256
6614 (base32
fd358b34 6615 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
dcc5cf1d 6616 (build-system haskell-build-system)
2d47cee2 6617 (inputs
dcc5cf1d
RW
6618 `(("ghc-cereal" ,ghc-cereal)
6619 ("ghc-network" ,ghc-network)))
612fddec 6620 (home-page "https://github.com/vincenthz/hs-socks")
66e07664 6621 (synopsis "SOCKS proxy (version 5) implementation")
dcc5cf1d
RW
6622 (description
6623 "This library provides a SOCKS proxy (version 5) implementation.")
3ac73271 6624 (license license:bsd-3)))
dcc5cf1d 6625
86dd2ce0
RW
6626(define-public ghc-connection
6627 (package
6628 (name "ghc-connection")
f4585fd1 6629 (version "0.2.8")
86dd2ce0
RW
6630 (source (origin
6631 (method url-fetch)
612fddec 6632 (uri (string-append "https://hackage.haskell.org/package/"
86dd2ce0
RW
6633 "connection/connection-"
6634 version ".tar.gz"))
6635 (sha256
6636 (base32
f4585fd1 6637 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
86dd2ce0 6638 (build-system haskell-build-system)
2d47cee2 6639 (inputs
86dd2ce0
RW
6640 `(("ghc-byteable" ,ghc-byteable)
6641 ("ghc-data-default-class" ,ghc-data-default-class)
6642 ("ghc-network" ,ghc-network)
6643 ("ghc-tls" ,ghc-tls)
6644 ("ghc-socks" ,ghc-socks)
6645 ("ghc-x509" ,ghc-x509)
6646 ("ghc-x509-store" ,ghc-x509-store)
6647 ("ghc-x509-system" ,ghc-x509-system)
6648 ("ghc-x509-validation" ,ghc-x509-validation)))
612fddec 6649 (home-page "https://github.com/vincenthz/hs-connection")
86dd2ce0
RW
6650 (synopsis "Simple and easy network connections API")
6651 (description
6652 "This package provides a simple network library for all your connection
6653needs. It provides a very simple API to create sockets to a destination with
6654the choice of SSL/TLS, and SOCKS.")
3ac73271 6655 (license license:bsd-3)))
86dd2ce0 6656
61849d42 6657(define-public ghc-skylighting-core
14e9a397 6658 (package
61849d42
TS
6659 (name "ghc-skylighting-core")
6660 (version "0.7.2")
14e9a397
RW
6661 (source (origin
6662 (method url-fetch)
61849d42
TS
6663 (uri (string-append "https://hackage.haskell.org/package/"
6664 "skylighting-core/skylighting-core-"
6665 version ".tar.gz"))
14e9a397
RW
6666 (sha256
6667 (base32
61849d42 6668 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
14e9a397
RW
6669 (build-system haskell-build-system)
6670 (inputs
6671 `(("ghc-aeson" ,ghc-aeson)
6672 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6673 ("ghc-attoparsec" ,ghc-attoparsec)
6674 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6675 ("ghc-blaze-html" ,ghc-blaze-html)
6676 ("ghc-case-insensitive" ,ghc-case-insensitive)
6677 ("ghc-colour" ,ghc-colour)
14e9a397 6678 ("ghc-hxt" ,ghc-hxt)
14e9a397
RW
6679 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6680 ("ghc-safe" ,ghc-safe)
6681 ("ghc-text" ,ghc-text)
6682 ("ghc-utf8-string" ,ghc-utf8-string)))
6683 (native-inputs
61849d42
TS
6684 `(("ghc-diff" ,ghc-diff)
6685 ("ghc-hunit" ,ghc-hunit)
6686 ("ghc-pretty-show" ,ghc-pretty-show)
14e9a397
RW
6687 ("ghc-quickcheck" ,ghc-quickcheck)
6688 ("ghc-tasty" ,ghc-tasty)
6689 ("ghc-tasty-golden" ,ghc-tasty-golden)
6690 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
61849d42 6692 (home-page "https://github.com/jgm/skylighting")
14e9a397
RW
6693 (synopsis "Syntax highlighting library")
6694 (description "Skylighting is a syntax highlighting library with support
6695for over one hundred languages. It derives its tokenizers from XML syntax
6696definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
6697supported by that framework can be added. An optional command-line program is
6698provided. Skylighting is intended to be the successor to highlighting-kate.")
6699 (license license:gpl2)))
6700
61849d42
TS
6701(define-public ghc-skylighting
6702 (package
6703 (inherit ghc-skylighting-core)
6704 (name "ghc-skylighting")
6705 (version "0.7.2")
6706 (source (origin
6707 (method url-fetch)
6708 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
6709 version "/skylighting-" version ".tar.gz"))
6710 (sha256
6711 (base32
6712 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
6713 (inputs
6714 `(("ghc-skylighting-core" ,ghc-skylighting-core)
6715 ,@(package-inputs ghc-skylighting-core)))))
6716
4012ea04
RW
6717(define-public ghc-doctemplates
6718 (package
6719 (name "ghc-doctemplates")
dfe5f60f 6720 (version "0.2.2.1")
4012ea04
RW
6721 (source
6722 (origin
6723 (method url-fetch)
6724 (uri (string-append "https://hackage.haskell.org/package/"
6725 "doctemplates/doctemplates-"
6726 version ".tar.gz"))
6727 (sha256
6728 (base32
dfe5f60f 6729 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
4012ea04
RW
6730 (build-system haskell-build-system)
6731 (inputs
6732 `(("ghc-aeson" ,ghc-aeson)
6733 ("ghc-blaze-markup" ,ghc-blaze-markup)
6734 ("ghc-blaze-html" ,ghc-blaze-html)
6735 ("ghc-text" ,ghc-text)
6736 ("ghc-vector" ,ghc-vector)
6737 ("ghc-parsec" ,ghc-parsec)
6738 ("ghc-unordered-containers" ,ghc-unordered-containers)
6739 ("ghc-scientific" ,ghc-scientific)))
6740 (native-inputs
6741 `(("ghc-hspec" ,ghc-hspec)))
6742 (home-page "https://github.com/jgm/doctemplates#readme")
6743 (synopsis "Pandoc-style document templates")
6744 (description
6745 "This package provides a simple text templating system used by pandoc.")
6746 (license license:bsd-3)))
6c055278 6747
85538709
RW
6748(define-public ghc-pandoc
6749 (package
6750 (name "ghc-pandoc")
970481f1 6751 (version "2.2.1")
85538709
RW
6752 (source
6753 (origin
6754 (method url-fetch)
612fddec 6755 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
85538709
RW
6756 version ".tar.gz"))
6757 (sha256
6758 (base32
970481f1 6759 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
85538709 6760 (build-system haskell-build-system)
6a006a11
TS
6761 (arguments
6762 `(#:phases
6763 (modify-phases %standard-phases
6764 (add-before 'configure 'update-constraints
6765 (lambda _
6766 (substitute* "pandoc.cabal"
6767 (("tasty >= 0\\.11 && < 1\\.1")
6768 "tasty >= 0.11 && < 1.1.1"))))
6769 (add-before 'configure 'patch-tests
6770 (lambda _
6771 ;; These tests fail benignly and have been adjusted upstream:
6772 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
6773 (substitute* "test/Tests/Old.hs"
6774 (("lhsWriterTests \"html\"") "[]")))))))
2d47cee2 6775 (inputs
1afa5abb
RW
6776 `(("ghc-aeson" ,ghc-aeson)
6777 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
85538709 6778 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
85538709
RW
6779 ("ghc-blaze-html" ,ghc-blaze-html)
6780 ("ghc-blaze-markup" ,ghc-blaze-markup)
1afa5abb
RW
6781 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
6782 ("ghc-data-default" ,ghc-data-default)
85538709 6783 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1afa5abb
RW
6784 ("ghc-diff" ,ghc-diff)
6785 ("ghc-doctemplates" ,ghc-doctemplates)
6786 ("ghc-executable-path" ,ghc-executable-path)
6787 ("ghc-glob" ,ghc-glob)
6788 ("ghc-haddock-library" ,ghc-haddock-library)
6789 ("ghc-hslua" ,ghc-hslua)
6790 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
6791 ("ghc-http" ,ghc-http)
85538709
RW
6792 ("ghc-http-client" ,ghc-http-client)
6793 ("ghc-http-client-tls" ,ghc-http-client-tls)
6794 ("ghc-http-types" ,ghc-http-types)
1afa5abb 6795 ("ghc-juicypixels" ,ghc-juicypixels)
1afa5abb
RW
6796 ("ghc-network" ,ghc-network)
6797 ("ghc-network-uri" ,ghc-network-uri)
6798 ("ghc-old-locale" ,ghc-old-locale)
6799 ("ghc-pandoc-types" ,ghc-pandoc-types)
6800 ("ghc-parsec" ,ghc-parsec)
6801 ("ghc-random" ,ghc-random)
6802 ("ghc-scientific" ,ghc-scientific)
6803 ("ghc-sha" ,ghc-sha)
6804 ("ghc-skylighting" ,ghc-skylighting)
6805 ("ghc-split" ,ghc-split)
6806 ("ghc-syb" ,ghc-syb)
6807 ("ghc-tagsoup" ,ghc-tagsoup)
6808 ("ghc-temporary" ,ghc-temporary)
6809 ("ghc-texmath" ,ghc-texmath)
6810 ("ghc-text" ,ghc-text)
6811 ("ghc-unordered-containers" ,ghc-unordered-containers)
6812 ("ghc-vector" ,ghc-vector)
6813 ("ghc-xml" ,ghc-xml)
6814 ("ghc-yaml" ,ghc-yaml)
6815 ("ghc-zip-archive" ,ghc-zip-archive)
6816 ("ghc-zlib" ,ghc-zlib)))
85538709 6817 (native-inputs
1afa5abb
RW
6818 `(("ghc-tasty" ,ghc-tasty)
6819 ("ghc-tasty-golden" ,ghc-tasty-golden)
6820 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6821 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
85538709
RW
6822 ("ghc-quickcheck" ,ghc-quickcheck)
6823 ("ghc-hunit" ,ghc-hunit)))
98b90194 6824 (home-page "https://pandoc.org")
85538709
RW
6825 (synopsis "Conversion between markup formats")
6826 (description
6827 "Pandoc is a Haskell library for converting from one markup format to
6828another, and a command-line tool that uses this library. It can read and
6829write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6830LaTeX, DocBook, and many more.
6831
6832Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6833definition lists, tables, and other features. A compatibility mode is
6834provided for those who need a drop-in replacement for Markdown.pl.")
3ac73271 6835 (license license:gpl2+)))
85538709 6836
37e02bf6
RW
6837(define-public ghc-hs-bibutils
6838 (package
6839 (name "ghc-hs-bibutils")
568cafd5 6840 (version "6.6.0.0")
37e02bf6
RW
6841 (source
6842 (origin
6843 (method url-fetch)
6844 (uri (string-append
6845 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6846 version ".tar.gz"))
6847 (sha256
6848 (base32
568cafd5 6849 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
37e02bf6
RW
6850 (build-system haskell-build-system)
6851 (inputs `(("ghc-syb" ,ghc-syb)))
6852 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6853 (synopsis "Haskell bindings to bibutils")
6854 (description
6855 "This package provides Haskell bindings to @code{bibutils}, a library
6856that interconverts between various bibliography formats using a common
6857MODS-format XML intermediate.")
6858 (license license:gpl2+)))
6859
9ce764b6
RW
6860(define-public ghc-rfc5051
6861 (package
6862 (name "ghc-rfc5051")
6863 (version "0.1.0.3")
6864 (source
6865 (origin
6866 (method url-fetch)
6867 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6868 "rfc5051-" version ".tar.gz"))
6869 (sha256
6870 (base32
6871 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6872 (build-system haskell-build-system)
98b90194 6873 (home-page "https://hackage.haskell.org/package/rfc5051")
9ce764b6
RW
6874 (synopsis "Simple unicode collation as per RFC5051")
6875 (description
6876 "This library implements @code{unicode-casemap}, the simple, non
6877locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6878unicode collation can be done using @code{text-icu}, but that is a big
6879dependency that depends on a large C library, and @code{rfc5051} might be
6880better for some purposes.")
6881 (license license:bsd-3)))
6882
d5040b44
RW
6883(define-public ghc-typed-process
6884 (package
6885 (name "ghc-typed-process")
10ae7345 6886 (version "0.2.3.0")
d5040b44
RW
6887 (source
6888 (origin
6889 (method url-fetch)
6890 (uri (string-append "https://hackage.haskell.org/package/"
6891 "typed-process/typed-process-"
6892 version ".tar.gz"))
6893 (sha256
6894 (base32
10ae7345 6895 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
d5040b44
RW
6896 (build-system haskell-build-system)
6897 (inputs
6898 `(("ghc-async" ,ghc-async)
6899 ("ghc-stm" ,ghc-stm)))
6900 (native-inputs
6901 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
6902 ("ghc-hspec" ,ghc-hspec)
6903 ("hspec-discover" ,hspec-discover)
6904 ("ghc-temporary" ,ghc-temporary)))
6905 (home-page "https://haskell-lang.org/library/typed-process")
6906 (synopsis "Run external processes with strong typing of streams")
6907 (description
6908 "This library provides the ability to launch and interact with external
6909processes. It wraps around the @code{process} library, and intends to improve
6910upon it.")
6911 (license license:expat)))
6912
1aa45bbf
RW
6913(define-public ghc-conduit-extra
6914 (package
6915 (name "ghc-conduit-extra")
c106c48e 6916 (version "1.3.0")
1aa45bbf
RW
6917 (source
6918 (origin
6919 (method url-fetch)
6920 (uri (string-append "https://hackage.haskell.org/package/"
6921 "conduit-extra/conduit-extra-"
6922 version ".tar.gz"))
6923 (sha256
6924 (base32
c106c48e 6925 "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
1aa45bbf
RW
6926 (build-system haskell-build-system)
6927 (inputs
6928 `(("ghc-conduit" ,ghc-conduit)
6929 ("ghc-exceptions" ,ghc-exceptions)
6930 ("ghc-monad-control" ,ghc-monad-control)
6931 ("ghc-text" ,ghc-text)
6932 ("ghc-transformers-base" ,ghc-transformers-base)
c106c48e 6933 ("ghc-typed-process" ,ghc-typed-process)
1aa45bbf
RW
6934 ("ghc-async" ,ghc-async)
6935 ("ghc-attoparsec" ,ghc-attoparsec)
6936 ("ghc-blaze-builder" ,ghc-blaze-builder)
6937 ("ghc-network" ,ghc-network)
6938 ("ghc-primitive" ,ghc-primitive)
6939 ("ghc-resourcet" ,ghc-resourcet)
6940 ("ghc-stm" ,ghc-stm)
6941 ("ghc-streaming-commons" ,ghc-streaming-commons)
6942 ("ghc-hspec" ,ghc-hspec)
6943 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6944 ("ghc-quickcheck" ,ghc-quickcheck)))
6945 (native-inputs
6946 `(("hspec-discover" ,hspec-discover)))
7bf837fd 6947 (home-page "https://github.com/snoyberg/conduit")
1aa45bbf
RW
6948 (synopsis "Conduit adapters for common libraries")
6949 (description
6950 "The @code{conduit} package itself maintains relative small dependencies.
6951The purpose of this package is to collect commonly used utility functions
6952wrapping other library dependencies, without depending on heavier-weight
6953dependencies. The basic idea is that this package should only depend on
6954@code{haskell-platform} packages and @code{conduit}.")
6955 (license license:expat)))
6956
e9ef2c51
RW
6957(define-public ghc-xml-types
6958 (package
6959 (name "ghc-xml-types")
6960 (version "0.3.6")
6961 (source
6962 (origin
6963 (method url-fetch)
6964 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6965 "xml-types-" version ".tar.gz"))
6966 (sha256
6967 (base32
6968 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6969 (build-system haskell-build-system)
6970 (inputs `(("ghc-text" ,ghc-text)))
6971 (home-page "https://john-millikin.com/software/haskell-xml/")
6972 (synopsis "Basic types for representing XML")
6973 (description "This package provides basic types for representing XML
6974documents.")
6975 (license license:expat)))
6976
bfdfb0f6
RW
6977(define-public ghc-xml-conduit
6978 (package
6979 (name "ghc-xml-conduit")
e30397dd 6980 (version "1.8.0.1")
bfdfb0f6
RW
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6985 "xml-conduit-" version ".tar.gz"))
6986 (sha256
6987 (base32
e30397dd 6988 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
bfdfb0f6
RW
6989 (build-system haskell-build-system)
6990 (inputs
6991 `(("ghc-conduit" ,ghc-conduit)
6992 ("ghc-conduit-extra" ,ghc-conduit-extra)
e30397dd 6993 ("ghc-doctest" ,ghc-doctest)
bfdfb0f6
RW
6994 ("ghc-resourcet" ,ghc-resourcet)
6995 ("ghc-text" ,ghc-text)
6996 ("ghc-xml-types" ,ghc-xml-types)
6997 ("ghc-attoparsec" ,ghc-attoparsec)
29a26386 6998 ("ghc-data-default-class" ,ghc-data-default-class)
bfdfb0f6
RW
6999 ("ghc-blaze-markup" ,ghc-blaze-markup)
7000 ("ghc-blaze-html" ,ghc-blaze-html)
bfdfb0f6
RW
7001 ("ghc-monad-control" ,ghc-monad-control)
7002 ("ghc-hspec" ,ghc-hspec)
7003 ("ghc-hunit" ,ghc-hunit)))
7bf837fd 7004 (home-page "https://github.com/snoyberg/xml")
bfdfb0f6
RW
7005 (synopsis "Utilities for dealing with XML with the conduit package")
7006 (description
7007 "This package provides pure-Haskell utilities for dealing with XML with
7008the @code{conduit} package.")
7009 (license license:expat)))
7010
eb0ff8a3
RW
7011(define-public ghc-pandoc-citeproc
7012 (package
7013 (name "ghc-pandoc-citeproc")
a235ea4f 7014 (version "0.14.3.1")
eb0ff8a3
RW
7015 (source
7016 (origin
7017 (method url-fetch)
7018 (uri (string-append "https://hackage.haskell.org/package/"
7019 "pandoc-citeproc/pandoc-citeproc-"
7020 version ".tar.gz"))
7021 (sha256
7022 (base32
a235ea4f 7023 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
eb0ff8a3
RW
7024 (build-system haskell-build-system)
7025 (arguments
7026 `(#:phases
7027 (modify-phases %standard-phases
003ec2c8
TS
7028 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7029 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7030 (add-before 'configure 'patch-tests
7031 (lambda _
7032 (substitute* "tests/test-pandoc-citeproc.hs"
7033 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7034 "let allTests = citeprocTests"))))
eb0ff8a3
RW
7035 ;; Tests need to be run after installation.
7036 (delete 'check)
7037 (add-after 'install 'post-install-check
7038 (assoc-ref %standard-phases 'check)))))
7039 (inputs
f54f0475 7040 `(("ghc-pandoc-types" ,ghc-pandoc-types)
eb0ff8a3
RW
7041 ("ghc-pandoc" ,ghc-pandoc)
7042 ("ghc-tagsoup" ,ghc-tagsoup)
7043 ("ghc-aeson" ,ghc-aeson)
7044 ("ghc-text" ,ghc-text)
7045 ("ghc-vector" ,ghc-vector)
7046 ("ghc-xml-conduit" ,ghc-xml-conduit)
7047 ("ghc-unordered-containers" ,ghc-unordered-containers)
7048 ("ghc-data-default" ,ghc-data-default)
7049 ("ghc-setenv" ,ghc-setenv)
7050 ("ghc-split" ,ghc-split)
7051 ("ghc-yaml" ,ghc-yaml)
7052 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7053 ("ghc-rfc5051" ,ghc-rfc5051)
7054 ("ghc-syb" ,ghc-syb)
7055 ("ghc-parsec" ,ghc-parsec)
7056 ("ghc-old-locale" ,ghc-old-locale)
7057 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7058 ("ghc-attoparsec" ,ghc-attoparsec)
7059 ("ghc-temporary" ,ghc-temporary)))
7060 (home-page "https://github.com/jgm/pandoc-citeproc")
7061 (synopsis "Library for using pandoc with citeproc")
7062 (description
7063 "The @code{pandoc-citeproc} library exports functions for using the
7064citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7065rendering bibliographic reference citations into a variety of styles using a
7066macro language called @dfn{Citation Style Language} (CSL). This package also
7067contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7068and also has a mode for converting bibliographic databases a YAML format
7069suitable for inclusion in pandoc YAML metadata.")
7070 (license license:bsd-3)))
7071
abbf2623
LC
7072(define-public ghc-union-find
7073 (package
7074 (name "ghc-union-find")
7075 (version "0.2")
7076 (source (origin
7077 (method url-fetch)
7078 (uri (string-append
612fddec 7079 "https://hackage.haskell.org/package/union-find/union-find-"
abbf2623
LC
7080 version ".tar.gz"))
7081 (sha256
7082 (base32
7083 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
7084 (build-system haskell-build-system)
612fddec 7085 (home-page "https://github.com/nominolo/union-find")
abbf2623
LC
7086 (synopsis "Efficient union and equivalence testing of sets")
7087 (description
7088 "The Union/Find algorithm implements these operations in (effectively)
7089constant-time:
7090@enumerate
7091@item Check whether two elements are in the same equivalence class.
7092@item Create a union of two equivalence classes.
7093@item Look up the descriptor of the equivalence class.
7094@end enumerate\n")
7095 (license license:bsd-3)))
7096
cc5e16a7 7097(define-public ghc-base16-bytestring
7098 (package
7099 (name "ghc-base16-bytestring")
7100 (version "0.1.1.6")
7101 (source
7102 (origin
7103 (method url-fetch)
7104 (uri (string-append
7105 "https://hackage.haskell.org/package/base16-bytestring/"
7106 "base16-bytestring-" version ".tar.gz"))
7107 (sha256
7108 (base32
7109 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
7110 (build-system haskell-build-system)
7bf837fd 7111 (home-page "https://github.com/bos/base16-bytestring")
cc5e16a7 7112 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
7113 (description
7114 "This package provides a Haskell library for working with base16-encoded
7115data quickly and efficiently, using the ByteString type.")
7116 (license license:bsd-3)))
7117
7c14128d 7118(define-public ghc-data-ordlist
7119 (package
7120 (name "ghc-data-ordlist")
7121 (version "0.4.7.0")
7122 (source
7123 (origin
7124 (method url-fetch)
7125 (uri (string-append
7126 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
7127 version ".tar.gz"))
7128 (sha256
7129 (base32
7130 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
7131 (build-system haskell-build-system)
98b90194 7132 (home-page "https://hackage.haskell.org/package/data-ordlist")
7c14128d 7133 (synopsis "Set and bag operations on ordered lists")
7134 (description
7135 "This module provides set and multiset operations on ordered lists.")
7136 (license license:bsd-3)))
7137
d58dc851 7138(define-public ghc-regex-applicative
7139 (package
7140 (name "ghc-regex-applicative")
7141 (version "0.3.3")
7142 (source
7143 (origin
7144 (method url-fetch)
7145 (uri (string-append
7146 "https://hackage.haskell.org/package/regex-applicative/"
7147 "regex-applicative-" version ".tar.gz"))
7148 (sha256
7149 (base32
7150 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
7151 (build-system haskell-build-system)
7152 (inputs
7153 `(("ghc-smallcheck" ,ghc-smallcheck)
7154 ("ghc-tasty" ,ghc-tasty)
7155 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
7156 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7157 (home-page "https://github.com/feuerbach/regex-applicative")
7158 (synopsis "Regex-based parsing with applicative interface")
7159 (description
7160 "@code{regex-applicative} is a Haskell library for parsing using
7161regular expressions. Parsers can be built using Applicative interface.")
7162 (license license:expat)))
7163
7e444dba 7164(define-public ghc-regex-tdfa
7165 (package
7166 (name "ghc-regex-tdfa")
3e6fe51f 7167 (version "1.2.3.1")
7e444dba 7168 (source
7169 (origin
7170 (method url-fetch)
7171 (uri (string-append
7172 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
7173 version ".tar.gz"))
7174 (sha256
7175 (base32
3e6fe51f 7176 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
7e444dba 7177 (build-system haskell-build-system)
7178 (inputs
f54f0475 7179 `(("ghc-parsec" ,ghc-parsec)
7e444dba 7180 ("ghc-regex-base" ,ghc-regex-base)))
7181 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
7182 (synopsis "POSIX extended regular expressions in Haskell.")
7183 (description
7184 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
7185extended regular expressions. It is a \"tagged\" DFA regex engine. It is
7186inspired by libtre.")
7187 (license license:bsd-3)))
7188
fe3c62c7 7189(define-public ghc-regex-compat-tdfa
7190 (package
7191 (name "ghc-regex-compat-tdfa")
7192 (version "0.95.1.4")
7193 (source
7194 (origin
7195 (method url-fetch)
7196 (uri (string-append
7197 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
7198 version ".tar.gz"))
7199 (sha256
7200 (base32
7201 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
7202 (build-system haskell-build-system)
7203 (inputs
7204 `(("ghc-regex-base" ,ghc-regex-base)
7205 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
98b90194 7206 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
fe3c62c7 7207 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
7208 (description
7209 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
7210@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
7211This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
7212this problem.")
7213 (license license:bsd-3)))
7214
e9e519be 7215(define-public ghc-sandi
7216 (package
7217 (name "ghc-sandi")
66dbe158 7218 (version "0.4.2")
e9e519be 7219 (source
7220 (origin
7221 (method url-fetch)
7222 (uri (string-append
7223 "https://hackage.haskell.org/package/sandi/sandi-"
7224 version ".tar.gz"))
7225 (sha256
7226 (base32
66dbe158 7227 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
e9e519be 7228 (build-system haskell-build-system)
7229 (inputs
7230 `(("ghc-stringsearch" ,ghc-stringsearch)
7231 ("ghc-conduit" ,ghc-conduit)
7232 ("ghc-exceptions" ,ghc-exceptions)
7233 ("ghc-hunit" ,ghc-hunit)
7234 ("ghc-tasty" ,ghc-tasty)
7235 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7236 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7237 ("ghc-tasty-th" ,ghc-tasty-th)))
98b90194 7238 (home-page "https://hackage.haskell.org/package/sandi")
e9e519be 7239 (synopsis "Data encoding library")
7240 (description "Reasonably fast data encoding library.")
7241 (license license:bsd-3)))
7242
a71f8617 7243(define-public ghc-bytestring-handle
7244 (package
7245 (name "ghc-bytestring-handle")
39bcc932 7246 (version "0.1.0.6")
a71f8617 7247 (source
7248 (origin
7249 (method url-fetch)
7250 (uri (string-append
7251 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
7252 version ".tar.gz"))
7253 (sha256
7254 (base32
39bcc932 7255 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
a71f8617 7256 (build-system haskell-build-system)
5e4058ad
TS
7257 (arguments
7258 `(#:phases
7259 (modify-phases %standard-phases
7260 (add-before 'configure 'update-constraints
7261 (lambda _
7262 (substitute* "bytestring-handle.cabal"
7263 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
7264 "QuickCheck >= 2.1.2 && < 2.12")
7265 (("base >= 4\\.2 && < 4\\.11")
7266 "base >= 4.2 && < 4.12")))))))
a71f8617 7267 (inputs
6bfcb59d
TGR
7268 `(("ghc-hunit" ,ghc-hunit)
7269 ("ghc-quickcheck" ,ghc-quickcheck)
7270 ("ghc-test-framework" ,ghc-test-framework)
a71f8617 7271 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6bfcb59d 7272 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 7273 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
a71f8617 7274 (synopsis "ByteString-backed Handles")
7275 (description "ByteString-backed Handles") ; There is no description
7276 (license license:bsd-3)))
7277
f8270331 7278(define-public ghc-tar
7279 (package
7280 (name "ghc-tar")
221c3563 7281 (version "0.5.1.0")
f8270331 7282 (source
7283 (origin
7284 (method url-fetch)
7285 (uri (string-append
7286 "https://hackage.haskell.org/package/tar/tar-"
7287 version ".tar.gz"))
7288 (sha256
7289 (base32
221c3563 7290 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
f8270331 7291 (build-system haskell-build-system)
f25c95d3
RW
7292 ;; FIXME: 2/24 tests fail.
7293 (arguments `(#:tests? #f))
f8270331 7294 (inputs
7295 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
7296 ("ghc-quickcheck" ,ghc-quickcheck)
7297 ("ghc-tasty" ,ghc-tasty)
473cd277 7298 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 7299 (home-page "https://hackage.haskell.org/package/tar")
f8270331 7300 (synopsis "Reading, writing and manipulating \".tar\" archive files")
7301 (description
7302 "This library is for working with \\\"@.tar@\\\" archive files.
7303It can read and write a range of common variations of the tar archive format
7304including V7, POSIX USTAR and GNU formats. It provides support for packing and
7305unpacking portable archives. This makes it suitable for distribution but not
7306backup because details like file ownership and exact permissions are not
7307preserved. It also provides features for random access to archive content using
7308an index.")
7309 (license license:bsd-3)))
7310
867ed977
AV
7311(define-public ghc-stmonadtrans
7312 (package
7313 (name "ghc-stmonadtrans")
7314 (version "0.4.3")
7315 (source
7316 (origin
7317 (method url-fetch)
7318 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
7319 "/STMonadTrans-" version ".tar.gz"))
7320 (sha256
7321 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
7322 (build-system haskell-build-system)
867ed977
AV
7323 (home-page "https://hackage.haskell.org/package/STMonadTrans")
7324 (synopsis "Monad transformer version of the ST monad")
7325 (description
7326 "This package provides a monad transformer version of the @code{ST} monad
7327for strict state threads.")
7328 (license license:bsd-3)))
7329
027b7976 7330(define-public ghc-findbin
7331 (package
7332 (name "ghc-findbin")
7333 (version "0.0.5")
7334 (source
7335 (origin
7336 (method url-fetch)
7337 (uri (string-append
7338 "https://hackage.haskell.org/package/FindBin/FindBin-"
7339 version ".tar.gz"))
7340 (sha256
7341 (base32
7342 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
7343 (build-system haskell-build-system)
7344 (home-page "https://github.com/audreyt/findbin")
7345 (synopsis "Get the absolute path of the running program")
7346 (description
7347 "This module locates the full directory of the running program, to allow
7348the use of paths relative to it. FindBin supports invocation of Haskell
7349programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
7350an executable.")
7351 (license license:bsd-3)))
7352
d52ca22a 7353(define-public ghc-patience
7354 (package
7355 (name "ghc-patience")
7356 (version "0.1.1")
7357 (source
7358 (origin
7359 (method url-fetch)
7360 (uri (string-append
7361 "https://hackage.haskell.org/package/patience/patience-"
7362 version ".tar.gz"))
7363 (sha256
7364 (base32
7365 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7366 (build-system haskell-build-system)
98b90194 7367 (home-page "https://hackage.haskell.org/package/patience")
d52ca22a 7368 (synopsis "Patience diff and longest increasing subsequence")
7369 (description
7370 "This library implements the 'patience diff' algorithm, as well as the
7371patience algorithm for the longest increasing subsequence problem.
7372Patience diff computes the difference between two lists, for example the lines
7373of two versions of a source file. It provides a good balance between
7374performance, nice output for humans, and simplicity of implementation.")
7375 (license license:bsd-3)))
7376
41167bd2 7377(define-public ghc-monads-tf
7378 (package
7379 (name "ghc-monads-tf")
7380 (version "0.1.0.3")
7381 (source
7382 (origin
7383 (method url-fetch)
7384 (uri (string-append
7385 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7386 version ".tar.gz"))
7387 (sha256
7388 (base32
7389 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7390 (build-system haskell-build-system)
98b90194 7391 (home-page "https://hackage.haskell.org/package/monads-tf")
41167bd2 7392 (synopsis "Monad classes, using type families")
7393 (description
7394 "Monad classes using type families, with instances for various monad transformers,
7395inspired by the paper 'Functional Programming with Overloading and Higher-Order
7396Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7397the @code{mtl-tf} package.")
7398 (license license:bsd-3)))
7399
e1a56bb2 7400(define-public ghc-colour
7401(package
7402 (name "ghc-colour")
d05d03dd 7403 (version "2.3.4")
e1a56bb2 7404 (source
7405 (origin
7406 (method url-fetch)
7407 (uri (string-append
7408 "https://hackage.haskell.org/package/colour/colour-"
7409 version ".tar.gz"))
7410 (sha256
7411 (base32
d05d03dd
TS
7412 "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"))))
7413 (arguments
7414 ;; The tests for this package have the following dependency cycle:
7415 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
7416 `(#:tests? #f))
e1a56bb2 7417 (build-system haskell-build-system)
98b90194 7418 (home-page "https://www.haskell.org/haskellwiki/Colour")
e1a56bb2 7419 (synopsis "Model for human colour perception")
7420 (description
7421 "This package provides a data type for colours and transparency.
7422Colours can be blended and composed. Various colour spaces are
7423supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7424 (license license:expat)))
7425
6e0741f7 7426(define-public ghc-wl-pprint-text
7427 (package
7428 (name "ghc-wl-pprint-text")
e173a95f 7429 (version "1.2.0.0")
6e0741f7 7430 (source
7431 (origin
7432 (method url-fetch)
7433 (uri (string-append
7434 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7435 version ".tar.gz"))
7436 (sha256
7437 (base32
e173a95f 7438 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
6e0741f7 7439 (build-system haskell-build-system)
7440 (inputs
e173a95f
AI
7441 `(("ghc-base-compat" ,ghc-base-compat)
7442 ("ghc-text" ,ghc-text)))
98b90194 7443 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
6e0741f7 7444 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7445 (description
7446 "A clone of wl-pprint for use with the text library.")
7447 (license license:bsd-3)))
7448
d4cca6b0 7449(define-public ghc-fgl-arbitrary
7450 (package
7451 (name "ghc-fgl-arbitrary")
d4fd8ee4 7452 (version "0.2.0.3")
d4cca6b0 7453 (source
7454 (origin
7455 (method url-fetch)
7456 (uri (string-append
7457 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7458 version ".tar.gz"))
7459 (sha256
7460 (base32
d4fd8ee4 7461 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
d4cca6b0 7462 (build-system haskell-build-system)
54afb52e 7463 (arguments
11afd13d
TS
7464 `(#:phases
7465 (modify-phases %standard-phases
7466 (add-before 'configure 'update-constraints
7467 (lambda _
7468 (substitute* "fgl-arbitrary.cabal"
7469 (("QuickCheck >= 2\\.3 && < 2\\.10")
7470 "QuickCheck >= 2.3 && < 2.12")
7471 (("hspec >= 2\\.1 && < 2\\.5")
7472 "hspec >= 2.1 && < 2.6")))))))
d4cca6b0 7473 (inputs
7474 `(("ghc-fgl" ,ghc-fgl)
7475 ("ghc-quickcheck" ,ghc-quickcheck)
7476 ("ghc-hspec" ,ghc-hspec)))
98b90194 7477 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
d4cca6b0 7478 (synopsis "QuickCheck support for fgl")
7479 (description
7480 "Provides Arbitrary instances for fgl graphs to avoid adding a
7481QuickCheck dependency for fgl whilst still making the instances
7482available to others. Also available are non-fgl-specific functions
7483for generating graph-like data structures.")
7484 (license license:bsd-3)))
7485
3db88277 7486(define-public ghc-graphviz
7487 (package
7488 (name "ghc-graphviz")
f797a0e9 7489 (version "2999.20.0.2")
3db88277 7490 (source (origin
7491 (method url-fetch)
7492 (uri (string-append "https://hackage.haskell.org/package/"
7493 "graphviz/graphviz-" version ".tar.gz"))
7494 (sha256
7495 (base32
f797a0e9 7496 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3db88277 7497 (build-system haskell-build-system)
7498 (inputs
7499 `(("ghc-quickcheck" ,ghc-quickcheck)
7500 ("ghc-colour" ,ghc-colour)
7501 ("ghc-dlist" ,ghc-dlist)
7502 ("ghc-fgl" ,ghc-fgl)
7503 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7504 ("ghc-polyparse" ,ghc-polyparse)
7505 ("ghc-temporary" ,ghc-temporary)
7506 ("ghc-text" ,ghc-text)
7507 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
f797a0e9
AI
7508 (native-inputs
7509 `(("ghc-hspec" ,ghc-hspec)
7510 ("graphviz" ,graphviz)
7511 ("hspec-discover" ,hspec-discover)))
3db88277 7512 (home-page "https://hackage.haskell.org/package/graphviz")
7513 (synopsis "Bindings to Graphviz for graph visualisation")
7514 (description
7515 "This library provides bindings for the Dot language used by
98b90194 7516the @uref{https://graphviz.org/, Graphviz} suite of programs for
3db88277 7517visualising graphs, as well as functions to call those programs.
7518Main features of the graphviz library include:
7519
7520@enumerate
7521@item Almost complete coverage of all Graphviz attributes and syntax
7522@item Support for specifying clusters
7523@item The ability to use a custom node type
7524@item Functions for running a Graphviz layout tool with all specified output types
7525@item Generate and parse Dot code with two options: strict and liberal
7526@item Functions to convert FGL graphs and other graph-like data structures
7527@item Round-trip support for passing an FGL graph through Graphviz to augment node
7528and edge labels with positional information, etc.
7529@end enumerate\n")
7530 (license license:bsd-3)))
7531
6aab9ba6 7532(define-public ghc-constraints
7533 (package
7534 (name "ghc-constraints")
3ff7232a 7535 (version "0.10.1")
6aab9ba6 7536 (source
7537 (origin
7538 (method url-fetch)
7539 (uri (string-append
7540 "https://hackage.haskell.org/package/constraints/constraints-"
7541 version ".tar.gz"))
7542 (sha256
7543 (base32
3ff7232a 7544 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
6aab9ba6 7545 (build-system haskell-build-system)
7546 (inputs
7547 `(("ghc-hashable" ,ghc-hashable)
3ff7232a 7548 ("ghc-semigroups" ,ghc-semigroups)
6aab9ba6 7549 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3ff7232a
TS
7550 (native-inputs
7551 `(("ghc-hspec" ,ghc-hspec)
7552 ("hspec-discover" ,hspec-discover)))
7bf837fd 7553 (home-page "https://github.com/ekmett/constraints/")
6aab9ba6 7554 (synopsis "Constraint manipulation")
7555 (description
7556 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7557They stopped crashing the compiler in GHC 7.6. This package provides
7558a vocabulary for working with them.")
7559 (license license:bsd-3)))
7560
2b41f4af 7561(define-public ghc-lifted-async
7562 (package
7563 (name "ghc-lifted-async")
a57c91a1 7564 (version "0.10.0.2")
2b41f4af 7565 (source
7566 (origin
7567 (method url-fetch)
7568 (uri (string-append
7569 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7570 version ".tar.gz"))
7571 (sha256
7572 (base32
a57c91a1 7573 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
2b41f4af 7574 (build-system haskell-build-system)
7575 (inputs
7576 `(("ghc-async" ,ghc-async)
7577 ("ghc-lifted-base" ,ghc-lifted-base)
7578 ("ghc-transformers-base" ,ghc-transformers-base)
7579 ("ghc-monad-control" ,ghc-monad-control)
7580 ("ghc-constraints" ,ghc-constraints)
7581 ("ghc-hunit" ,ghc-hunit)
2b41f4af 7582 ("ghc-tasty" ,ghc-tasty)
a57c91a1 7583 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
2b41f4af 7584 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7585 ("ghc-tasty-th" ,ghc-tasty-th)))
7586 (home-page "https://github.com/maoe/lifted-async")
7587 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7588 (description
7589 "This package provides IO operations from @code{async} package lifted to any
7590instance of @code{MonadBase} or @code{MonadBaseControl}.")
7591 (license license:bsd-3)))
7592
ddd5955b 7593;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7594;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7595;; which depends on ghc-chell and ghc-chell-quickcheck.
7596;; Therefore we bootstrap it with tests disabled.
7597(define ghc-system-filepath-bootstrap
7598 (package
7599 (name "ghc-system-filepath-bootstrap")
343c2398 7600 (version "0.4.14")
ddd5955b 7601 (source
7602 (origin
7603 (method url-fetch)
7604 (uri (string-append
7605 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7606 version ".tar.gz"))
7607 (sha256
7608 (base32
343c2398 7609 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
ddd5955b 7610 (build-system haskell-build-system)
7611 (arguments
7612 `(#:tests? #f))
7613 (inputs
7614 `(("ghc-text" ,ghc-text)
7615 ("ghc-quickcheck" ,ghc-quickcheck)))
7616 (home-page "https://github.com/fpco/haskell-filesystem")
7617 (synopsis "High-level, byte-based file and directory path manipulations")
7618 (description
7619 "Provides a FilePath datatype and utility functions for operating on it.
7620Unlike the filepath package, this package does not simply reuse String,
7621increasing type safety.")
7622 (license license:expat)))
7623
3f7aa102 7624;; See ghc-system-filepath-bootstrap. In addition this package depends on
7625;; ghc-system-filepath.
7626(define ghc-system-fileio-bootstrap
7627 (package
7628 (name "ghc-system-fileio-bootstrap")
7629 (version "0.3.16.3")
7630 (source
7631 (origin
7632 (method url-fetch)
7633 (uri (string-append
7634 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7635 version ".tar.gz"))
7636 (sha256
7637 (base32
7638 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7639 (build-system haskell-build-system)
7640 (arguments
7641 `(#:tests? #f))
7642 (inputs
7643 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7644 ("ghc-text" ,ghc-text)
7645 ("ghc-temporary" ,ghc-temporary)))
7646 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7647 (synopsis "Consistent file system interaction across GHC versions")
3f7aa102 7648 (description
7649 "This is a small wrapper around the directory, unix, and Win32 packages,
7650for use with system-filepath. It provides a consistent API to the various
7651versions of these packages distributed with different versions of GHC.
7652In particular, this library supports working with POSIX files that have paths
7653which can't be decoded in the current locale encoding.")
7654 (license license:expat)))
7655
25b3bdb5 7656(define-public ghc-shelly
7657 (package
7658 (name "ghc-shelly")
c4348ca7 7659 (version "1.8.1")
25b3bdb5 7660 (source
7661 (origin
7662 (method url-fetch)
7663 (uri (string-append
7664 "https://hackage.haskell.org/package/shelly/shelly-"
7665 version ".tar.gz"))
7666 (sha256
7667 (base32
c4348ca7 7668 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
25b3bdb5 7669 (build-system haskell-build-system)
7670 (inputs
f54f0475 7671 `(("ghc-unix-compat" ,ghc-unix-compat)
25b3bdb5 7672 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7673 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7674 ("ghc-monad-control" ,ghc-monad-control)
7675 ("ghc-lifted-base" ,ghc-lifted-base)
7676 ("ghc-lifted-async" ,ghc-lifted-async)
7677 ("ghc-exceptions" ,ghc-exceptions)
7678 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7679 ("ghc-text" ,ghc-text)
7680 ("ghc-async" ,ghc-async)
7681 ("ghc-transformers-base" ,ghc-transformers-base)
7682 ("ghc-hunit" ,ghc-hunit)
c4348ca7
AI
7683 ("ghc-hspec" ,ghc-hspec)
7684 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
25b3bdb5 7685 (home-page "https://github.com/yesodweb/Shelly.hs")
7686 (synopsis "Shell-like (systems) programming in Haskell")
7687 (description
7688 "Shelly provides convenient systems programming in Haskell, similar in
7689spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7690 (license license:bsd-3)))
7691
7e06c4aa 7692;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7693(define ghc-options-bootstrap
7694 (package
7695 (name "ghc-options-bootstrap")
7696 (version "1.2.1.1")
7697 (source
7698 (origin
7699 (method url-fetch)
7700 (uri (string-append
7701 "https://hackage.haskell.org/package/options/options-"
7702 version ".tar.gz"))
7703 (sha256
7704 (base32
7705 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7706 (build-system haskell-build-system)
7707 (arguments
7708 `(#:tests? #f))
7709 (inputs
7710 `(("ghc-monads-tf" ,ghc-monads-tf)))
7711 (home-page "https://john-millikin.com/software/haskell-options/")
7712 (synopsis "Powerful and easy-to-use command-line option parser")
7713 (description
7714 "The @code{options} package lets library and application developers
7715easily work with command-line options.")
7716 (license license:expat)))
7717
8ea94489 7718(define-public ghc-chell
7719 (package
7720 (name "ghc-chell")
6a9730a0 7721 (version "0.4.0.2")
8ea94489 7722 (source
7723 (origin
7724 (method url-fetch)
7725 (uri (string-append
7726 "https://hackage.haskell.org/package/chell/chell-"
7727 version ".tar.gz"))
7728 (sha256
7729 (base32
6a9730a0 7730 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
8ea94489 7731 (build-system haskell-build-system)
7732 (inputs
7733 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7734 ("ghc-patience" ,ghc-patience)
7735 ("ghc-random" ,ghc-random)
7736 ("ghc-text" ,ghc-text)
7737 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7738 (home-page "https://john-millikin.com/software/chell/")
7739 (synopsis "Simple and intuitive library for automated testing")
7740 (description
7741 "Chell is a simple and intuitive library for automated testing.
7742It natively supports assertion-based testing, and can use companion
7743libraries such as @code{chell-quickcheck} to support more complex
7744testing strategies.")
7745 (license license:expat)))
7746
475d3668 7747(define ghc-chell-quickcheck-bootstrap
7748 (package
7749 (name "ghc-chell-quickcheck-bootstrap")
a9717a52 7750 (version "0.2.5.1")
475d3668 7751 (source
7752 (origin
7753 (method url-fetch)
7754 (uri (string-append
a9717a52
TGR
7755 "https://hackage.haskell.org/package/chell-quickcheck/"
7756 "chell-quickcheck-" version ".tar.gz"))
475d3668 7757 (sha256
7758 (base32
a9717a52 7759 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
475d3668 7760 (build-system haskell-build-system)
7761 (inputs
7762 `(("ghc-chell" ,ghc-chell)
7763 ("ghc-random" ,ghc-random)
7764 ("ghc-quickcheck" ,ghc-quickcheck)))
7765 (arguments
4a3f50e3
TS
7766 `(#:tests? #f
7767 #:phases
7768 (modify-phases %standard-phases
7769 (add-before 'configure 'update-constraints
7770 (lambda _
7771 (substitute* "chell-quickcheck.cabal"
7772 (("QuickCheck >= 2\\.3 && < 2\\.11")
7773 "QuickCheck >= 2.3 && < 2.12")))))))
475d3668 7774 (home-page "https://john-millikin.com/software/chell/")
7775 (synopsis "QuickCheck support for the Chell testing library")
7776 (description "More complex tests for @code{chell}.")
7777 (license license:expat)))
7778
c92d944c 7779(define-public ghc-chell-quickcheck
7780 (package
7781 (name "ghc-chell-quickcheck")
a9717a52 7782 (version "0.2.5.1")
c92d944c 7783 (source
7784 (origin
7785 (method url-fetch)
7786 (uri (string-append
a9717a52
TGR
7787 "https://hackage.haskell.org/package/chell-quickcheck/"
7788 "chell-quickcheck-" version ".tar.gz"))
c92d944c 7789 (sha256
7790 (base32
a9717a52 7791 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
c92d944c 7792 (build-system haskell-build-system)
4a3f50e3
TS
7793 (arguments
7794 `(#:phases
7795 (modify-phases %standard-phases
7796 (add-before 'configure 'update-constraints
7797 (lambda _
7798 (substitute* "chell-quickcheck.cabal"
7799 (("QuickCheck >= 2\\.3 && < 2\\.11")
7800 "QuickCheck >= 2.3 && < 2.12")))))))
c92d944c 7801 (inputs
7802 `(("ghc-chell" ,ghc-chell)
7803 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7804 ("ghc-random" ,ghc-random)
7805 ("ghc-quickcheck" ,ghc-quickcheck)))
7806 (home-page "https://john-millikin.com/software/chell/")
7807 (synopsis "QuickCheck support for the Chell testing library")
7808 (description "More complex tests for @code{chell}.")
7809 (license license:expat)))
7810
58c85b1f 7811(define-public ghc-options
7812 (package
7813 (name "ghc-options")
7814 (version "1.2.1.1")
7815 (source
7816 (origin
7817 (method url-fetch)
7818 (uri (string-append
7819 "https://hackage.haskell.org/package/options/options-"
7820 version ".tar.gz"))
7821 (sha256
7822 (base32
7823 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7824 (build-system haskell-build-system)
7825 (inputs
7826 `(("ghc-monads-tf" ,ghc-monads-tf)
7827 ("ghc-chell" ,ghc-chell)
7828 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7829 (home-page "https://john-millikin.com/software/haskell-options/")
7830 (synopsis "Powerful and easy-to-use command-line option parser")
7831 (description
7832 "The @code{options} package lets library and application developers
7833easily work with command-line options.")
7834 (license license:expat)))
7835
23feb6e4 7836(define-public ghc-system-filepath
7837 (package
7838 (name "ghc-system-filepath")
1b58d289 7839 (version "0.4.14")
23feb6e4 7840 (source
7841 (origin
7842 (method url-fetch)
7843 (uri (string-append
7844 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7845 version ".tar.gz"))
7846 (sha256
7847 (base32
1b58d289 7848 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
23feb6e4 7849 (build-system haskell-build-system)
1b58d289
RW
7850 ;; FIXME: One of the tests fails:
7851 ;; [ FAIL ] tests.validity.posix
7852 ;; note: seed=7310214548328823169
7853 ;; *** Failed! Falsifiable (after 24 tests):
7854 ;; 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"
7855 (arguments `(#:tests? #f))
23feb6e4 7856 (inputs
7857 `(("ghc-text" ,ghc-text)
7858 ("ghc-chell" ,ghc-chell)
7859 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7860 ("ghc-quickcheck" ,ghc-quickcheck)))
7861 (home-page "https://github.com/fpco/haskell-filesystem")
7862 (synopsis "High-level, byte-based file and directory path manipulations")
7863 (description
7864 "Provides a FilePath datatype and utility functions for operating on it.
7865Unlike the filepath package, this package does not simply reuse String,
7866increasing type safety.")
7867 (license license:expat)))
7868
10a03d66 7869(define-public ghc-system-fileio
7870 (package
7871 (name "ghc-system-fileio")
7872 (version "0.3.16.3")
7873 (source
7874 (origin
7875 (method url-fetch)
7876 (uri (string-append
7877 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7878 version ".tar.gz"))
7879 (sha256
7880 (base32
7881 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7882 (build-system haskell-build-system)
7883 (inputs
7884 `(("ghc-system-filepath" ,ghc-system-filepath)
7885 ("ghc-text" ,ghc-text)
7886 ("ghc-chell" ,ghc-chell)
7887 ("ghc-temporary" ,ghc-temporary)))
7888 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7889 (synopsis "Consistent file system interaction across GHC versions")
10a03d66 7890 (description
7891 "This is a small wrapper around the directory, unix, and Win32 packages,
7892for use with system-filepath. It provides a consistent API to the various
7893versions of these packages distributed with different versions of GHC.
7894In particular, this library supports working with POSIX files that have paths
7895which can't be decoded in the current locale encoding.")
7896 (license license:expat)))
725dddd7
FB
7897
7898(define-public ghc-storable-complex
7899 (package
7900 (name "ghc-storable-complex")
7901 (version "0.2.2")
7902 (source
7903 (origin
7904 (method url-fetch)
7905 (uri (string-append
98b90194 7906 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
725dddd7
FB
7907 version ".tar.gz"))
7908 (sha256
7909 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7910 (build-system haskell-build-system)
7911 (home-page "https://github.com/cartazio/storable-complex")
7912 (synopsis "Haskell Storable instance for Complex")
7913 (description "This package provides a Haskell library including a
7914Storable instance for Complex which is binary compatible with C99, C++
7915and Fortran complex data types.")
7916 (license license:bsd-3)))
7917
95595618
FB
7918(define-public ghc-hmatrix
7919 (package
7920 (name "ghc-hmatrix")
c839da85 7921 (version "0.19.0.0")
95595618
FB
7922 (source
7923 (origin
7924 (method url-fetch)
7925 (uri (string-append
98b90194 7926 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
95595618
FB
7927 version ".tar.gz"))
7928 (sha256
c839da85 7929 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
95595618
FB
7930 (build-system haskell-build-system)
7931 (inputs
7932 `(("ghc-random" ,ghc-random)
7933 ("ghc-split" ,ghc-split)
7934 ("ghc-storable-complex" ,ghc-storable-complex)
c839da85 7935 ("ghc-semigroups" ,ghc-semigroups)
95595618
FB
7936 ("ghc-vector" ,ghc-vector)
7937 ;;("openblas" ,openblas)
7938 ("lapack" ,lapack)))
7939 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7940 ;; disables inclusion of the LAPACK functions.
7941 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7942 (home-page "https://github.com/albertoruiz/hmatrix")
7943 (synopsis "Haskell numeric linear algebra library")
7944 (description "The HMatrix package provices a Haskell library for
7945dealing with linear systems, matrix decompositions, and other
7946numerical computations based on BLAS and LAPACK.")
7947 (license license:bsd-3)))
7948
932104ab
FB
7949(define-public ghc-hmatrix-gsl
7950 (package
7951 (name "ghc-hmatrix-gsl")
3c00bc13 7952 (version "0.19.0.1")
932104ab
FB
7953 (source
7954 (origin
7955 (method url-fetch)
7956 (uri (string-append
98b90194 7957 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
932104ab
FB
7958 version ".tar.gz"))
7959 (sha256
3c00bc13 7960 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
932104ab
FB
7961 (build-system haskell-build-system)
7962 (inputs
7963 `(("ghc-hmatrix" ,ghc-hmatrix)
7964 ("ghc-vector" ,ghc-vector)
7965 ("ghc-random" ,ghc-random)
7966 ("gsl" ,gsl)))
7967 (native-inputs `(("pkg-config" ,pkg-config)))
7968 (home-page "https://github.com/albertoruiz/hmatrix")
7969 (synopsis "Haskell GSL binding")
7970 (description "This Haskell library provides a purely functional
7971interface to selected numerical computations, internally implemented
7972using GSL.")
7973 (license license:gpl3+)))
7974
271a5365
FB
7975(define-public ghc-hmatrix-special
7976 (package
7977 (name "ghc-hmatrix-special")
722d3bd8 7978 (version "0.19.0.0")
271a5365
FB
7979 (source
7980 (origin
7981 (method url-fetch)
7982 (uri
7983 (string-append
98b90194 7984 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
271a5365
FB
7985 version ".tar.gz"))
7986 (sha256
722d3bd8 7987 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
271a5365
FB
7988 (build-system haskell-build-system)
7989 (inputs
7990 `(("ghc-hmatrix" ,ghc-hmatrix)
7991 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7992 (home-page "https://github.com/albertoruiz/hmatrix")
7993 (synopsis "Haskell interface to GSL special functions")
7994 (description "This library provides an interface to GSL special
7995functions for Haskell.")
7996 (license license:gpl3+)))
7997
4225c711
FB
7998(define-public ghc-hmatrix-gsl-stats
7999 (package
8000 (name "ghc-hmatrix-gsl-stats")
26d6539b 8001 (version "0.4.1.7")
4225c711
FB
8002 (source
8003 (origin
8004 (method url-fetch)
8005 (uri
8006 (string-append
98b90194 8007 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4225c711
FB
8008 version ".tar.gz"))
8009 (sha256
26d6539b 8010 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4225c711
FB
8011 (build-system haskell-build-system)
8012 (inputs
8013 `(("ghc-vector" ,ghc-vector)
8014 ("ghc-storable-complex" ,ghc-storable-complex)
8015 ("ghc-hmatrix" ,ghc-hmatrix)
8016 ("gsl" ,gsl)))
8017 (native-inputs `(("pkg-config" ,pkg-config)))
8018 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
8019 (synopsis "GSL Statistics interface for Haskell")
8020 (description "This Haskell library provides a purely functional
8021interface for statistics based on hmatrix and GSL.")
8022 (license license:bsd-3)))
8023
db61a009
FB
8024(define-public ghc-easyplot
8025 (package
8026 (name "ghc-easyplot")
8027 (version "1.0")
8028 (source
8029 (origin
8030 (method url-fetch)
8031 (uri (string-append
98b90194 8032 "https://hackage.haskell.org/package/easyplot/easyplot-"
db61a009
FB
8033 version ".tar.gz"))
8034 (sha256
8035 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
8036 (build-system haskell-build-system)
8037 (propagated-inputs `(("gnuplot" ,gnuplot)))
8038 (arguments
8039 `(#:phases (modify-phases %standard-phases
8040 (add-after 'unpack 'fix-setup-suffix
8041 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
98b90194 8042 (home-page "https://hub.darcs.net/scravy/easyplot")
db61a009
FB
8043 (synopsis "Haskell plotting library based on gnuplot")
8044 (description "This package provides a plotting library for
8045Haskell, using gnuplot for rendering.")
8046 (license license:expat)))
8047
1bd00f17
FB
8048(define-public ghc-hashtables
8049 (package
8050 (name "ghc-hashtables")
fef71dbc 8051 (version "1.2.3.1")
1bd00f17
FB
8052 (source
8053 (origin
8054 (method url-fetch)
8055 (uri (string-append
98b90194 8056 "https://hackage.haskell.org/package/hashtables/hashtables-"
1bd00f17
FB
8057 version ".tar.gz"))
8058 (sha256
fef71dbc 8059 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
1bd00f17
FB
8060 (build-system haskell-build-system)
8061 (inputs
8062 `(("ghc-hashable" ,ghc-hashable)
8063 ("ghc-primitive" ,ghc-primitive)
8064 ("ghc-vector" ,ghc-vector)))
7bf837fd 8065 (home-page "https://github.com/gregorycollins/hashtables")
1bd00f17
FB
8066 (synopsis "Haskell Mutable hash tables in the ST monad")
8067 (description "This package provides a Haskell library including a
8068couple of different implementations of mutable hash tables in the ST
8069monad, as well as a typeclass abstracting their common operations, and
8070a set of wrappers to use the hash tables in the IO monad.")
8071 (license license:bsd-3)))
8072
505e0150
FB
8073(define-public ghc-data-accessor
8074 (package
8075 (name "ghc-data-accessor")
8076 (version "0.2.2.7")
8077 (source
8078 (origin
8079 (method url-fetch)
8080 (uri (string-append
6846f084 8081 "mirror://hackage/package/data-accessor/data-accessor-"
505e0150
FB
8082 version ".tar.gz"))
8083 (sha256
8084 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
8085 (build-system haskell-build-system)
98b90194 8086 (home-page "https://www.haskell.org/haskellwiki/Record_access")
505e0150
FB
8087 (synopsis
8088 "Haskell utilities for accessing and manipulating fields of records")
8089 (description "This package provides Haskell modules for accessing and
8090manipulating fields of records.")
8091 (license license:bsd-3)))
8092
81a11919
FB
8093(define-public ghc-data-accessor-transformers
8094 (package
8095 (name "ghc-data-accessor-transformers")
8096 (version "0.2.1.7")
8097 (source
8098 (origin
8099 (method url-fetch)
8100 (uri (string-append
6846f084
EF
8101 "mirror://hackage/package/data-accessor-transformers/"
8102 "data-accessor-transformers-" version ".tar.gz"))
81a11919
FB
8103 (sha256
8104 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
8105 (build-system haskell-build-system)
8106 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
98b90194 8107 (home-page "https://www.haskell.org/haskellwiki/Record_access")
81a11919
FB
8108 (synopsis "Use Accessor to access state in transformers State monad")
8109 (description "This package provides Haskell modules to allow use of
8110Accessor to access state in transformers State monad.")
8111 (license license:bsd-3)))
8112
a5cbef03
FB
8113(define-public ghc-utility-ht
8114 (package
8115 (name "ghc-utility-ht")
9e3e6ee0 8116 (version "0.0.14")
a5cbef03
FB
8117 (home-page "https://hackage.haskell.org/package/utility-ht")
8118 (source
8119 (origin
8120 (method url-fetch)
8121 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
8122 (sha256
9e3e6ee0 8123 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
a5cbef03
FB
8124 (build-system haskell-build-system)
8125 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
8126 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
8127 (description "This package includes Hakell modules providing various
8128helper functions for Lists, Maybes, Tuples, Functions.")
8129 (license license:bsd-3)))
8130
1a86b671
FB
8131(define-public ghc-gnuplot
8132 (package
8133 (name "ghc-gnuplot")
f9f2877d 8134 (version "0.5.5.2")
1a86b671
FB
8135 (source
8136 (origin
8137 (method url-fetch)
8138 (uri (string-append
6846f084 8139 "mirror://hackage/package/gnuplot/gnuplot-"
1a86b671
FB
8140 version ".tar.gz"))
8141 (sha256
f9f2877d 8142 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
1a86b671
FB
8143 (build-system haskell-build-system)
8144 (inputs
8145 `(("ghc-temporary" ,ghc-temporary)
8146 ("ghc-utility-ht" ,ghc-utility-ht)
8147 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
8148 ("ghc-data-accessor" ,ghc-data-accessor)
1abdefe5 8149 ("ghc-semigroups" ,ghc-semigroups)
1a86b671
FB
8150 ("gnuplot" ,gnuplot)))
8151 (arguments
8152 `(#:phases
8153 (modify-phases %standard-phases
8154 (add-before 'configure 'fix-path-to-gnuplot
8155 (lambda* (#:key inputs #:allow-other-keys)
8156 (let ((gnuplot (assoc-ref inputs "gnuplot")))
8157 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
8158 (("(gnuplotName = ).*$" all cmd)
8159 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
98b90194 8160 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
1a86b671
FB
8161 (synopsis "2D and 3D plots using gnuplot")
8162 (description "This package provides a Haskell module for creating 2D and
81633D plots using gnuplot.")
8164 (license license:bsd-3)))
8165
f63981de
DC
8166(define-public ghc-hinotify
8167 (package
8168 (name "ghc-hinotify")
e59983ec 8169 (version "0.3.10")
f63981de
DC
8170 (source (origin
8171 (method url-fetch)
8172 (uri (string-append
8173 "https://hackage.haskell.org/package/hinotify/"
8174 "hinotify-" version ".tar.gz"))
8175 (sha256
8176 (base32
e59983ec 8177 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
f63981de 8178 (build-system haskell-build-system)
e59983ec
TS
8179 (inputs
8180 `(("ghc-async" ,ghc-async)))
f63981de
DC
8181 (home-page "https://github.com/kolmodin/hinotify.git")
8182 (synopsis "Haskell binding to inotify")
8183 (description "This library provides a wrapper to the Linux kernel's inotify
8184feature, allowing applications to subscribe to notifications when a file is
8185accessed or modified.")
8186 (license license:bsd-3)))
8187
b7f96285
DC
8188(define-public ghc-fsnotify
8189 (package
8190 (name "ghc-fsnotify")
b5875189 8191 (version "0.3.0.1")
b7f96285
DC
8192 (source (origin
8193 (method url-fetch)
8194 (uri (string-append
8195 "https://hackage.haskell.org/package/fsnotify/"
8196 "fsnotify-" version ".tar.gz"))
8197 (sha256
8198 (base32
b5875189 8199 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
b7f96285
DC
8200 (build-system haskell-build-system)
8201 (inputs
8202 `(("ghc-text" ,ghc-text)
8203 ("ghc-async" ,ghc-async)
8204 ("ghc-unix-compat" ,ghc-unix-compat)
8205 ("ghc-hinotify" ,ghc-hinotify)
8206 ("ghc-tasty" ,ghc-tasty)
8207 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
b5875189
TS
8208 ("ghc-random" ,ghc-random)
8209 ("ghc-shelly" ,ghc-shelly)
8210 ("ghc-temporary" ,ghc-temporary)))
b7f96285
DC
8211 (home-page "https://github.com/haskell-fswatch/hfsnotify")
8212 (synopsis "Cross platform library for file change notification.")
8213 (description "Cross platform library for file creation, modification, and
8214deletion notification. This library builds upon existing libraries for platform
162a1374 8215specific Windows, Mac, and Linux file system event notification.")
b7f96285
DC
8216 (license license:bsd-3)))
8217
5e6cafe1
DC
8218(define-public ghc-ieee754
8219 (package
8220 (name "ghc-ieee754")
99596250 8221 (version "0.8.0")
5e6cafe1
DC
8222 (source (origin
8223 (method url-fetch)
8224 (uri (string-append
8225 "https://hackage.haskell.org/package/ieee754/"
8226 "ieee754-" version ".tar.gz"))
8227 (sha256
8228 (base32
99596250 8229 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5e6cafe1 8230 (build-system haskell-build-system)
7bf837fd 8231 (home-page "https://github.com/patperry/hs-ieee754")
5e6cafe1
DC
8232 (synopsis "Utilities for dealing with IEEE floating point numbers")
8233 (description "Utilities for dealing with IEEE floating point numbers,
8234ported from the Tango math library; approximate and exact equality comparisons
8235for general types.")
8236 (license license:bsd-3)))
8237
4e05c326
DC
8238(define-public ghc-terminal-size
8239 (package
8240 (name "ghc-terminal-size")
8241 (version "0.3.2.1")
8242 (source (origin
8243 (method url-fetch)
8244 (uri (string-append
8245 "https://hackage.haskell.org/package/terminal-size/"
8246 "terminal-size-" version ".tar.gz"))
8247 (sha256
8248 (base32
8249 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
8250 (build-system haskell-build-system)
98b90194 8251 (home-page "https://hackage.haskell.org/package/terminal-size")
4e05c326
DC
8252 (synopsis "Get terminal window height and width")
8253 (description "Get terminal window height and width without ncurses
8254dependency.")
8255 (license license:bsd-3)))
8256
2d2388e2
DM
8257(define-public ghc-language-c
8258 (package
de793e9a 8259 (name "ghc-language-c")
19b29882 8260 (version "0.8.1")
de793e9a 8261 (source
2d2388e2
DM
8262 (origin
8263 (method url-fetch)
de793e9a
RW
8264 (uri (string-append "https://hackage.haskell.org/package/"
8265 "language-c/language-c-" version ".tar.gz"))
2d2388e2 8266 (sha256
de793e9a 8267 (base32
19b29882 8268 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
de793e9a
RW
8269 (build-system haskell-build-system)
8270 (inputs `(("ghc-syb" ,ghc-syb)))
8271 (native-inputs
2d2388e2
DM
8272 `(("ghc-happy" ,ghc-happy)
8273 ("ghc-alex" ,ghc-alex)))
98b90194 8274 (home-page "https://visq.github.io/language-c/")
de793e9a
RW
8275 (synopsis "Analysis and generation of C code")
8276 (description
8277 "Language C is a Haskell library for the analysis and generation of C code.
8278It features a complete, well-tested parser and pretty printer for all of C99
2d2388e2 8279and a large set of GNU extensions.")
de793e9a 8280 (license license:bsd-3)))
2d2388e2 8281
6c8a387a
DM
8282(define-public ghc-markdown-unlit
8283 (package
8284 (name "ghc-markdown-unlit")
a1541117 8285 (version "0.5.0")
6c8a387a
DM
8286 (source (origin
8287 (method url-fetch)
8288 (uri (string-append
8289 "mirror://hackage/package/markdown-unlit/"
8290 "markdown-unlit-" version ".tar.gz"))
8291 (sha256
8292 (base32
a1541117 8293 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6c8a387a
DM
8294 (build-system haskell-build-system)
8295 (inputs
8296 `(("ghc-base-compat" ,ghc-base-compat)
8297 ("ghc-hspec" ,ghc-hspec)
8298 ("ghc-quickcheck" ,ghc-quickcheck)
8299 ("ghc-silently" ,ghc-silently)
8300 ("ghc-stringbuilder" ,ghc-stringbuilder)
8301 ("ghc-temporary" ,ghc-temporary)
8302 ("hspec-discover" ,hspec-discover)))
8303 (home-page "https://github.com/sol/markdown-unlit#readme")
8304 (synopsis "Literate Haskell support for Markdown")
8305 (description "This package allows you to have a README.md that at the
8306same time is a literate Haskell program.")
8307 (license license:expat)))
8308
ee719fba
DM
8309(define-public corrode
8310 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
8311 (package
8312 (name "corrode")
8313 (version (string-append "0.0.1-" (string-take commit 7)))
8314 (source
8315 (origin
8316 (method git-fetch)
8317 (uri (git-reference
8318 (url "https://github.com/jameysharp/corrode.git")
8319 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
8320 (file-name
8321 (string-append name "-" version "-checkout"))
8322 (sha256
8323 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
8324 (build-system haskell-build-system)
8325 (inputs
8326 `(("ghc-language-c" ,ghc-language-c)
8327 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
8328 (home-page "https://github.com/jameysharp/corrode")
8329 (synopsis "Automatic semantics-preserving translation from C to Rust")
8330 (description
8331 "This program reads a C source file and prints an equivalent module in
8332Rust syntax. It is intended to be useful for two different purposes:
8333
8334@enumerate
8335@item Partial automation for migrating legacy code that was implemented in C.
8336@item A new, complementary approach to static analysis for C programs.
8337@end enumerate\n")
8338 (license license:gpl2+))))
8339
90762815
DM
8340(define-public ghc-wave
8341 (package
8342 (name "ghc-wave")
0618a71b 8343 (version "0.1.5")
90762815
DM
8344 (source (origin
8345 (method url-fetch)
8346 (uri (string-append
8347 "https://hackage.haskell.org/package/wave/wave-"
8348 version
8349 ".tar.gz"))
8350 (sha256
8351 (base32
0618a71b 8352 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
90762815 8353 (build-system haskell-build-system)
70fa5899
SB
8354 (arguments
8355 '(#:phases
8356 (modify-phases %standard-phases
8357 (add-before 'configure 'update-constraints
8358 (lambda _
8359 (substitute* "wave.cabal"
8360 (("temporary.* < 1\\.3")
8361 "temporary >= 1.1 && < 1.4")))))))
90762815
DM
8362 (inputs
8363 `(("ghc-cereal" ,ghc-cereal)
8364 ("ghc-data-default-class"
8365 ,ghc-data-default-class)
8366 ("ghc-quickcheck" ,ghc-quickcheck)
8367 ("ghc-temporary" ,ghc-temporary)))
8368 (native-inputs
8369 `(("hspec-discover" ,hspec-discover)
8370 ("ghc-hspec" ,ghc-hspec)))
8371 (home-page "https://github.com/mrkkrp/wave")
8372 (synopsis "Work with WAVE and RF64 files in Haskell")
8373 (description "This package allows you to work with WAVE and RF64
8374files in Haskell.")
8375 (license license:bsd-3)))
8376
5f622de1 8377(define-public ghc-hslogger
8378 (package
8379 (name "ghc-hslogger")
8380 (version "1.2.10")
8381 (source
8382 (origin
8383 (method url-fetch)
8384 (uri (string-append "https://hackage.haskell.org/package/"
8385 "hslogger-" version "/" "hslogger-"
8386 version ".tar.gz"))
8387 (sha256 (base32
8388 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
8389 (build-system haskell-build-system)
8390 (inputs
f54f0475 8391 `(("ghc-network" ,ghc-network)
831cb419 8392 ("ghc-old-locale" ,ghc-old-locale)))
5f622de1 8393 (native-inputs
8394 `(("ghc-hunit" ,ghc-hunit)))
98b90194 8395 (home-page "https://software.complete.org/hslogger")
5f622de1 8396 (synopsis "Logging framework for Haskell, similar to Python's logging module")
8397 (description "Hslogger lets each log message have a priority and source be
8398associated with it. The programmer can then define global handlers that route
8399or filter messages based on the priority and source. It also has a syslog
8400handler built in.")
8401 (license license:bsd-3)))
8402
a1563803 8403(define-public ghc-unexceptionalio
8404 (package
8405 (name "ghc-unexceptionalio")
06dae8ff 8406 (version "0.4.0")
a1563803 8407 (source
8408 (origin
8409 (method url-fetch)
8410 (uri (string-append "https://hackage.haskell.org/package/"
8411 "unexceptionalio-" version "/" "unexceptionalio-"
8412 version ".tar.gz"))
06dae8ff 8413 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
a1563803 8414 (build-system haskell-build-system)
8415 (home-page "https://github.com/singpolyma/unexceptionalio")
8416 (synopsis "IO without any non-error, synchronous exceptions")
8417 (description "When you've caught all the exceptions that can be
8418handled safely, this is what you're left with.")
8419 (license license:isc)))
8420
6f8016f4
DM
8421(define-public ghc-json
8422 (package
8423 (name "ghc-json")
1a8f5eb2 8424 (version "0.9.2")
6f8016f4
DM
8425 (source
8426 (origin
8427 (method url-fetch)
8428 (uri (string-append "https://hackage.haskell.org/package/json/"
8429 "json-" version ".tar.gz"))
8430 (sha256
8431 (base32
1a8f5eb2 8432 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
6f8016f4
DM
8433 (build-system haskell-build-system)
8434 (inputs
8435 `(("ghc-syb" ,ghc-syb)
6f8016f4
DM
8436 ("ghc-text" ,ghc-text)
8437 ("ghc-parsec" ,ghc-parsec)))
98b90194 8438 (home-page "https://hackage.haskell.org/package/json")
6f8016f4
DM
8439 (synopsis "Serializes Haskell data to and from JSON")
8440 (description "This package provides a parser and pretty printer for
8441converting between Haskell values and JSON.
8442JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
8443 (license license:bsd-3)))
8444
92c2097b 8445(define-public ghc-esqueleto
3b72e7e2
TS
8446 (let ((version "2.5.3")
8447 (revision "1")
8448 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
8449 (package
8450 (name "ghc-esqueleto")
8451 (version (git-version version revision commit))
8452 (source
8453 (origin
8454 (method git-fetch)
8455 (uri (git-reference
8456 (url "https://github.com/bitemyapp/esqueleto")
8457 (commit commit)))
8458 (sha256
8459 (base32
8460 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
8461 (build-system haskell-build-system)
8462 (arguments
8463 `(#:haddock? #f ; Haddock reports an internal error.
8464 #:phases
8465 (modify-phases %standard-phases
8466 ;; This package normally runs tests for the MySQL, PostgreSQL, and
8467 ;; SQLite backends. Since we only have Haskell packages for
8468 ;; SQLite, we remove the other two test suites. FIXME: Add the
8469 ;; other backends and run all three test suites.
8470 (add-before 'configure 'remove-non-sqlite-test-suites
8471 (lambda _
8472 (use-modules (ice-9 rdelim))
8473 (with-atomic-file-replacement "esqueleto.cabal"
8474 (lambda (in out)
8475 (let loop ((line (read-line in 'concat)) (deleting? #f))
8476 (cond
8477 ((eof-object? line) #t)
8478 ((string-every char-set:whitespace line)
8479 (unless deleting? (display line out))
8480 (loop (read-line in 'concat) #f))
8481 ((member line '("test-suite mysql\n"
8482 "test-suite postgresql\n"))
8483 (loop (read-line in 'concat) #t))
8484 (else
8485 (unless deleting? (display line out))
8486 (loop (read-line in 'concat) deleting?)))))))))))
8487 (inputs
8488 `(("ghc-blaze-html" ,ghc-blaze-html)
8489 ("ghc-conduit" ,ghc-conduit)
8490 ("ghc-monad-logger" ,ghc-monad-logger)
8491 ("ghc-persistent" ,ghc-persistent)
8492 ("ghc-resourcet" ,ghc-resourcet)
8493 ("ghc-tagged" ,ghc-tagged)
8494 ("ghc-text" ,ghc-text)
8495 ("ghc-unliftio" ,ghc-unliftio)
8496 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8497 (native-inputs
8498 `(("ghc-hspec" ,ghc-hspec)
8499 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
8500 ("ghc-persistent-template" ,ghc-persistent-template)))
8501 (home-page "https://github.com/bitemyapp/esqueleto")
8502 (synopsis "Type-safe embedded domain specific language for SQL queries")
8503 (description "This library provides a type-safe embedded domain specific
92c2097b
TS
8504language (EDSL) for SQL queries that works with SQL backends as provided by
8505@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
8506to learn new concepts, just new syntax, and it's fairly easy to predict the
8507generated SQL and optimize it for your backend.")
3b72e7e2 8508 (license license:bsd-3))))
92c2097b 8509
7e58cbbb
DM
8510(define-public shellcheck
8511 (package
8512 (name "shellcheck")
eaa1f873 8513 (version "0.5.0")
7e58cbbb
DM
8514 (source
8515 (origin
8516 (method url-fetch)
eaa1f873
SB
8517 (uri (string-append
8518 "https://hackage.haskell.org/package/ShellCheck/ShellCheck-"
8519 version ".tar.gz"))
7e58cbbb
DM
8520 (sha256
8521 (base32
eaa1f873 8522 "0z1hscbr11hwkq8k1v0vaa947hb9m6k4cm831jk1gpj8dxrk151b"))
7e58cbbb
DM
8523 (file-name (string-append name "-" version ".tar.gz"))))
8524 (build-system haskell-build-system)
8525 (inputs
eaa1f873
SB
8526 `(("ghc-aeson" ,ghc-aeson)
8527 ("ghc-quickcheck" ,ghc-quickcheck)
7e58cbbb
DM
8528 ("ghc-parsec" ,ghc-parsec)
8529 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8530 (home-page "https://github.com/koalaman/shellcheck")
8531 (synopsis "Static analysis for shell scripts")
8532 (description "@code{shellcheck} provides static analysis for
8533@command{bash} and @command{sh} shell scripts.
8534It gives warnings and suggestions in order to:
8535
8536@enumerate
8537@item Point out and clarify typical beginner's syntax issues that cause
8538a shell to give cryptic error messages.
8539@item Point out and clarify typical intermediate level semantic problems
8540that cause a shell to behave strangely and counter-intuitively.
8541@item Point out subtle caveats, corner cases and pitfalls that may cause an
8542advanced user's otherwise working script to fail under future circumstances.
8543@end enumerate")
8544 (license license:gpl3+)))
8545
789dc568 8546(define-public ghc-simple-sendfile
8547 (package
8548 (name "ghc-simple-sendfile")
23aa12fc 8549 (version "0.2.27")
789dc568 8550 (source
8551 (origin
8552 (method url-fetch)
8553 (uri (string-append "https://hackage.haskell.org/package/"
8554 "simple-sendfile-" version "/"
8555 "simple-sendfile-" version ".tar.gz"))
8556 (sha256
8557 (base32
23aa12fc 8558 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
789dc568 8559 (build-system haskell-build-system)
8560 (inputs
8561 `(("ghc-conduit" ,ghc-conduit)
8562 ("ghc-conduit-extra" ,ghc-conduit-extra)
8563 ("ghc-network" ,ghc-network)
8564 ("ghc-resourcet" ,ghc-resourcet)))
8565 (native-inputs
8566 `(("ghc-hspec" ,ghc-hspec)
8567 ("hspec-discover" ,hspec-discover)))
8568 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
8569 (synopsis "Cross platform library for the sendfile system call")
8570 (description "This library tries to call minimum system calls which
8571are the bottleneck of web servers.")
8572 (license license:bsd-3)))
8573
59b340a5 8574(define-public ghc-hex
8575 (package
8576 (name "ghc-hex")
8577 (version "0.1.2")
8578 (source
8579 (origin
8580 (method url-fetch)
8581 (uri (string-append "https://hackage.haskell.org/package/"
8582 "hex-" version "/"
8583 "hex-" version ".tar.gz"))
8584 (sha256
8585 (base32
8586 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
8587 (build-system haskell-build-system)
98b90194 8588 (home-page "https://hackage.haskell.org/package/hex")
59b340a5 8589 (synopsis "Convert strings into hexadecimal and back")
8590 (description "This package provides conversion functions between
8591bytestrings and their hexademical representation.")
8592 (license license:bsd-3)))
8593
aba85f8c 8594(define-public ghc-psqueues
8595 (package
8596 (name "ghc-psqueues")
6062c461 8597 (version "0.2.7.0")
aba85f8c 8598 (source
8599 (origin
8600 (method url-fetch)
8601 (uri (string-append "https://hackage.haskell.org/package/"
8602 "psqueues-" version "/"
8603 "psqueues-" version ".tar.gz"))
8604 (sha256
8605 (base32
6062c461 8606 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
aba85f8c 8607 (build-system haskell-build-system)
8608 (inputs
8609 `(("ghc-hashable" ,ghc-hashable)))
8610 (native-inputs
8611 `(("ghc-hunit" ,ghc-hunit)
8612 ("ghc-quickcheck" ,ghc-quickcheck)
8613 ("ghc-tagged" ,ghc-tagged)
8614 ("ghc-test-framework" ,ghc-test-framework)
8615 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8616 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
20c902f0 8617 (home-page "https://github.com/jaspervdj/psqueues")
aba85f8c 8618 (synopsis "Pure priority search queues")
8619 (description "The psqueues package provides
98b90194 8620@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
aba85f8c 8621three different flavors:
8622
8623@itemize
8624@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8625fast insertion, deletion and lookup. This implementation is based on Ralf
8626Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8627Implementation Technique for Priority Search Queues}.
8628
98b90194 8629Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
aba85f8c 8630PSQueue} library, although it is considerably faster and provides a slightly
8631different API.
8632
8633@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8634key type to @code{Int} and uses a
98b90194 8635@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
a5f89a63 8636with an additional min-heap property.
aba85f8c 8637
8638@item @code{HashPSQ k p v} is a fairly straightforward extension
8639of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8640@code{IntPSQ}. If there are any hash collisions, it uses an
8641@code{OrdPSQ} to resolve those. The performance of this implementation
8642is comparable to that of @code{IntPSQ}, but it is more widely
8643applicable since the keys are not restricted to @code{Int},
8644but rather to any @code{Hashable} datatype.
8645@end itemize
8646
8647Each of the three implementations provides the same API, so they can
8648be used interchangeably.
8649
8650Typical applications of Priority Search Queues include:
8651
8652@itemize
8653@item Caches, and more specifically LRU Caches;
8654@item Schedulers;
8655@item Pathfinding algorithms, such as Dijkstra's and A*.
8656@end itemize")
8657 (license license:bsd-3)))
8658
4031fb60 8659(define-public ghc-glob
8660 (package
8661 (name "ghc-glob")
29273431 8662 (version "0.9.2")
4031fb60 8663 (source
8664 (origin
8665 (method url-fetch)
8666 (uri (string-append "https://hackage.haskell.org/package/"
8667 "Glob-" version "/"
8668 "Glob-" version ".tar.gz"))
8669 (sha256
8670 (base32
29273431 8671 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
4031fb60 8672 (build-system haskell-build-system)
8673 (inputs
8674 `(("ghc-dlist" ,ghc-dlist)
8675 ("ghc-semigroups" ,ghc-semigroups)
8676 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8677 (native-inputs
8678 `(("ghc-hunit" ,ghc-hunit)
8679 ("ghc-quickcheck" ,ghc-quickcheck)
8680 ("ghc-test-framework" ,ghc-test-framework)
8681 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8682 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8683 (home-page "http://iki.fi/matti.niemenmaa/glob/")
8684 (synopsis "Haskell library matching glob patterns against file paths")
581a006b 8685 (description "This package provides a Haskell library for @dfn{globbing}:
4031fb60 8686matching patterns against file paths.")
8687 (license license:bsd-3)))
8688
78d8b8f3 8689(define-public ghc-errors
8690 (package
8691 (name "ghc-errors")
24e18bf9 8692 (version "2.3.0")
78d8b8f3 8693 (source
8694 (origin
8695 (method url-fetch)
8696 (uri (string-append "https://hackage.haskell.org/package/"
8697 "errors-" version "/"
8698 "errors-" version ".tar.gz"))
8699 (sha256
8700 (base32
24e18bf9 8701 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
78d8b8f3 8702 (build-system haskell-build-system)
8703 (inputs
8704 `(("ghc-exceptions" ,ghc-exceptions)
8705 ("ghc-text" ,ghc-text)
8706 ("ghc-transformers-compat" ,ghc-transformers-compat)
8707 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
8708 ("ghc-safe" ,ghc-safe)))
8709 (home-page "https://github.com/gabriel439/haskell-errors-library")
8710 (synopsis "Error handling library for Haskell")
8711 (description "This library encourages an error-handling style that
8712directly uses the type system, rather than out-of-band exceptions.")
8713 (license license:bsd-3)))
8714
c1274a0b 8715(define-public ghc-vector-th-unbox
8716 (package
8717 (name "ghc-vector-th-unbox")
8718 (version "0.2.1.6")
8719 (source
8720 (origin
8721 (method url-fetch)
8722 (uri (string-append "https://hackage.haskell.org/package/"
8723 "vector-th-unbox-" version "/"
8724 "vector-th-unbox-" version ".tar.gz"))
8725 (sha256
8726 (base32
8727 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
8728 (build-system haskell-build-system)
8729 (inputs
8730 `(("ghc-vector" ,ghc-vector)
8731 ("ghc-data-default" ,ghc-data-default)))
8732 (home-page "https://github.com/liyang/vector-th-unbox")
8733 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
8734 (description "This Haskell library provides a Template Haskell
8735deriver for unboxed vectors, given a pair of coercion functions to
8736and from some existing type with an Unbox instance.")
8737 (license license:bsd-3)))
8738
bdd7e395 8739(define-public ghc-erf
8740 (package
8741 (name "ghc-erf")
8742 (version "2.0.0.0")
8743 (source
8744 (origin
8745 (method url-fetch)
8746 (uri (string-append "https://hackage.haskell.org/package/"
8747 "erf-" version "/"
8748 "erf-" version ".tar.gz"))
8749 (sha256
8750 (base32
8751 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
8752 (build-system haskell-build-system)
8753 (home-page "https://hackage.haskell.org/package/erf")
8754 (synopsis "The error function, erf, and related functions for Haskell")
8755 (description "This Haskell library provides a type class for the
8756error function, erf, and related functions. Instances for Float and
8757Double.")
8758 (license license:bsd-3)))
8759
a51ba897 8760(define-public ghc-math-functions
8761 (package
8762 (name "ghc-math-functions")
8763 (version "0.2.1.0")
8764 (source
8765 (origin
8766 (method url-fetch)
8767 (uri (string-append "https://hackage.haskell.org/package/"
8768 "math-functions-" version "/"
8769 "math-functions-" version ".tar.gz"))
8770 (sha256
8771 (base32
8772 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
8773 (build-system haskell-build-system)
fc3ef1e2 8774 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
a51ba897 8775 (inputs
8776 `(("ghc-vector" ,ghc-vector)
8777 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
8778 (native-inputs
8779 `(("ghc-hunit" ,ghc-hunit)
8780 ("ghc-quickcheck" ,ghc-quickcheck)
8781 ("ghc-erf" ,ghc-erf)
8782 ("ghc-test-framework" ,ghc-test-framework)
8783 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8784 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8785 (home-page "https://github.com/bos/math-functions")
8786 (synopsis "Special functions and Chebyshev polynomials for Haskell")
8787 (description "This Haskell library provides implementations of
8788special mathematical functions and Chebyshev polynomials. These
8789functions are often useful in statistical and numerical computing.")
8790 (license license:bsd-3)))
8791
1a2a247b 8792(define-public ghc-mwc-random
8793 (package
8794 (name "ghc-mwc-random")
8795 (version "0.13.6.0")
8796 (source
8797 (origin
8798 (method url-fetch)
8799 (uri (string-append "https://hackage.haskell.org/package/"
8800 "mwc-random-" version "/"
8801 "mwc-random-" version ".tar.gz"))
8802 (sha256
8803 (base32
8804 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
8805 (build-system haskell-build-system)
8806 (inputs
8807 `(("ghc-primitive" ,ghc-primitive)
8808 ("ghc-vector" ,ghc-vector)
8809 ("ghc-math-functions" ,ghc-math-functions)))
8810 (arguments
8811 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8812 (native-inputs
8813 `(("ghc-hunit" ,ghc-hunit)
8814 ("ghc-quickcheck" ,ghc-quickcheck)
8815 ("ghc-test-framework" ,ghc-test-framework)
8816 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8817 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8818 (home-page "https://github.com/bos/mwc-random")
8819 (synopsis "Random number generation library for Haskell")
8820 (description "This Haskell package contains code for generating
8821high quality random numbers that follow either a uniform or normal
8822distribution. The generated numbers are suitable for use in
8823statistical applications.
8824
8825The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8826multiply-with-carry generator, which has a period of 2^{8222} and
8827fares well in tests of randomness. It is also extremely fast,
8828between 2 and 3 times faster than the Mersenne Twister.")
8829 (license license:bsd-3)))
8830
30aede1b 8831(define-public ghc-vector-algorithms
8832 (package
8833 (name "ghc-vector-algorithms")
d9404fc1 8834 (version "0.7.0.4")
30aede1b 8835 (source
8836 (origin
8837 (method url-fetch)
8838 (uri (string-append "https://hackage.haskell.org/package/"
8839 "vector-algorithms-" version "/"
8840 "vector-algorithms-" version ".tar.gz"))
8841 (sha256
8842 (base32
d9404fc1 8843 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
30aede1b 8844 (build-system haskell-build-system)
8845 (inputs
d9404fc1 8846 `(("ghc-vector" ,ghc-vector)))
30aede1b 8847 (native-inputs
8848 `(("ghc-quickcheck" ,ghc-quickcheck)))
8849 (home-page "https://github.com/bos/math-functions")
8850 (synopsis "Algorithms for vector arrays in Haskell")
8851 (description "This Haskell library algorithms for vector arrays.")
8852 (license license:bsd-3)))
8853
897d4f28 8854(define-public ghc-language-haskell-extract
8855 (package
8856 (name "ghc-language-haskell-extract")
8857 (version "0.2.4")
8858 (source
8859 (origin
8860 (method url-fetch)
8861 (uri (string-append "https://hackage.haskell.org/package/"
8862 "language-haskell-extract-" version "/"
8863 "language-haskell-extract-" version ".tar.gz"))
8864 (sha256
8865 (base32
8866 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8867 (build-system haskell-build-system)
8868 (inputs
8869 `(("ghc-regex-posix" ,ghc-regex-posix)))
8870 (home-page "https://github.com/finnsson/template-helper")
8871 (synopsis "Haskell module to automatically extract functions from
8872the local code")
8873 (description "This package contains helper functions on top of
8874Template Haskell.
8875
8876For example, @code{functionExtractor} extracts all functions after a
8877regexp-pattern, which can be useful if you wish to extract all functions
8878beginning with @code{test} (for a test framework) or all functions beginning
8879with @code{wc} (for a web service).")
8880 (license license:bsd-3)))
8881
97b26920 8882(define-public ghc-abstract-par
8883 (package
8884 (name "ghc-abstract-par")
8885 (version "0.3.3")
8886 (source
8887 (origin
8888 (method url-fetch)
8889 (uri (string-append "https://hackage.haskell.org/package/"
8890 "abstract-par-" version "/"
8891 "abstract-par-" version ".tar.gz"))
8892 (sha256
8893 (base32
8894 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8895 (build-system haskell-build-system)
8896 (home-page "https://github.com/simonmar/monad-par")
8897 (synopsis "Abstract parallelization interface for Haskell")
8898 (description "This Haskell package is an abstract interface
8899only. It provides a number of type clasess, but not an
8900implementation. The type classes separate different levels
8901of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8902module for more details.")
8903 (license license:bsd-3)))
8904
59551881 8905(define-public ghc-monad-par-extras
8906 (package
8907 (name "ghc-monad-par-extras")
8908 (version "0.3.3")
8909 (source
8910 (origin
8911 (method url-fetch)
8912 (uri (string-append "https://hackage.haskell.org/package/"
8913 "monad-par-extras-" version "/"
8914 "monad-par-extras-" version ".tar.gz"))
8915 (sha256
8916 (base32
8917 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8918 (build-system haskell-build-system)
8919 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8920 ("ghc-cereal" ,ghc-cereal)
f54f0475 8921 ("ghc-random" ,ghc-random)))
59551881 8922 (home-page "https://github.com/simonmar/monad-par")
8923 (synopsis "Combinators and extra features for Par monads for Haskell")
8924 (description "This Haskell package provides additional data structures,
8925and other added capabilities layered on top of the @code{Par} monad.")
8926 (license license:bsd-3)))
8927
f978e2ac 8928(define-public ghc-abstract-deque
8929 (package
8930 (name "ghc-abstract-deque")
8931 (version "0.3")
8932 (source
8933 (origin
8934 (method url-fetch)
8935 (uri (string-append "https://hackage.haskell.org/package/"
8936 "abstract-deque-" version "/"
8937 "abstract-deque-" version ".tar.gz"))
8938 (sha256
8939 (base32
8940 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8941 (build-system haskell-build-system)
8942 (inputs `(("ghc-random" ,ghc-random)))
8943 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8944 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8945 (description "This Haskell package provides an abstract interface to
8946highly-parameterizable queues/deques.
8947
8948Background: There exists a feature space for queues that extends between:
8949
8950@itemize
8951@item Simple, single-ended, non-concurrent, bounded queues
8952
467834d5
TGR
8953@item Double-ended, thread-safe, growable queues with important points
8954in between (such as the queues used for work stealing).
f978e2ac 8955@end itemize
8956
8957This package includes an interface for Deques that allows the programmer
467834d5 8958to use a single API for all of the above, while using the type system to
f978e2ac 8959select an efficient implementation given the requirements (using type families).
8960
8961This package also includes a simple reference implementation based on
8962@code{IORef} and @code{Data.Sequence}.")
8963 (license license:bsd-3)))
8964
608bf276 8965(define-public ghc-monad-par
8966 (package
8967 (name "ghc-monad-par")
8968 (version "0.3.4.8")
8969 (source
8970 (origin
8971 (method url-fetch)
8972 (uri (string-append "https://hackage.haskell.org/package/"
8973 "monad-par-" version "/"
8974 "monad-par-" version ".tar.gz"))
8975 (sha256
8976 (base32
8977 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8978 (build-system haskell-build-system)
8979 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8980 ("ghc-abstract-deque" ,ghc-abstract-deque)
8981 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8982 ("ghc-mwc-random" ,ghc-mwc-random)
f54f0475 8983 ("ghc-parallel" ,ghc-parallel)))
608bf276 8984 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8985 ("ghc-hunit" ,ghc-hunit)
8986 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8987 ("ghc-test-framework-quickcheck2"
8988 ,ghc-test-framework-quickcheck2)
8989 ("ghc-test-framework" ,ghc-test-framework)
8990 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8991 (home-page "https://github.com/simonmar/monad-par")
8992 (synopsis "Haskell library for parallel programming based on a monad")
8993 (description "The @code{Par} monad offers an API for parallel
8994programming. The library works for parallelising both pure and @code{IO}
8995computations, although only the pure version is deterministic. The default
8996implementation provides a work-stealing scheduler and supports forking tasks
8997that are much lighter weight than IO-threads.")
8998 (license license:bsd-3)))
8999
0c717284 9000(define-public ghc-statistics
9001 (package
9002 (name "ghc-statistics")
9003 (version "0.14.0.2")
9004 (source
9005 (origin
9006 (method url-fetch)
9007 (uri (string-append "https://hackage.haskell.org/package/"
9008 "statistics-" version "/"
9009 "statistics-" version ".tar.gz"))
9010 (sha256
9011 (base32
9012 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
9013 (build-system haskell-build-system)
52891580
RW
9014 (arguments
9015 '(#:cabal-revision
9016 ("2" "1bx70yqkn62ii17fjv3pig4hklrzkqd09zj67zzjiyjzmn04fir3")
9017 ;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
9018 #:tests? #f))
0c717284 9019 (inputs
9020 `(("ghc-aeson" ,ghc-aeson)
9021 ("ghc-base-orphans" ,ghc-base-orphans)
9022 ("ghc-erf" ,ghc-erf)
9023 ("ghc-math-functions" ,ghc-math-functions)
9024 ("ghc-monad-par" ,ghc-monad-par)
9025 ("ghc-mwc-random" ,ghc-mwc-random)
9026 ("ghc-primitive" ,ghc-primitive)
9027 ("ghc-vector" ,ghc-vector)
9028 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9029 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9030 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9031 (native-inputs
9032 `(("ghc-hunit" ,ghc-hunit)
9033 ("ghc-quickcheck" ,ghc-quickcheck)
c695fb76 9034 ("ghc-ieee754" ,ghc-ieee754)
0c717284 9035 ("ghc-test-framework" ,ghc-test-framework)
9036 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9037 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
0c717284 9038 (home-page "https://github.com/bos/mwc-random")
9039 (synopsis "Haskell library of statistical types, data, and functions")
9040 (description "This library provides a number of common functions
9041and types useful in statistics. We focus on high performance, numerical
9042robustness, and use of good algorithms. Where possible, we provide references
9043to the statistical literature.
9044
9045The library's facilities can be divided into four broad categories:
9046
9047@itemize
9048@item Working with widely used discrete and continuous probability
9049distributions. (There are dozens of exotic distributions in use; we focus
9050on the most common.)
9051
9052@item Computing with sample data: quantile estimation, kernel density
9053estimation, histograms, bootstrap methods, significance testing,
9054and regression and autocorrelation analysis.
9055
9056@item Random variate generation under several different distributions.
9057
9058@item Common statistical tests for significant differences between samples.
9059@end itemize")
9060 (license license:bsd-2)))
9061
371ad40c 9062(define-public ghc-chunked-data
9063 (package
9064 (name "ghc-chunked-data")
48f8ba91 9065 (version "0.3.1")
371ad40c 9066 (source
9067 (origin
9068 (method url-fetch)
9069 (uri (string-append "https://hackage.haskell.org/package/"
9070 "chunked-data-" version "/"
9071 "chunked-data-" version ".tar.gz"))
9072 (sha256
9073 (base32
48f8ba91 9074 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
371ad40c 9075 (build-system haskell-build-system)
9076 (inputs `(("ghc-vector" ,ghc-vector)
d6e559ab 9077 ("ghc-semigroups" ,ghc-semigroups)
9078 ("ghc-text" ,ghc-text)))
371ad40c 9079 (home-page "https://github.com/snoyberg/mono-traversable")
9080 (synopsis "Typeclasses for dealing with various chunked data
9081representations for Haskell")
9082 (description "This Haskell package was originally present in
9083classy-prelude.")
9084 (license license:expat)))
9085
ac4cb8fd 9086(define-public ghc-base-prelude
9087 (package
9088 (name "ghc-base-prelude")
d3cc0eb2 9089 (version "1.3")
ac4cb8fd 9090 (source
9091 (origin
9092 (method url-fetch)
9093 (uri (string-append "https://hackage.haskell.org/package/"
9094 "base-prelude-" version "/"
9095 "base-prelude-" version ".tar.gz"))
9096 (sha256
9097 (base32
d3cc0eb2 9098 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
ac4cb8fd 9099 (build-system haskell-build-system)
9100 (home-page "https://github.com/nikita-volkov/base-prelude")
9101 (synopsis "The most complete prelude formed solely from the Haskell's base
9102package")
9103 (description "This Haskell package aims to reexport all the non-conflicting
9104and most general definitions from the \"base\" package.
9105
9106This includes APIs for applicatives, arrows, monoids, foldables, traversables,
9107exceptions, generics, ST, MVars and STM.
9108
9109This package will never have any dependencies other than \"base\".
9110
9111Versioning policy:
9112
9113The versioning policy of this package deviates from PVP in the sense
9114that its exports in part are transitively determined by the version of \"base\".
9115Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
9116the bounds of \"base\" as well.")
9117 (license license:expat)))
9118
e329bacb 9119(define-public ghc-tuple-th
9120 (package
9121 (name "ghc-tuple-th")
9122 (version "0.2.5")
9123 (source
9124 (origin
9125 (method url-fetch)
9126 (uri (string-append "https://hackage.haskell.org/package/"
9127 "tuple-th-" version "/"
9128 "tuple-th-" version ".tar.gz"))
9129 (sha256
9130 (base32
9131 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
9132 (build-system haskell-build-system)
9133 (home-page "https://github.com/DanielSchuessler/tuple-th")
9134 (synopsis "Generate utility functions for tuples of statically known size
9135for Haskell")
9136 (description "This Haskell package contains Template Haskell functions for
9137generating functions similar to those in @code{Data.List} for tuples of
9138statically known size.")
9139 (license license:bsd-3)))
9140
4562c8c8 9141(define-public ghc-contravariant-extras
9142 (package
9143 (name "ghc-contravariant-extras")
c1cf4c70 9144 (version "0.3.4")
4562c8c8 9145 (source
9146 (origin
9147 (method url-fetch)
9148 (uri (string-append "https://hackage.haskell.org/package/"
9149 "contravariant-extras-" version "/"
9150 "contravariant-extras-" version ".tar.gz"))
9151 (sha256
9152 (base32
c1cf4c70 9153 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
4562c8c8 9154 (build-system haskell-build-system)
c1cf4c70
TS
9155 (inputs
9156 `(("ghc-tuple-th" ,ghc-tuple-th)
9157 ("ghc-contravariant" ,ghc-contravariant)
9158 ("ghc-base-prelude" ,ghc-base-prelude)
9159 ("ghc-semigroups" ,ghc-semigroups)))
4562c8c8 9160 (home-page "https://github.com/nikita-volkov/contravariant-extras")
9161 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
9162 (description "This Haskell package provides extras for the
9163@code{ghc-contravariant} package.")
9164 (license license:expat)))
9165
87129984 9166(define-public ghc-monadrandom
9167 (package
9168 (name "ghc-monadrandom")
d58fda7d 9169 (version "0.5.1.1")
87129984 9170 (source
9171 (origin
9172 (method url-fetch)
9173 (uri (string-append "https://hackage.haskell.org/package/"
9174 "MonadRandom-" version "/"
9175 "MonadRandom-" version ".tar.gz"))
9176 (sha256
9177 (base32
d58fda7d 9178 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
87129984 9179 (build-system haskell-build-system)
9180 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
87129984 9181 ("ghc-primitive" ,ghc-primitive)
9182 ("ghc-fail" ,ghc-fail)
9183 ("ghc-random" ,ghc-random)))
9184 (home-page "https://github.com/byorgey/MonadRandom")
9185 (synopsis "Random-number generation monad for Haskell")
9186 (description "This Haskell package provides support for computations
9187which consume random values.")
9188 (license license:bsd-3)))
9189
16d4125e 9190(define-public ghc-either
9191 (package
9192 (name "ghc-either")
751a8c0b 9193 (version "5.0.1")
16d4125e 9194 (source
9195 (origin
9196 (method url-fetch)
9197 (uri (string-append "https://hackage.haskell.org/package/"
9198 "either-" version "/"
9199 "either-" version ".tar.gz"))
9200 (sha256
9201 (base32
751a8c0b 9202 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
16d4125e 9203 (build-system haskell-build-system)
9204 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
9205 ("ghc-exceptions" ,ghc-exceptions)
9206 ("ghc-free" ,ghc-free)
9207 ("ghc-monad-control" ,ghc-monad-control)
9208 ("ghc-manodrandom" ,ghc-monadrandom)
16d4125e 9209 ("ghc-mmorph" ,ghc-mmorph)
9210 ("ghc-profunctors" ,ghc-profunctors)
9211 ("ghc-semigroups" ,ghc-semigroups)
9212 ("ghc-semigroupoids" ,ghc-semigroupoids)
9213 ("ghc-transformers-base" ,ghc-transformers-base)))
751a8c0b
TS
9214 (native-inputs
9215 `(("ghc-quickcheck" ,ghc-quickcheck)
9216 ("ghc-test-framework" ,ghc-test-framework)
9217 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
16d4125e 9218 (home-page "https://github.com/ekmett/either")
9219 (synopsis "Provides an either monad transformer for Haskell")
9220 (description "This Haskell package provides an either monad transformer.")
9221 (license license:bsd-3)))
933e7804 9222
f78ed5d5 9223(define-public ghc-pretty-hex
9224 (package
9225 (name "ghc-pretty-hex")
9226 (version "1.0")
9227 (source
9228 (origin
9229 (method url-fetch)
9230 (uri (string-append "https://hackage.haskell.org/package/"
9231 "pretty-hex-" version "/"
9232 "pretty-hex-" version ".tar.gz"))
9233 (sha256
9234 (base32
9235 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9236 (build-system haskell-build-system)
9237 (home-page "https://github.com/GaloisInc/hexdump")
9238 (synopsis "Haskell library for hex dumps of ByteStrings")
9239 (description "This Haskell library generates pretty hex dumps of
9240ByteStrings in the style of other common *nix hex dump tools.")
9241 (license license:bsd-3)))
9242
6eda2635 9243(define-public ghc-network-info
9244 (package
9245 (name "ghc-network-info")
e433898d 9246 (version "0.2.0.10")
6eda2635 9247 (source
9248 (origin
9249 (method url-fetch)
9250 (uri (string-append "https://hackage.haskell.org/package/"
9251 "network-info-" version "/"
9252 "network-info-" version ".tar.gz"))
9253 (sha256
9254 (base32
e433898d 9255 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6eda2635 9256 (build-system haskell-build-system)
9257 (home-page "https://github.com/jystic/network-info")
9258 (synopsis "Access the local computer's basic network configuration")
9259 (description "This Haskell library provides simple read-only access to the
9260local computer's networking configuration. It is currently capable of
9261getting a list of all the network interfaces and their respective
9262IPv4, IPv6 and MAC addresses.")
9263 (license license:bsd-3)))
9264
b999b009 9265(define-public ghc-uuid-types
9266 (package
9267 (name "ghc-uuid-types")
9268 (version "1.0.3")
9269 (source
9270 (origin
9271 (method url-fetch)
9272 (uri (string-append "https://hackage.haskell.org/package/"
9273 "uuid-types-" version "/"
9274 "uuid-types-" version ".tar.gz"))
9275 (sha256
9276 (base32
9277 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
9278 (build-system haskell-build-system)
b1c5c8de 9279 (arguments
fe3ecc30
TS
9280 `(#:phases
9281 (modify-phases %standard-phases
9282 (add-before 'configure 'strip-test-framework-constraints
9283 (lambda _
9284 (substitute* "uuid-types.cabal"
9285 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
9286 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
9287 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
9288 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
9289 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
b999b009 9290 (inputs `(("ghc-hashable" ,ghc-hashable)
9291 ("ghc-random" ,ghc-random)
9292 ("ghc-text" ,ghc-text)))
9293 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9294 ("ghc-quickcheck" ,ghc-quickcheck)
9295 ("ghc-tasty" ,ghc-tasty)
9296 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9297 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9298 (home-page "https://github.com/hvr/uuid")
9299 (synopsis "Haskell type definitions for UUIDs")
9300 (description "This Haskell library contains type definitions for
9301@dfn{Universally Unique Identifiers} or
98b90194 9302@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
b999b009 9303functions.")
9304 (license license:bsd-3)))
9305
24535a3d 9306(define-public ghc-uuid
9307 (package
9308 (name "ghc-uuid")
9309 (version "1.3.13")
9310 (source
9311 (origin
9312 (method url-fetch)
9313 (uri (string-append "https://hackage.haskell.org/package/"
9314 "uuid-" version "/"
9315 "uuid-" version ".tar.gz"))
9316 (sha256
9317 (base32
9318 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
9319 (build-system haskell-build-system)
1debc5b9 9320 (arguments
a11ce106
TS
9321 `(#:cabal-revision
9322 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
9323 #:phases
9324 (modify-phases %standard-phases
9325 (add-before 'configure 'strip-test-framework-constraints
9326 (lambda _
9327 (substitute* "uuid.cabal"
9328 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
9329 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
9330 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
9331 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
9332 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
24535a3d 9333 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
9334 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
9335 ("ghc-entropy" ,ghc-entropy)
9336 ("ghc-network-info" ,ghc-network-info)
9337 ("ghc-random" ,ghc-random)
9338 ("ghc-text" ,ghc-text)
9339 ("ghc-uuid-types" ,ghc-uuid-types)))
9340 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9341 ("ghc-quickcheck" ,ghc-quickcheck)
9342 ("ghc-tasty" ,ghc-tasty)
9343 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9344 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9345 (home-page "https://github.com/hvr/uuid")
9346 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
9347 (description "This Haskell library provides utilities creating, comparing,
9348parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
9349 (license license:bsd-3)))
9350
33109c82 9351(define-public ghc-rebase
9352 (package
9353 (name "ghc-rebase")
6d2fd200 9354 (version "1.2.4")
33109c82 9355 (source
9356 (origin
9357 (method url-fetch)
9358 (uri (string-append "https://hackage.haskell.org/package/"
9359 "rebase-" version "/"
9360 "rebase-" version ".tar.gz"))
9361 (sha256
9362 (base32
6d2fd200 9363 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
33109c82 9364 (build-system haskell-build-system)
9365 (inputs `(("ghc-stm" ,ghc-stm)
9366 ("ghc-hashable" ,ghc-hashable)
9367 ("ghc-vector" ,ghc-vector)
9368 ("ghc-unordered-containers" ,ghc-unordered-containers)
9369 ("ghc-text" ,ghc-text)
9370 ("ghc-scientific" ,ghc-scientific)
9371 ("ghc-uuid" ,ghc-uuid)
9372 ("ghc-dlist" ,ghc-dlist)
9373 ("ghc-void" ,ghc-void)
9374 ("ghc-bifunctors" ,ghc-bifunctors)
9375 ("ghc-profunctors" ,ghc-profunctors)
9376 ("ghc-contravariant" ,ghc-contravariant)
9377 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9378 ("ghc-semigroups" ,ghc-semigroups)
33109c82 9379 ("ghc-either" ,ghc-either)
9380 ("ghc-fail" ,ghc-fail)
9381 ("ghc-base-prelude" ,ghc-base-prelude)))
9382 (home-page "https://github.com/nikita-volkov/rebase")
9383 (synopsis "Progressive alternative to the base package
9384for Haskell")
9385 (description "This Haskell package is intended for those who are
9386tired of keeping long lists of dependencies to the same essential libraries
9387in each package as well as the endless imports of the same APIs all over again.
9388
9389It also supports the modern tendencies in the language.
9390
9391To solve those problems this package does the following:
9392
9393@itemize
9394@item Reexport the original APIs under the @code{Rebase} namespace.
9395
9396@item Export all the possible non-conflicting symbols from the
9397@code{Rebase.Prelude} module.
9398
9399@item Give priority to the modern practices in the conflicting cases.
9400@end itemize
9401
9402The policy behind the package is only to reexport the non-ambiguous and
9403non-controversial APIs, which the community has obviously settled on.
9404The package is intended to rapidly evolve with the contribution from
9405the community, with the missing features being added with pull-requests.")
9406 (license license:expat)))
9516ef4f
TS
9407
9408(define-public ghc-rerebase
9409 (package
9410 (name "ghc-rerebase")
9411 (version "1.2.2")
9412 (source
9413 (origin
9414 (method url-fetch)
9415 (uri (string-append
9416 "https://hackage.haskell.org/package/rerebase/rerebase-"
9417 version ".tar.gz"))
9418 (sha256
9419 (base32
9420 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
9421 (build-system haskell-build-system)
9422 (inputs
9423 `(("ghc-rebase" ,ghc-rebase)))
9424 (home-page "https://github.com/nikita-volkov/rerebase")
9425 (synopsis "Reexports from ``base'' with many other standard libraries")
9426 (description "A rich drop-in replacement for ``base''. For details and
9427documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9428the project's home page}.")
9429 (license license:expat)))
33109c82 9430
1896a252 9431(define-public ghc-vector-builder
9432 (package
9433 (name "ghc-vector-builder")
c237721e 9434 (version "0.3.6")
1896a252 9435 (source
9436 (origin
9437 (method url-fetch)
9438 (uri (string-append "https://hackage.haskell.org/package/"
9439 "vector-builder-" version "/"
9440 "vector-builder-" version ".tar.gz"))
9441 (sha256
9442 (base32
c237721e 9443 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
1896a252 9444 (build-system haskell-build-system)
9445 (inputs `(("ghc-vector" ,ghc-vector)
9446 ("ghc-semigroups" ,ghc-semigroups)
9447 ("ghc-base-prelude" ,ghc-base-prelude)))
c237721e
TS
9448 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9449 ("ghc-tasty" ,ghc-tasty)
1896a252 9450 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9451 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9452 ("ghc-hunit" ,ghc-hunit)
9453 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
c237721e 9454 ("ghc-rerebase" ,ghc-rerebase)))
1896a252 9455 (home-page "https://github.com/nikita-volkov/vector-builder")
9456 (synopsis "Vector builder for Haskell")
9457 (description "This Haskell package provides an API for constructing vectors.
9458It provides the composable @code{Builder} abstraction, which has instances of the
9459@code{Monoid} and @code{Semigroup} classes.
9460
9461You would first use the @code{Builder} abstraction to specify the structure of
9462the vector; then you can execute the builder to actually produce the
9463vector. ")
9464 (license license:expat)))
9465
f6094850 9466(define-public ghc-foldl
9467 (package
9468 (name "ghc-foldl")
ca96ba99 9469 (version "1.4.3")
f6094850 9470 (source
9471 (origin
9472 (method url-fetch)
9473 (uri (string-append "https://hackage.haskell.org/package/"
9474 "foldl-" version "/"
9475 "foldl-" version ".tar.gz"))
9476 (sha256
9477 (base32
ca96ba99 9478 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
f6094850 9479 (build-system haskell-build-system)
9480 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
9481 ("ghc-primitive" ,ghc-primitive)
9482 ("ghc-text" ,ghc-text)
9483 ("ghc-vector" ,ghc-vector)
9484 ("ghc-unordered-containers" ,ghc-unordered-containers)
9485 ("ghc-hashable" ,ghc-hashable)
9486 ("ghc-contravariant" ,ghc-contravariant)
ca96ba99 9487 ("ghc-semigroups" ,ghc-semigroups)
f6094850 9488 ("ghc-profunctors" ,ghc-profunctors)
ca96ba99 9489 ("ghc-semigroupoids" ,ghc-semigroupoids)
f6094850 9490 ("ghc-comonad" ,ghc-comonad)
9491 ("ghc-vector-builder" ,ghc-vector-builder)))
9492 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
9493 (synopsis "Composable, streaming, and efficient left folds for Haskell")
9494 (description "This Haskell library provides strict left folds that stream
9495in constant memory, and you can combine folds using @code{Applicative} style
9496to derive new folds. Derived folds still traverse the container just once
9497and are often as efficient as hand-written folds.")
9498 (license license:bsd-3)))
9499
ed4cc0c5 9500(define-public ghc-mono-traversable
9501 (package
9502 (name "ghc-mono-traversable")
74b30be0 9503 (version "1.0.9.0")
ed4cc0c5 9504 (source
9505 (origin
9506 (method url-fetch)
9507 (uri (string-append "https://hackage.haskell.org/package/"
9508 "mono-traversable-" version "/"
9509 "mono-traversable-" version ".tar.gz"))
9510 (sha256
9511 (base32
74b30be0 9512 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
ed4cc0c5 9513 (build-system haskell-build-system)
9514 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9515 ("ghc-hashable" ,ghc-hashable)
9516 ("ghc-text" ,ghc-text)
9517 ("ghc-vector" ,ghc-vector)
9518 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9519 ("ghc-split" ,ghc-split)))
9520 (native-inputs `(("ghc-hspec" ,ghc-hspec)
c695fb76 9521 ("ghc-hunit" ,ghc-hunit)
ed4cc0c5 9522 ("ghc-quickcheck" ,ghc-quickcheck)
9523 ("ghc-semigroups" ,ghc-semigroups)
9524 ("ghc-foldl" ,ghc-foldl)))
9525 (home-page "https://github.com/snoyberg/mono-traversable")
9526 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
9527containers")
9528 (description "This Haskell package provides Monomorphic variants of the
9529Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
9530basic typeclasses, you understand mono-traversable. In addition to what
9531you are used to, it adds on an IsSequence typeclass and has code for marking
9532data structures as non-empty.")
9533 (license license:expat)))
9534
95fb25bf 9535(define-public ghc-conduit-combinators
9536 (package
9537 (name "ghc-conduit-combinators")
37d79707 9538 (version "1.3.0")
95fb25bf 9539 (source
9540 (origin
9541 (method url-fetch)
9542 (uri (string-append "https://hackage.haskell.org/package/"
9543 "conduit-combinators-" version "/"
9544 "conduit-combinators-" version ".tar.gz"))
9545 (sha256
9546 (base32
37d79707 9547 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
95fb25bf 9548 (build-system haskell-build-system)
9549 (inputs `(("ghc-conduit" ,ghc-conduit)
9550 ("ghc-conduit-extra" ,ghc-conduit-extra)
9551 ("ghc-transformers-base" ,ghc-transformers-base)
9552 ("ghc-primitive" ,ghc-primitive)
9553 ("ghc-vector" ,ghc-vector)
9554 ("ghc-text" ,ghc-text)
9555 ("ghc-void" ,ghc-void)
9556 ("ghc-mwc-random" ,ghc-mwc-random)
9557 ("ghc-unix-compat" ,ghc-unix-compat)
9558 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9559 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9560 ("ghc-resourcet" ,ghc-resourcet)
9561 ("ghc-monad-control" ,ghc-monad-control)
9562 ("ghc-chunked-data" ,ghc-chunked-data)
9563 ("ghc-mono-traversable" ,ghc-mono-traversable)))
9564 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9565 ("ghc-silently" ,ghc-silently)
95fb25bf 9566 ("ghc-safe" ,ghc-safe)
9567 ("ghc-quickcheck" ,ghc-quickcheck)))
9568 (home-page "https://github.com/snoyberg/mono-traversable")
9569 (synopsis "Commonly used conduit functions, for both chunked and
9570unchunked data")
9571 (description "This Haskell package provides a replacement for Data.Conduit.List,
9572as well as a convenient Conduit module.")
9573 (license license:expat)))
9574
3a784700 9575(define-public ghc-aws
9576 (package
9577 (name "ghc-aws")
99daa294 9578 (version "0.20")
3a784700 9579 (source
9580 (origin
9581 (method url-fetch)
9582 (uri (string-append "https://hackage.haskell.org/package/"
9583 "aws-" version "/aws-" version ".tar.gz"))
9584 (sha256 (base32
99daa294 9585 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
3a784700 9586 (build-system haskell-build-system)
9587 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
9588 (inputs
9589 `(("ghc-aeson" ,ghc-aeson)
9590 ("ghc-attoparsec" ,ghc-attoparsec)
9591 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9592 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9593 ("ghc-blaze-builder" ,ghc-blaze-builder)
9594 ("ghc-byteable" ,ghc-byteable)
9595 ("ghc-case-insensitive" ,ghc-case-insensitive)
9596 ("ghc-cereal" ,ghc-cereal)
9597 ("ghc-conduit" ,ghc-conduit)
9598 ("ghc-conduit-extra" ,ghc-conduit-extra)
0faddfc3 9599 ("ghc-cryptonite" ,ghc-cryptonite)
3a784700 9600 ("ghc-data-default" ,ghc-data-default)
9601 ("ghc-http-conduit" ,ghc-http-conduit)
9602 ("ghc-http-types" ,ghc-http-types)
456d76ea 9603 ("ghc-lifted-base" ,ghc-lifted-base)
3a784700 9604 ("ghc-monad-control" ,ghc-monad-control)
3a784700 9605 ("ghc-network" ,ghc-network)
9606 ("ghc-old-locale" ,ghc-old-locale)
9607 ("ghc-safe" ,ghc-safe)
9608 ("ghc-scientific" ,ghc-scientific)
9609 ("ghc-tagged" ,ghc-tagged)
9610 ("ghc-text" ,ghc-text)
9611 ("ghc-unordered-containers" ,ghc-unordered-containers)
9612 ("ghc-utf8-string" ,ghc-utf8-string)
9613 ("ghc-vector" ,ghc-vector)
9614 ("ghc-xml-conduit" ,ghc-xml-conduit)))
9615 (native-inputs
9616 `(("ghc-quickcheck" ,ghc-quickcheck)
9617 ("ghc-errors" ,ghc-errors)
9618 ("ghc-http-client" ,ghc-http-client)
9619 ("ghc-http-client-tls" ,ghc-http-client-tls)
9620 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9621 ("ghc-tasty" ,ghc-tasty)
9622 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9623 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9624 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
9625 (home-page "https://github.com/aristidb/aws")
9626 (synopsis "Amazon Web Services for Haskell")
9627 (description "This package attempts to provide support for using
9628Amazon Web Services like S3 (storage), SQS (queuing) and others to
9629Haskell programmers. The ultimate goal is to support all Amazon
9630Web Services.")
9631 (license license:bsd-3)))
9632
da5fe92a
RW
9633(define-public ghc-basement
9634 (package
9635 (name "ghc-basement")
6bacde7c 9636 (version "0.0.8")
da5fe92a
RW
9637 (source
9638 (origin
9639 (method url-fetch)
9640 (uri (string-append "https://hackage.haskell.org/package/"
9641 "basement/basement-" version ".tar.gz"))
9642 (sha256
9643 (base32
6bacde7c 9644 "194jw567di4q2758943q9rrwkbf9gl261my7qc21i9xhyabipx67"))))
da5fe92a
RW
9645 (build-system haskell-build-system)
9646 (home-page "https://github.com/haskell-foundation/foundation")
9647 (synopsis "Basic primitives for Foundation starter pack")
9648 (description
9649 "This package contains basic primitives for the Foundation set of
9650packages.")
9651 (license license:bsd-3)))
9652
635cc8fe
RW
9653(define-public ghc-foundation
9654 (package
9655 (name "ghc-foundation")
95415545 9656 (version "0.0.21")
635cc8fe
RW
9657 (source
9658 (origin
9659 (method url-fetch)
9660 (uri (string-append "https://hackage.haskell.org/package/"
9661 "foundation/foundation-" version ".tar.gz"))
9662 (sha256
9663 (base32
95415545 9664 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
635cc8fe 9665 (build-system haskell-build-system)
95415545
TS
9666 (arguments
9667 `(#:phases
9668 (modify-phases %standard-phases
9669 (add-after 'unpack 'add-setup-script
9670 (lambda _
9671 ;; The usual "Setup.hs" script is missing from the source.
9672 (with-output-to-file "Setup.hs"
9673 (lambda ()
9674 (format #t "import Distribution.Simple~%")
9675 (format #t "main = defaultMain~%"))))))))
635cc8fe
RW
9676 (inputs `(("ghc-basement" ,ghc-basement)))
9677 (home-page "https://github.com/haskell-foundation/foundation")
9678 (synopsis "Alternative prelude with batteries and no dependencies")
9679 (description
9680 "This package provides a custom prelude with no dependencies apart from
9681the base package.
9682
9683Foundation has the following goals:
9684
9685@enumerate
9686@item provide a base like sets of modules that provide a consistent set of
9687 features and bugfixes across multiple versions of GHC (unlike base).
9688@item provide a better and more efficient prelude than base's prelude.
9689@item be self-sufficient: no external dependencies apart from base;
9690@item provide better data-types: packed unicode string by default, arrays;
9691@item Numerical classes that better represent mathematical things (no more
9692 all-in-one @code{Num});
9693@item I/O system with less lazy IO.
9694@end enumerate\n")
9695 (license license:bsd-3)))
9696
bb87be09 9697(define-public ghc-stm-chans
9698 (package
9699 (name "ghc-stm-chans")
9700 (version "3.0.0.4")
9701 (source
9702 (origin
9703 (method url-fetch)
9704 (uri (string-append "https://hackage.haskell.org/package/"
9705 "stm-chans-" version "/"
9706 "stm-chans-" version ".tar.gz"))
9707 (sha256
9708 (base32
9709 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9710 (build-system haskell-build-system)
9711 (inputs `(("ghc-stm" ,ghc-stm)))
9712 (home-page "https://hackage.haskell.org/package/stm-chans")
9713 (synopsis "Additional types of channels for ghc-stm")
9714 (description "This Haskell package offers a collection of channel types,
9715similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9716features.")
9717 (license license:bsd-3)))
9718
fddb41f2 9719(define-public ghc-monad-loops
9720 (package
9721 (name "ghc-monad-loops")
9722 (version "0.4.3")
9723 (source
9724 (origin
9725 (method url-fetch)
9726 (uri (string-append "https://hackage.haskell.org/package/"
9727 "monad-loops-" version "/"
9728 "monad-loops-" version ".tar.gz"))
9729 (sha256
9730 (base32
9731 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
9732 (build-system haskell-build-system)
9733 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9734 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9735 (home-page "https://github.com/mokus0/monad-loops")
9736 (synopsis "Monadic loops for Haskell")
9737 (description "This Haskell package provides some useful control
9738operators for looping.")
9739 (license license:public-domain)))
9740
fe9b5eff 9741(define-public ghc-monad-logger
9742 (package
9743 (name "ghc-monad-logger")
6f7280b0 9744 (version "0.3.29")
fe9b5eff 9745 (source
9746 (origin
9747 (method url-fetch)
9748 (uri (string-append "https://hackage.haskell.org/package/"
9749 "monad-logger-" version "/"
9750 "monad-logger-" version ".tar.gz"))
9751 (sha256
9752 (base32
6f7280b0 9753 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
fe9b5eff 9754 (build-system haskell-build-system)
9755 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
9756 ("ghc-text" ,ghc-text)
9757 ("ghc-stm" ,ghc-stm)
9758 ("ghc-stm-chans" ,ghc-stm-chans)
9759 ("ghc-lifted-base" ,ghc-lifted-base)
9760 ("ghc-resourcet" ,ghc-resourcet)
9761 ("ghc-conduit" ,ghc-conduit)
9762 ("ghc-conduit-extra" ,ghc-conduit-extra)
9763 ("ghc-fast-logger" ,ghc-fast-logger)
9764 ("ghc-transformers-base" ,ghc-transformers-base)
9765 ("ghc-monad-control" ,ghc-monad-control)
9766 ("ghc-monad-loops" ,ghc-monad-loops)
fe9b5eff 9767 ("ghc-blaze-builder" ,ghc-blaze-builder)
9768 ("ghc-exceptions" ,ghc-exceptions)))
9769 (home-page "https://github.com/kazu-yamamoto/logger")
9770 (synopsis "Provides a class of monads which can log messages for Haskell")
9771 (description "This Haskell package uses a monad transformer approach
9772for logging.
9773
9774This package provides Template Haskell functions for determining source
9775code locations of messages.")
9776 (license license:expat)))
9777
b2b4575d 9778(define-public ghc-shakespeare
9779 (package
9780 (name "ghc-shakespeare")
01a67f89 9781 (version "2.0.15")
b2b4575d 9782 (source
9783 (origin
9784 (method url-fetch)
9785 (uri (string-append "https://hackage.haskell.org/package/"
9786 "shakespeare-" version "/"
9787 "shakespeare-" version ".tar.gz"))
9788 (sha256
9789 (base32
01a67f89 9790 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
b2b4575d 9791 (build-system haskell-build-system)
9792 (inputs `(("ghc-parsec" ,ghc-parsec)
9793 ("ghc-text" ,ghc-text)
9794 ("ghc-aeson" ,ghc-aeson)
9795 ("ghc-blaze-markup" ,ghc-blaze-markup)
9796 ("ghc-blaze-html" ,ghc-blaze-html)
9797 ("ghc-exceptions" ,ghc-exceptions)
9798 ("ghc-vector" ,ghc-vector)
9799 ("ghc-unordered-containers" ,ghc-unordered-containers)
9800 ("ghc-scientific" ,ghc-scientific)))
9801 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9802 ("ghc-hunit" ,ghc-hunit)
9803 ("hspec-discover" ,hspec-discover)))
9804 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9805 (synopsis "Family of type-safe template languages for Haskell")
9806 (description "This Haskell package provides a family of type-safe
9807templates with simple variable interpolation. Shakespeare templates can
9808be used inline with a quasi-quoter or in an external file and it
9809interpolates variables according to the type being inserted.")
9810 (license license:expat)))
9811
54f3536d 9812(define-public ghc-securemem
9813 (package
9814 (name "ghc-securemem")
4828f040 9815 (version "0.1.10")
54f3536d 9816 (source
9817 (origin
9818 (method url-fetch)
9819 (uri (string-append "https://hackage.haskell.org/package/"
9820 "securemem-" version "/"
9821 "securemem-" version ".tar.gz"))
9822 (sha256
9823 (base32
4828f040 9824 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
54f3536d 9825 (build-system haskell-build-system)
9826 (inputs `(("ghc-byteable" ,ghc-byteable)
9827 ("ghc-memory" ,ghc-memory)))
9828 (home-page "https://github.com/vincenthz/hs-securemem")
9829 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9830Haskell")
9831 (description "SecureMem is similar to ByteString, except that it provides
9832a memory chunk that will be auto-scrubbed after it run out of scope.")
9833 (license license:bsd-3)))
9834
d96a1bfe 9835(define-public ghc-resource-pool
9836 (package
9837 (name "ghc-resource-pool")
9838 (version "0.2.3.2")
9839 (source
9840 (origin
9841 (method url-fetch)
9842 (uri (string-append "https://hackage.haskell.org/package/"
9843 "resource-pool-" version "/"
9844 "resource-pool-" version ".tar.gz"))
9845 (sha256
9846 (base32
9847 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9848 (build-system haskell-build-system)
9849 (inputs `(("ghc-hashable" ,ghc-hashable)
9850 ("ghc-monad-control" ,ghc-monad-control)
9851 ("ghc-transformers-base" ,ghc-transformers-base)
9852 ("ghc-stm" ,ghc-stm)
9853 ("ghc-vector" ,ghc-vector)))
9854 (home-page "https://github.com/bos/pool")
9855 (synopsis "Striped resource pooling implementation in Haskell")
9856 (description "This Haskell package provides striped pooling abstraction
9857for managing flexibly-sized collections of resources such as database
9858connections.")
9859 (license license:bsd-3)))
9860
ac7cdb40 9861(define-public ghc-attoparsec-iso8601
9862 (package
9863 (name "ghc-attoparsec-iso8601")
9864 (version "1.0.0.0")
9865 (source
9866 (origin
9867 (method url-fetch)
9868 (uri (string-append "https://hackage.haskell.org/package/"
9869 "attoparsec-iso8601-" version "/"
9870 "attoparsec-iso8601-" version ".tar.gz"))
9871 (sha256
9872 (base32
9873 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
9874 (build-system haskell-build-system)
8e4394a5
TS
9875 (arguments
9876 `(#:cabal-revision
9877 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
ac7cdb40 9878 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9879 ("ghc-base-compat" ,ghc-base-compat)
9880 ("ghc-text" ,ghc-text)))
9881 (home-page "https://github.com/bos/aeson")
9882 (synopsis "Parse ISO 8601 dates")
9883 (description "Haskell library for parsing of ISO 8601 dates, originally
9884from aeson.")
9885 (license license:bsd-3)))
9886
e99bd15c 9887(define-public ghc-generics-sop
9888 (package
9889 (name "ghc-generics-sop")
acf13271 9890 (version "0.3.2.0")
e99bd15c 9891 (source
9892 (origin
9893 (method url-fetch)
9894 (uri (string-append "https://hackage.haskell.org/package/"
9895 "generics-sop-" version "/"
9896 "generics-sop-" version ".tar.gz"))
9897 (sha256
9898 (base32
acf13271 9899 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
e99bd15c 9900 (build-system haskell-build-system)
9901 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9902 (home-page "https://github.com/well-typed/generics-sop")
9903 (synopsis "Generic Programming using True Sums of Products for Haskell")
9904 (description "This Haskell package supports the definition of generic
9905functions. Datatypes are viewed in a uniform, structured way: the choice
9906between constructors is represented using an n-ary sum, and the arguments of
9907each constructor are represented using an n-ary product.")
9908 (license license:bsd-3)))
9909
8ecefe72 9910(define-public ghc-uri-bytestring
9911 (package
9912 (name "ghc-uri-bytestring")
bad349d8 9913 (version "0.3.2.0")
8ecefe72 9914 (source
9915 (origin
9916 (method url-fetch)
9917 (uri (string-append "https://hackage.haskell.org/package/"
9918 "uri-bytestring-" version "/"
9919 "uri-bytestring-" version ".tar.gz"))
9920 (sha256
9921 (base32
bad349d8 9922 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
8ecefe72 9923 (build-system haskell-build-system)
9924 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9925 ("ghc-fail" ,ghc-fail)
9926 ("ghc-blaze-builder" ,ghc-blaze-builder)
9927 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
9928 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9929 ("ghc-hunit" ,ghc-hunit)
9930 ("ghc-quickcheck" ,ghc-quickcheck)
9931 ("ghc-tasty" ,ghc-tasty)
9932 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9933 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9934 ("ghc-base-compat" ,ghc-base-compat)
9935 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9936 ("ghc-semigroups" ,ghc-semigroups)
9937 ("ghc-generics-sop" ,ghc-generics-sop)))
9938 (home-page "https://github.com/Soostone/uri-bytestring")
9939 (synopsis "Haskell URI parsing as ByteStrings")
9940 (description "This Haskell package aims to be an RFC3986 compliant URI
9941parser that uses ByteStrings for parsing and representing the URI data.")
9942 (license license:bsd-3)))
9943
b6d8ea42 9944(define-public ghc-http-api-data
9945 (package
9946 (name "ghc-http-api-data")
de02e56b 9947 (version "0.3.8.1")
b6d8ea42 9948 (source
9949 (origin
9950 (method url-fetch)
9951 (uri (string-append "https://hackage.haskell.org/package/"
9952 "http-api-data-" version "/"
9953 "http-api-data-" version ".tar.gz"))
9954 (sha256
9955 (base32
de02e56b 9956 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
b6d8ea42 9957 (build-system haskell-build-system)
9958 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
9959 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9960 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
9961 ("ghc-hashable" ,ghc-hashable)
9962 ("ghc-http-types" ,ghc-http-types)
9963 ("ghc-text" ,ghc-text)
9964 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9965 ("ghc-unordered-containers" ,ghc-unordered-containers)
9966 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
9967 ("ghc-uuid-types" ,ghc-uuid-types)))
9968 (home-page "https://github.com/fizruk/http-api-data")
9969 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
9970query parameters")
9971 (description "This Haskell package defines typeclasses used for converting
9972Haskell data types to and from HTTP API data.")
9973 (license license:bsd-3)))
9974
104e179d 9975(define-public ghc-persistent
9976 (package
9977 (name "ghc-persistent")
bc368781 9978 (version "2.8.2")
104e179d 9979 (source
9980 (origin
9981 (method url-fetch)
9982 (uri (string-append "https://hackage.haskell.org/package/"
9983 "persistent-" version "/"
9984 "persistent-" version ".tar.gz"))
9985 (sha256
9986 (base32
bc368781 9987 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
104e179d 9988 (build-system haskell-build-system)
9989 (inputs `(("ghc-old-locale" ,ghc-old-locale)
9990 ("ghc-text" ,ghc-text)
9991 ("ghc-conduit" ,ghc-conduit)
9992 ("ghc-resourcet" ,ghc-resourcet)
9993 ("ghc-exceptions" ,ghc-exceptions)
9994 ("ghc-monad-control" ,ghc-monad-control)
9995 ("ghc-lifted-base" ,ghc-lifted-base)
9996 ("ghc-resource-pool" ,ghc-resource-pool)
9997 ("ghc-path-pieces" ,ghc-path-pieces)
9998 ("ghc-http-api-data" ,ghc-http-api-data)
9999 ("ghc-aeson" ,ghc-aeson)
10000 ("ghc-monad-logger" ,ghc-monad-logger)
10001 ("ghc-transformers-base" ,ghc-transformers-base)
10002 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10003 ("ghc-unordered-containers" ,ghc-unordered-containers)
10004 ("ghc-vector" ,ghc-vector)
10005 ("ghc-attoparsec" ,ghc-attoparsec)
10006 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
10007 ("ghc-blaze-html" ,ghc-blaze-html)
10008 ("ghc-blaze-markup" ,ghc-blaze-markup)
10009 ("ghc-silently" ,ghc-silently)
104e179d 10010 ("ghc-fast-logger" ,ghc-fast-logger)
10011 ("ghc-scientific" ,ghc-scientific)
bc368781
TS
10012 ("ghc-tagged" ,ghc-tagged)
10013 ("ghc-void" ,ghc-void)))
104e179d 10014 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10015 (home-page "https://www.yesodweb.com/book/persistent")
10016 (synopsis "Type-safe, multi-backend data serialization for Haskell")
10017 (description "This Haskell package allows Haskell programs to access data
10018storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
10019way.")
10020 (license license:expat)))
10021
0f163f65 10022(define-public ghc-aeson-compat
10023 (package
10024 (name "ghc-aeson-compat")
22b5a1a4 10025 (version "0.3.8")
0f163f65 10026 (source
10027 (origin
10028 (method url-fetch)
10029 (uri (string-append "https://hackage.haskell.org/package/"
10030 "aeson-compat-" version "/"
10031 "aeson-compat-" version ".tar.gz"))
10032 (sha256
10033 (base32
22b5a1a4 10034 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
0f163f65 10035 (build-system haskell-build-system)
10036 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
10037 (inputs `(("ghc-base-compat" ,ghc-base-compat)
10038 ("ghc-aeson" ,ghc-aeson)
10039 ("ghc-attoparsec" ,ghc-attoparsec)
10040 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
10041 ("ghc-exceptions" ,ghc-exceptions)
10042 ("ghc-hashable" ,ghc-hashable)
10043 ("ghc-scientific" ,ghc-scientific)
10044 ("ghc-text" ,ghc-text)
10045 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10046 ("ghc-unordered-containers" ,ghc-unordered-containers)
10047 ("ghc-vector" ,ghc-vector)
10048 ("ghc-tagged" ,ghc-tagged)
10049 ("ghc-semigroups" ,ghc-semigroups)
10050 ("ghc-nats" ,ghc-nats)))
10051 (home-page "https://github.com/phadej/aeson-compat")
10052 (synopsis "Compatibility layer for ghc-aeson")
10053 (description "This Haskell package provides compatibility layer for
10054ghc-aeson.")
10055 (license license:bsd-3)))
10056
8434594d 10057(define-public ghc-persistent-template
10058 (package
10059 (name "ghc-persistent-template")
e4bc57c8 10060 (version "2.5.4")
8434594d 10061 (source
10062 (origin
10063 (method url-fetch)
10064 (uri (string-append "https://hackage.haskell.org/package/"
10065 "persistent-template-" version "/"
10066 "persistent-template-" version ".tar.gz"))
10067 (sha256
10068 (base32
e4bc57c8 10069 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
8434594d 10070 (build-system haskell-build-system)
e4bc57c8
TS
10071 (arguments
10072 `(#:cabal-revision
10073 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
8434594d 10074 (inputs `(("ghc-persistent" ,ghc-persistent)
10075 ("ghc-monad-control" ,ghc-monad-control)
10076 ("ghc-text" ,ghc-text)
10077 ("ghc-aeson" ,ghc-aeson)
10078 ("ghc-aeson-compat" ,ghc-aeson-compat)
10079 ("ghc-monad-logger" ,ghc-monad-logger)
10080 ("ghc-unordered-containers" ,ghc-unordered-containers)
10081 ("ghc-tagged" ,ghc-tagged)
10082 ("ghc-path-pieces" ,ghc-path-pieces)
10083 ("ghc-http-api-data" ,ghc-http-api-data)))
10084 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10085 ("ghc-quickcheck" ,ghc-quickcheck)))
10086 (home-page "https://www.yesodweb.com/book/persistent")
10087 (synopsis "Type-safe, non-relational, multi-backend persistence")
10088 (description "This Haskell package provides interfaces and helper
10089functions for the ghc-persistent package.")
10090 (license license:expat)))
10091
d5c34f9b 10092(define-public ghc-unliftio-core
10093 (package
10094 (name "ghc-unliftio-core")
10095 (version "0.1.1.0")
10096 (source
10097 (origin
10098 (method url-fetch)
10099 (uri (string-append "https://hackage.haskell.org/package/"
10100 "unliftio-core-" version "/"
10101 "unliftio-core-" version ".tar.gz"))
10102 (sha256
10103 (base32
10104 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10105 (build-system haskell-build-system)
f871a555
TS
10106 (arguments
10107 `(#:cabal-revision
10108 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
d5c34f9b 10109 (home-page
10110 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10111 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10112 (description "This Haskell package provides the core @code{MonadUnliftIO}
10113typeclass, instances for base and transformers, and basic utility
10114functions.")
10115 (license license:expat)))
10116
1c225fab 10117(define-public ghc-microlens
10118 (package
10119 (name "ghc-microlens")
f06b5f23 10120 (version "0.4.9.1")
1c225fab 10121 (source
10122 (origin
10123 (method url-fetch)
10124 (uri (string-append "https://hackage.haskell.org/package/"
10125 "microlens-" version "/"
10126 "microlens-" version ".tar.gz"))
10127 (sha256
10128 (base32
f06b5f23 10129 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
1c225fab 10130 (build-system haskell-build-system)
10131 (home-page
10132 "https://github.com/aelve/microlens")
10133 (synopsis "Provides a tiny lens Haskell library with no dependencies")
10134 (description "This Haskell package provides a lens library, just like
10135@code{ghc-lens}, but smaller. It provides essential lenses and
10136traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
10137nice to have (like @code{each}, @code{at}, and @code{ix}), and some
10138combinators (like @code{failing} and @code{singular}), but everything else is
10139stripped. As the result, this package has no dependencies.")
10140 (license license:bsd-3)))
10141
82e0b0e2 10142(define-public ghc-microlens-th
10143 (package
10144 (name "ghc-microlens-th")
c1812226 10145 (version "0.4.2.2")
82e0b0e2 10146 (source
10147 (origin
10148 (method url-fetch)
10149 (uri (string-append "https://hackage.haskell.org/package/"
10150 "microlens-th-" version "/"
10151 "microlens-th-" version ".tar.gz"))
10152 (sha256
10153 (base32
c1812226 10154 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
82e0b0e2 10155 (build-system haskell-build-system)
c1812226
TS
10156 (inputs `(("ghc-microlens" ,ghc-microlens)
10157 ("ghc-th-abstraction" ,ghc-th-abstraction)))
82e0b0e2 10158 (home-page
10159 "https://github.com/aelve/microlens")
10160 (synopsis "Automatic generation of record lenses for
10161@code{ghc-microlens}")
10162 (description "This Haskell package lets you automatically generate lenses
10163for data types; code was extracted from the lens package, and therefore
10164generated lenses are fully compatible with ones generated by lens (and can be
10165used both from lens and microlens).")
10166 (license license:bsd-3)))
10167
e85c58ed 10168(define-public ghc-unliftio
10169 (package
10170 (name "ghc-unliftio")
96d214a6 10171 (version "0.2.7.0")
e85c58ed 10172 (source
10173 (origin
10174 (method url-fetch)
10175 (uri (string-append
10176 "https://hackage.haskell.org/package/unliftio/unliftio-"
10177 version
10178 ".tar.gz"))
10179 (sha256
10180 (base32
96d214a6 10181 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
e85c58ed 10182 (build-system haskell-build-system)
10183 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10184 (inputs
10185 `(("ghc-async" ,ghc-async)
10186 ("ghc-stm" ,ghc-stm)
10187 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10188 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10189 (home-page "https://github.com/fpco/unliftio")
10190 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10191IO (batteries included)")
10192 (description "This Haskell package provides the core @code{MonadUnliftIO}
10193typeclass, a number of common instances, and a collection of common functions
10194working with it.")
10195 (license license:expat)))
10196
e01a8fcc 10197(define-public ghc-persistent-sqlite
10198 (package
10199 (name "ghc-persistent-sqlite")
7eee87e6 10200 (version "2.8.2")
e01a8fcc 10201 (source
10202 (origin
10203 (method url-fetch)
10204 (uri (string-append "https://hackage.haskell.org/package/"
10205 "persistent-sqlite-" version "/"
10206 "persistent-sqlite-" version ".tar.gz"))
10207 (sha256
10208 (base32
7eee87e6 10209 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
e01a8fcc 10210 (build-system haskell-build-system)
10211 (inputs `(("ghc-persistent" ,ghc-persistent)
10212 ("ghc-unliftio-core" ,ghc-unliftio-core)
10213 ("ghc-aeson" ,ghc-aeson)
10214 ("ghc-conduit" ,ghc-conduit)
10215 ("ghc-monad-logger" ,ghc-monad-logger)
10216 ("ghc-microlens-th" ,ghc-microlens-th)
10217 ("ghc-resourcet" ,ghc-resourcet)
10218 ("ghc-old-locale" ,ghc-old-locale)
10219 ("ghc-resource-pool" ,ghc-resource-pool)
10220 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10221 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10222 ("ghc-persistent-template" ,ghc-persistent-template)
10223 ("ghc-temporary" ,ghc-temporary)
10224 ("ghc-text" ,ghc-text)))
10225 (home-page
10226 "https://www.yesodweb.com/book/persistent")
10227 (synopsis "Backend for the persistent library using sqlite3")
10228 (description "This Haskell package includes a thin sqlite3 wrapper based
10229on the direct-sqlite package, as well as the entire C library, so there are no
10230system dependencies.")
10231 (license license:expat)))
10232
b50e1c89 10233(define-public ghc-email-validate
10234 (package
10235 (name "ghc-email-validate")
146198f8 10236 (version "2.3.2.6")
b50e1c89 10237 (source
10238 (origin
10239 (method url-fetch)
10240 (uri (string-append
10241 "https://hackage.haskell.org/package/"
10242 "email-validate/email-validate-"
10243 version
10244 ".tar.gz"))
10245 (sha256
10246 (base32
146198f8 10247 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
b50e1c89 10248 (build-system haskell-build-system)
10249 (inputs
10250 `(("ghc-attoparsec" ,ghc-attoparsec)
10251 ("ghc-hspec" ,ghc-hspec)
10252 ("ghc-quickcheck" ,ghc-quickcheck)
10253 ("ghc-doctest" ,ghc-doctest)))
10254 (home-page
10255 "https://github.com/Porges/email-validate-hs")
10256 (synopsis "Email address validator for Haskell")
10257 (description
10258 "This Haskell package provides a validator that can validate an email
10259address string against RFC 5322.")
10260 (license license:bsd-3)))
10261
dea5c0b8 10262(define-public ghc-bytes
7d4e377f 10263 (package
dea5c0b8 10264 (name "ghc-bytes")
40a8d076 10265 (version "0.15.5")
7d4e377f
T
10266 (source
10267 (origin
10268 (method url-fetch)
10269 (uri
dea5c0b8
T
10270 (string-append "https://hackage.haskell.org/package/bytes-"
10271 version "/bytes-"
7d4e377f
T
10272 version ".tar.gz"))
10273 (file-name (string-append name "-" version ".tar.gz"))
10274 (sha256
10275 (base32
40a8d076 10276 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
7d4e377f 10277 (build-system haskell-build-system)
dea5c0b8
T
10278 (inputs `(("ghc-cereal" ,ghc-cereal)
10279 ("cabal-doctest" ,cabal-doctest)
40a8d076 10280 ("ghc-doctest" ,ghc-doctest)
dea5c0b8
T
10281 ("ghc-scientific" ,ghc-scientific)
10282 ("ghc-text" ,ghc-text)
10283 ("ghc-transformers-compat" ,ghc-transformers-compat)
10284 ("ghc-unordered-containers" ,ghc-unordered-containers)
10285 ("ghc-void" ,ghc-void)
10286 ("ghc-vector" ,ghc-vector)))
10287 (synopsis "Serialization between @code{binary} and @code{cereal}")
10288 (description "This package provides a simple compatibility shim that lets
10289you work with both @code{binary} and @code{cereal} with one chunk of
10290serialization code.")
10291 (home-page "https://hackage.haskell.org/package/bytes")
7d4e377f
T
10292 (license license:bsd-3)))
10293
4e5d9bf2
TS
10294(define-public ghc-disk-free-space
10295 (package
10296 (name "ghc-disk-free-space")
10297 (version "0.1.0.1")
10298 (source
10299 (origin
10300 (method url-fetch)
10301 (uri (string-append "https://hackage.haskell.org/package/"
10302 "disk-free-space/disk-free-space-"
10303 version ".tar.gz"))
10304 (sha256
10305 (base32
10306 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
10307 (build-system haskell-build-system)
10308 (home-page "https://github.com/redneb/disk-free-space")
10309 (synopsis "Retrieve information about disk space usage")
10310 (description "A cross-platform library for retrieving information about
10311disk space usage.")
10312 (license license:bsd-3)))
10313
66413378
DM
10314(define-public ghc-xdg-basedir
10315 (package
10316 (name "ghc-xdg-basedir")
10317 (version "0.2.2")
10318 (source
10319 (origin
10320 (method url-fetch)
10321 (uri (string-append
10322 "https://hackage.haskell.org/package/xdg-basedir/"
10323 "xdg-basedir-" version ".tar.gz"))
10324 (sha256
10325 (base32
10326 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
10327 (build-system haskell-build-system)
10328 (home-page "http://github.com/willdonnelly/xdg-basedir")
10329 (synopsis "XDG Base Directory library for Haskell")
10330 (description "This package provides a library implementing the XDG Base Directory spec.")
10331 (license license:bsd-3)))
10332
19395aec
RW
10333(define-public ghc-errorcall-eq-instance
10334 (package
10335 (name "ghc-errorcall-eq-instance")
10336 (version "0.3.0")
10337 (source
10338 (origin
10339 (method url-fetch)
10340 (uri (string-append "https://hackage.haskell.org/package/"
10341 "errorcall-eq-instance/errorcall-eq-instance-"
10342 version ".tar.gz"))
10343 (sha256
10344 (base32
10345 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
10346 (build-system haskell-build-system)
10347 (inputs
10348 `(("ghc-base-orphans" ,ghc-base-orphans)))
10349 (native-inputs
10350 `(("ghc-quickcheck" ,ghc-quickcheck)
10351 ("ghc-hspec" ,ghc-hspec)
10352 ("hspec-discover" ,hspec-discover)))
10353 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
10354 (synopsis "Orphan Eq instance for ErrorCall")
10355 (description
10356 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
10357This package provides an orphan instance.")
10358 (license license:expat)))
10359
ea6ffd3c
RW
10360(define-public ghc-missingh
10361 (package
10362 (name "ghc-missingh")
10363 (version "1.4.0.1")
10364 (source
10365 (origin
10366 (method url-fetch)
10367 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
10368 "MissingH-" version ".tar.gz"))
10369 (sha256
10370 (base32
10371 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
10372 (build-system haskell-build-system)
10373 ;; Tests require the unmaintained testpack package, which depends on the
10374 ;; outdated QuickCheck version 2.7, which can no longer be built with
10375 ;; recent versions of GHC and Haskell libraries.
10376 (arguments '(#:tests? #f))
10377 (inputs
10378 `(("ghc-network" ,ghc-network)
10379 ("ghc-parsec" ,ghc-parsec)
ea6ffd3c
RW
10380 ("ghc-hunit" ,ghc-hunit)
10381 ("ghc-regex-compat" ,ghc-regex-compat)
10382 ("ghc-hslogger" ,ghc-hslogger)
10383 ("ghc-random" ,ghc-random)
10384 ("ghc-old-time" ,ghc-old-time)
10385 ("ghc-old-locale" ,ghc-old-locale)))
10386 (native-inputs
10387 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
10388 ("ghc-quickcheck" ,ghc-quickcheck)
10389 ("ghc-hunit" ,ghc-hunit)))
10390 (home-page "http://software.complete.org/missingh")
10391 (synopsis "Large utility library")
10392 (description
10393 "MissingH is a library of all sorts of utility functions for Haskell
10394programmers. It is written in pure Haskell and thus should be extremely
10395portable and easy to use.")
10396 (license license:bsd-3)))
10397
657d220d
RW
10398(define-public ghc-intervalmap
10399 (package
10400 (name "ghc-intervalmap")
10401 (version "0.6.0.0")
10402 (source
10403 (origin
10404 (method url-fetch)
10405 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
10406 "IntervalMap-" version ".tar.gz"))
10407 (sha256
10408 (base32
10409 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
10410 (build-system haskell-build-system)
10411 (native-inputs
10412 `(("ghc-quickcheck" ,ghc-quickcheck)))
10413 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
10414 (synopsis "Containers for intervals, with efficient search")
10415 (description
10416 "This package provides ordered containers of intervals, with efficient
10417search for all keys containing a point or overlapping an interval. See the
10418example code on the home page for a quick introduction.")
10419 (license license:bsd-3)))
10420
2e72967b
RW
10421(define-public ghc-operational
10422 (package
10423 (name "ghc-operational")
10424 (version "0.2.3.5")
10425 (source
10426 (origin
10427 (method url-fetch)
10428 (uri (string-append "https://hackage.haskell.org/package/operational/"
10429 "operational-" version ".tar.gz"))
10430 (sha256
10431 (base32
10432 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
10433 (build-system haskell-build-system)
10434 (inputs
f54f0475 10435 `(("ghc-random" ,ghc-random)))
2e72967b
RW
10436 (home-page "http://wiki.haskell.org/Operational")
10437 (synopsis "Implementation of difficult monads made easy with operational semantics")
10438 (description
10439 "This library makes it easy to implement monads with tricky control
10440flow. This is useful for: writing web applications in a sequential style,
10441programming games with a uniform interface for human and AI players and easy
10442replay capababilities, implementing fast parser monads, designing monadic
10443DSLs, etc.")
10444 (license license:bsd-3)))
10445
cd447603
RW
10446(define-public ghc-gtk2hs-buildtools
10447 (package
10448 (name "ghc-gtk2hs-buildtools")
10449 (version "0.13.4.0")
10450 (source
10451 (origin
10452 (method url-fetch)
10453 (uri (string-append "https://hackage.haskell.org/package/"
10454 "gtk2hs-buildtools/gtk2hs-buildtools-"
10455 version ".tar.gz"))
10456 (sha256
10457 (base32
10458 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
10459 (build-system haskell-build-system)
10460 (inputs
10461 `(("ghc-random" ,ghc-random)
10462 ("ghc-hashtables" ,ghc-hashtables)))
10463 (native-inputs
10464 `(("ghc-alex" ,ghc-alex)
10465 ("ghc-happy" ,ghc-happy)))
10466 (home-page "http://projects.haskell.org/gtk2hs/")
10467 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
10468 (description
10469 "This package provides a set of helper programs necessary to build the
10470Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
10471that is used to generate FFI declarations, a tool to build a type hierarchy
10472that mirrors the C type hierarchy of GObjects found in glib, and a generator
10473for signal declarations that are used to call back from C to Haskell. These
10474tools are not needed to actually run Gtk2Hs programs.")
10475 (license license:gpl2)))
10476
42744c1d
RW
10477(define-public ghc-chart
10478 (package
10479 (name "ghc-chart")
6dde5b8f 10480 (version "1.9")
42744c1d
RW
10481 (source
10482 (origin
10483 (method url-fetch)
10484 (uri (string-append "https://hackage.haskell.org/package/Chart/"
10485 "Chart-" version ".tar.gz"))
10486 (sha256
10487 (base32
6dde5b8f 10488 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
42744c1d
RW
10489 (build-system haskell-build-system)
10490 (inputs
10491 `(("ghc-old-locale" ,ghc-old-locale)
42744c1d
RW
10492 ("ghc-lens" ,ghc-lens)
10493 ("ghc-colour" ,ghc-colour)
10494 ("ghc-data-default-class" ,ghc-data-default-class)
10495 ("ghc-operational" ,ghc-operational)
10496 ("ghc-vector" ,ghc-vector)))
10497 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10498 (synopsis "Library for generating 2D charts and plots")
10499 (description
10500 "This package provides a library for generating 2D charts and plots, with
10501backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
10502 (license license:bsd-3)))
10503
9c4b522f
AI
10504(define-public ghc-wcwidth
10505 (package
10506 (name "ghc-wcwidth")
10507 (version "0.0.2")
10508 (source
10509 (origin
10510 (method url-fetch)
10511 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
10512 version ".tar.gz"))
10513 (sha256
10514 (base32
10515 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
10516 (build-system haskell-build-system)
10517 (inputs
10518 `(("ghc-setlocale" ,ghc-setlocale)
10519 ("ghc-utf8-string" ,ghc-utf8-string)
f9f4578b 10520 ("ghc-attoparsec" ,ghc-attoparsec)))
9c4b522f
AI
10521 (home-page "https://github.com/solidsnack/wcwidth/")
10522 (synopsis "Haskell bindings to wcwidth")
10523 (description "This package provides Haskell bindings to your system's
10524native wcwidth and a command line tool to examine the widths assigned by it.
10525The command line tool can compile a width table to Haskell code that assigns
10526widths to the Char type.")
10527 (license license:bsd-3)))
10528
9d1944a4
TS
10529(define-public ghc-wcwidth-bootstrap
10530 (package
10531 (inherit ghc-wcwidth)
10532 (name "ghc-wcwidth-bootstrap")
10533 (inputs
10534 `(("ghc-setlocale" ,ghc-setlocale)
10535 ("ghc-utf8-string" ,ghc-utf8-string)
10536 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
10537 (properties '(hidden? #t))))
10538
12ce5d31
TS
10539(define-public ghc-rio
10540 (package
10541 (name "ghc-rio")
10542 (version "0.1.5.0")
10543 (source
10544 (origin
10545 (method url-fetch)
10546 (uri (string-append
10547 "https://hackage.haskell.org/package/rio/rio-"
10548 version ".tar.gz"))
10549 (sha256
10550 (base32
10551 "064h8a4hp53a479d3ak0vmqbx8hi0cpg7zn4wp23rjy26dka8p7g"))))
10552 (build-system haskell-build-system)
10553 (arguments
10554 `(#:phases
10555 (modify-phases %standard-phases
10556 (add-after 'unpack 'add-setup-script
10557 (lambda _
10558 ;; The usual "Setup.hs" script is missing from the source.
10559 (with-output-to-file "Setup.hs"
10560 (lambda ()
10561 (format #t "import Distribution.Simple~%")
10562 (format #t "main = defaultMain~%"))))))))
10563 (inputs
10564 `(("ghc-exceptions" ,ghc-exceptions)
10565 ("ghc-hashable" ,ghc-hashable)
10566 ("ghc-microlens" ,ghc-microlens)
10567 ("ghc-primitive" ,ghc-primitive)
10568 ("ghc-text" ,ghc-text)
10569 ("ghc-typed-process" ,ghc-typed-process)
10570 ("ghc-unliftio" ,ghc-unliftio)
10571 ("ghc-unordered-containers" ,ghc-unordered-containers)
10572 ("ghc-vector" ,ghc-vector)))
10573 (native-inputs
10574 `(("ghc-hspec" ,ghc-hspec)
10575 ("hspec-discover" ,hspec-discover)))
10576 (home-page "https://github.com/commercialhaskell/rio#readme")
10577 (synopsis "A standard library for Haskell")
10578 (description "This package works as a prelude replacement for Haskell,
10579providing more functionality and types out of the box than the standard
10580prelude (such as common data types like @code{ByteString} and
10581@code{Text}), as well as removing common ``gotchas'', like partial
10582functions and lazy I/O. The guiding principle here is:
10583@itemize
10584@item If something is safe to use in general and has no expected naming
10585conflicts, expose it.
10586@item If something should not always be used, or has naming conflicts,
10587expose it from another module in the hierarchy.
10588@end itemize")
10589 (license license:expat)))
10590
7df25c77
RW
10591(define-public ghc-cairo
10592 (package
10593 (name "ghc-cairo")
10594 (version "0.13.5.0")
10595 (source
10596 (origin
10597 (method url-fetch)
10598 (uri (string-append "https://hackage.haskell.org/package/cairo/"
10599 "cairo-" version ".tar.gz"))
10600 (sha256
10601 (base32
10602 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
10603 (build-system haskell-build-system)
10604 (arguments
10605 `(#:modules ((guix build haskell-build-system)
10606 (guix build utils)
10607 (ice-9 match)
10608 (srfi srfi-26))
10609 #:phases
10610 (modify-phases %standard-phases
10611 ;; FIXME: This is a copy of the standard configure phase with a tiny
10612 ;; difference: this package needs the -package-db flag to be passed
10613 ;; to "runhaskell" in addition to the "configure" action, because it
10614 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
10615 ;; this option the Setup.hs file cannot be evaluated. The
10616 ;; haskell-build-system should be changed to pass "-package-db" to
10617 ;; "runhaskell" in any case.
10618 (replace 'configure
10619 (lambda* (#:key outputs inputs tests? (configure-flags '())
10620 #:allow-other-keys)
10621 (let* ((out (assoc-ref outputs "out"))
10622 (input-dirs (match inputs
10623 (((_ . dir) ...)
10624 dir)
10625 (_ '())))
10626 (ghc-path (getenv "GHC_PACKAGE_PATH"))
10627 (params (append `(,(string-append "--prefix=" out))
10628 `(,(string-append "--libdir=" out "/lib"))
10629 `(,(string-append "--bindir=" out "/bin"))
10630 `(,(string-append
10631 "--docdir=" out
10632 "/share/doc/" ((@@ (guix build haskell-build-system)
10633 package-name-version) out)))
10634 '("--libsubdir=$compiler/$pkg-$version")
10635 '("--package-db=../package.conf.d")
10636 '("--global")
10637 `(,@(map
10638 (cut string-append "--extra-include-dirs=" <>)
10639 (search-path-as-list '("include") input-dirs)))
10640 `(,@(map
10641 (cut string-append "--extra-lib-dirs=" <>)
10642 (search-path-as-list '("lib") input-dirs)))
10643 (if tests?
10644 '("--enable-tests")
10645 '())
10646 configure-flags)))
10647 (unsetenv "GHC_PACKAGE_PATH")
10648 (apply invoke "runhaskell" "-package-db=../package.conf.d"
10649 "Setup.hs" "configure" params)
10650 (setenv "GHC_PACKAGE_PATH" ghc-path)
10651 #t))))))
10652 (inputs
10653 `(("ghc-utf8-string" ,ghc-utf8-string)
10654 ("ghc-text" ,ghc-text)
10655 ("cairo" ,cairo)))
10656 (native-inputs
10657 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
10658 ("pkg-config" ,pkg-config)))
10659 (home-page "http://projects.haskell.org/gtk2hs/")
10660 (synopsis "Haskell bindings to the Cairo vector graphics library")
10661 (description
10662 "Cairo is a library to render high quality vector graphics. There exist
10663various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
10664documents, amongst others.")
10665 (license license:bsd-3)))
10666
562cfae3
RW
10667(define-public ghc-chart-cairo
10668 (package
10669 (name "ghc-chart-cairo")
10670 (version "1.9")
10671 (source
10672 (origin
10673 (method url-fetch)
10674 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
10675 "Chart-cairo-" version ".tar.gz"))
10676 (sha256
10677 (base32
10678 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
10679 (build-system haskell-build-system)
10680 (inputs
10681 `(("ghc-old-locale" ,ghc-old-locale)
10682 ("ghc-cairo" ,ghc-cairo)
10683 ("ghc-colour" ,ghc-colour)
10684 ("ghc-data-default-class" ,ghc-data-default-class)
10685 ("ghc-operational" ,ghc-operational)
10686 ("ghc-lens" ,ghc-lens)
10687 ("ghc-chart" ,ghc-chart)))
10688 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10689 (synopsis "Cairo backend for Charts")
10690 (description "This package provides a Cairo vector graphics rendering
10691backend for the Charts library.")
10692 (license license:bsd-3)))
10693
6c819778
RW
10694(define-public ghc-atomic-write
10695 (package
10696 (name "ghc-atomic-write")
10697 (version "0.2.0.5")
10698 (source
10699 (origin
10700 (method url-fetch)
10701 (uri (string-append
10702 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
10703 version
10704 ".tar.gz"))
10705 (sha256
10706 (base32
10707 "1iaq0hprxcv0sl1sgwcgmm87zraf738va1bciwnx2jkk3k1v9iyv"))))
10708 (build-system haskell-build-system)
10709 (inputs
10710 `(("ghc-temporary" ,ghc-temporary)
10711 ("ghc-unix-compat" ,ghc-unix-compat)
10712 ("ghc-text" ,ghc-text)))
10713 (native-inputs
10714 `(("ghc-temporary" ,ghc-temporary)
10715 ("ghc-unix-compat" ,ghc-unix-compat)
10716 ("ghc-text" ,ghc-text)
10717 ("ghc-hspec" ,ghc-hspec)
10718 ("hspec-discover" ,hspec-discover)))
10719 (home-page "https://github.com/stackbuilders/atomic-write")
10720 (synopsis "Atomically write to a file")
10721 (description
10722 "Atomically write to a file on POSIX-compliant systems while preserving
10723permissions. @code{mv} is an atomic operation. This makes it simple to write
10724to a file atomically just by using the @code{mv} operation. However, this
10725will destroy the permissions on the original file. This library preserves
10726permissions while atomically writing to a file.")
10727 (license license:expat)))
10728
d05ed20e
RW
10729(define-public ghc-cereal-conduit
10730 (package
10731 (name "ghc-cereal-conduit")
10732 (version "0.8.0")
10733 (source
10734 (origin
10735 (method url-fetch)
10736 (uri (string-append "https://hackage.haskell.org/package/"
10737 "cereal-conduit/cereal-conduit-"
10738 version ".tar.gz"))
10739 (sha256
10740 (base32
10741 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
10742 (build-system haskell-build-system)
10743 (inputs
10744 `(("ghc-conduit" ,ghc-conduit)
10745 ("ghc-resourcet" ,ghc-resourcet)
10746 ("ghc-cereal" ,ghc-cereal)))
10747 (native-inputs
10748 `(("ghc-hunit" ,ghc-hunit)))
10749 (home-page "https://github.com/snoyberg/conduit")
10750 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
10751 (description
10752 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
10753@code{Sources}, @code{Sinks}, and @code{Conduits}.")
10754 (license license:bsd-3)))
10755
1d13003a
RW
10756(define-public ghc-weigh
10757 (package
10758 (name "ghc-weigh")
10759 (version "0.0.12")
10760 (source
10761 (origin
10762 (method url-fetch)
10763 (uri (string-append "https://hackage.haskell.org/package/weigh/"
10764 "weigh-" version ".tar.gz"))
10765 (sha256
10766 (base32
10767 "0zw2a997gxgdzqmd7j730kxgynzmjvvlkw84dajmfzf1v9pbij7x"))))
10768 (build-system haskell-build-system)
10769 (inputs
10770 `(("ghc-split" ,ghc-split)
10771 ("ghc-temporary" ,ghc-temporary)))
10772 (home-page "https://github.com/fpco/weigh#readme")
10773 (synopsis "Measure allocations of a Haskell functions/values")
10774 (description "This package provides tools to measure the memory usage of a
10775Haskell value or function.")
10776 (license license:bsd-3)))
10777
d459e043
RW
10778(define-public ghc-linear
10779 (package
10780 (name "ghc-linear")
10781 (version "1.20.8")
10782 (source
10783 (origin
10784 (method url-fetch)
10785 (uri (string-append "https://hackage.haskell.org/package/linear/"
10786 "linear-" version ".tar.gz"))
10787 (sha256
10788 (base32
10789 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
10790 (build-system haskell-build-system)
10791 (inputs
10792 `(("ghc-adjunctions" ,ghc-adjunctions)
10793 ("ghc-base-orphans" ,ghc-base-orphans)
10794 ("ghc-bytes" ,ghc-bytes)
10795 ("ghc-cereal" ,ghc-cereal)
10796 ("ghc-distributive" ,ghc-distributive)
10797 ("ghc-hashable" ,ghc-hashable)
10798 ("ghc-lens" ,ghc-lens)
10799 ("ghc-reflection" ,ghc-reflection)
10800 ("ghc-semigroups" ,ghc-semigroups)
10801 ("ghc-semigroupoids" ,ghc-semigroupoids)
10802 ("ghc-tagged" ,ghc-tagged)
10803 ("ghc-transformers-compat" ,ghc-transformers-compat)
10804 ("ghc-unordered-containers" ,ghc-unordered-containers)
10805 ("ghc-vector" ,ghc-vector)
10806 ("ghc-void" ,ghc-void)))
10807 (native-inputs
10808 `(("cabal-doctest" ,cabal-doctest)
10809 ("ghc-doctest" ,ghc-doctest)
10810 ("ghc-simple-reflect" ,ghc-simple-reflect)
10811 ("ghc-test-framework" ,ghc-test-framework)
10812 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10813 ("ghc-hunit" ,ghc-hunit)))
10814 (home-page "http://github.com/ekmett/linear/")
10815 (synopsis "Linear algebra library for Haskell")
10816 (description
10817 "This package provides types and combinators for linear algebra on free
10818vector spaces.")
10819 (license license:bsd-3)))
10820
246b3437 10821;;; haskell.scm ends here