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