gnu: Add ghc-echo.
[jackhill/guix/guix.git] / gnu / packages / haskell.scm
CommitLineData
246b3437 1;;; GNU Guix --- Functional package management for GNU
95595618 2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
df1db767 3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
0e03d76a 4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
ccd7b308 5;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
ae785e5e 6;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
4a78fd46 7;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
7531b1fc 8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
b90f72dc 9;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
c7a7129c 10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
ee719fba 11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
df7309fc 12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
98b90194 13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
78d8b8f3 14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
a9717a52 15;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
e5d92c1c 16;;; Copyright © 2018 Tonton <tonton@riseup.net>
4c798726 17;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
b1a16000 18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
246b3437
FB
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages haskell)
d8e85b20 36 #:use-module (gnu packages)
9587544b 37 #:use-module (gnu packages base)
c0d5b645 38 #:use-module (gnu packages bootstrap)
ac257f12 39 #:use-module (gnu packages check)
3d3613d5 40 #:use-module (gnu packages compression)
246b3437 41 #:use-module (gnu packages elf)
600621a1 42 #:use-module (gnu packages gcc)
246b3437 43 #:use-module (gnu packages ghostscript)
c0d5b645 44 #:use-module (gnu packages gl)
f797a0e9 45 #:use-module (gnu packages graphviz)
a06b9b50 46 #:use-module (gnu packages haskell-check)
f24eba89 47 #:use-module (gnu packages haskell-crypto)
44b7374a 48 #:use-module (gnu packages haskell-web)
c0d5b645 49 #:use-module (gnu packages libffi)
a7101996 50 #:use-module (gnu packages linux)
95e654ae 51 #:use-module (gnu packages lisp)
ac5d633a 52 #:use-module (gnu packages lua)
95595618 53 #:use-module (gnu packages maths)
246b3437
FB
54 #:use-module (gnu packages multiprecision)
55 #:use-module (gnu packages ncurses)
b10f7be3 56 #:use-module (gnu packages pcre)
c0d5b645
DC
57 #:use-module (gnu packages perl)
58 #:use-module (gnu packages pkg-config)
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages sdl)
587d1752 61 #:use-module (gnu packages tls)
793bcc19 62 #:use-module (gnu packages xml)
c0d5b645 63 #:use-module (gnu packages xorg)
c0d5b645
DC
64 #:use-module (guix build-system gnu)
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
ee719fba 67 #:use-module (guix git-download)
c0d5b645
DC
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages)
70 #:use-module (guix utils)
8e3149ee
RW
71 #:use-module (ice-9 regex)
72 #:use-module ((srfi srfi-1) #:select (alist-delete)))
246b3437 73
95e654ae
RW
74(define-public cl-yale-haskell
75 (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
76 (revision "1"))
77 (package
78 (name "cl-yale-haskell")
79 (version (string-append "2.0.5-" revision "." (string-take commit 9)))
80 (source (origin
81 (method git-fetch)
82 (uri (git-reference
98b90194 83 (url "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
84 (commit commit)))
85 (file-name (string-append "yale-haskell-" commit "-checkout"))
86 (sha256
87 (base32
88 "0bal3m6ryrjamz5p93bhs9rp5msk8k7lpcqr44wd7xs9b9k8w74g"))))
89 (build-system gnu-build-system)
90 (arguments
91 `(#:tests? #f ; no tests
92 ;; Stripping binaries leads to a broken executable lisp system image.
93 #:strip-binaries? #f
94 #:make-flags
95 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
96 #:phases
97 (modify-phases %standard-phases
98 (replace 'configure
99 (lambda _
100 (setenv "PRELUDE" "./progs/prelude")
101 (setenv "HASKELL_LIBRARY" "./progs/lib")
102 (setenv "PRELUDEBIN" "./progs/prelude/clisp")
103 (setenv "HASKELLPROG" "./bin/clisp-haskell")
104 #t)))))
105 (inputs
106 `(("clisp" ,clisp)))
98b90194 107 (home-page "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
108 (synopsis "Port of the Yale Haskell system to CLISP")
109 (description "This package provides the Yale Haskell system running on
110top of CLISP.")
111 (license license:bsd-4))))
112
5868a8bf 113(define ghc-bootstrap-x86_64-7.8.4
246b3437
FB
114 (origin
115 (method url-fetch)
5868a8bf
FB
116 (uri
117 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
246b3437
FB
118 (sha256
119 (base32
5868a8bf
FB
120 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
121
122(define ghc-bootstrap-i686-7.8.4
123 (origin
124 (method url-fetch)
125 (uri
126 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
127 (sha256
128 (base32
129 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
246b3437
FB
130
131;; 43 tests out of 3965 fail.
132;;
133;; Most of them do not appear to be serious:
134;;
135;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
136;; figured out how these references are generated.
137;;
138;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
139;;
140;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
141;; Data.Vector, Control.Monad.State.
142;;
143;; - Test posix010 tries to check the existence of a user on the system:
144;; getUserEntryForName: does not exist (no such user)
e2dc97d6 145(define-public ghc-7
246b3437
FB
146 (package
147 (name "ghc")
0e03d76a 148 (version "7.10.2")
246b3437
FB
149 (source
150 (origin
151 (method url-fetch)
152 (uri (string-append "https://www.haskell.org/ghc/dist/"
153 version "/" name "-" version "-src.tar.xz"))
154 (sha256
155 (base32
0e03d76a 156 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
246b3437
FB
157 (build-system gnu-build-system)
158 (supported-systems '("i686-linux" "x86_64-linux"))
159 (outputs '("out" "doc"))
160 (inputs
161 `(("gmp" ,gmp)
162 ("ncurses" ,ncurses)
163 ("libffi" ,libffi)
246b3437
FB
164 ("ghc-testsuite"
165 ,(origin
166 (method url-fetch)
167 (uri (string-append
168 "https://www.haskell.org/ghc/dist/"
169 version "/" name "-" version "-testsuite.tar.xz"))
170 (sha256
171 (base32
0e03d76a 172 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
246b3437
FB
173 (native-inputs
174 `(("perl" ,perl)
175 ("python" ,python-2) ; for tests (fails with python-3)
176 ("ghostscript" ,ghostscript) ; for tests
177 ("patchelf" ,patchelf)
178 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
5868a8bf
FB
179 ("ghc-binary"
180 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
181 ghc-bootstrap-x86_64-7.8.4
182 ghc-bootstrap-i686-7.8.4))))
246b3437
FB
183 (arguments
184 `(#:test-target "test"
185 ;; We get a smaller number of test failures by disabling parallel test
186 ;; execution.
187 #:parallel-tests? #f
fb799cb7
LC
188
189 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
190 ;; gremlin) doesn't support it yet, so skip this phase.
191 #:validate-runpath? #f
192
bbd19615
MW
193 ;; Don't pass --build=<triplet>, because the configure script
194 ;; auto-detects slightly different triplets for --host and --target and
195 ;; then complains that they don't match.
196 #:build #f
197
246b3437
FB
198 #:modules ((guix build gnu-build-system)
199 (guix build utils)
200 (guix build rpath)
201 (srfi srfi-26)
202 (srfi srfi-1))
caaf1933 203 #:imported-modules (,@%gnu-build-system-modules
246b3437
FB
204 (guix build rpath))
205 #:configure-flags
206 (list
207 (string-append "--with-gmp-libraries="
208 (assoc-ref %build-inputs "gmp") "/lib")
209 (string-append "--with-gmp-includes="
210 (assoc-ref %build-inputs "gmp") "/include")
211 "--with-system-libffi"
212 (string-append "--with-ffi-libraries="
213 (assoc-ref %build-inputs "libffi") "/lib")
214 (string-append "--with-ffi-includes="
215 (assoc-ref %build-inputs "libffi") "/include"))
216 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
217 ;; Currently we do not have the last one.
218 ;; #:make-flags
219 ;; (list "BUILD_DOCBOOK_HTML = YES")
220 #:phases
221 (let* ((ghc-bootstrap-path
222 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
223 (ghc-bootstrap-prefix
224 (string-append ghc-bootstrap-path "/usr" )))
225 (alist-cons-after
48d21d6c 226 'unpack-bin 'unpack-testsuite-and-fix-bins
246b3437
FB
227 (lambda* (#:key inputs outputs #:allow-other-keys)
228 (with-directory-excursion ".."
229 (copy-file (assoc-ref inputs "ghc-testsuite")
230 "ghc-testsuite.tar.xz")
231 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
246b3437
FB
232 (substitute*
233 (list "testsuite/timeout/Makefile"
234 "testsuite/timeout/timeout.py"
235 "testsuite/timeout/timeout.hs"
236 "testsuite/tests/rename/prog006/Setup.lhs"
48d21d6c
EB
237 "testsuite/tests/programs/life_space_leak/life.test"
238 "libraries/process/System/Process/Internals.hs"
239 "libraries/unix/cbits/execvpe.c")
246b3437
FB
240 (("/bin/sh") (which "sh"))
241 (("/bin/rm") "rm"))
242 #t)
243 (alist-cons-after
244 'unpack 'unpack-bin
245 (lambda* (#:key inputs outputs #:allow-other-keys)
246 (mkdir-p ghc-bootstrap-prefix)
247 (with-directory-excursion ghc-bootstrap-path
248 (copy-file (assoc-ref inputs "ghc-binary")
249 "ghc-bin.tar.xz")
250 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
251 (alist-cons-before
252 'install-bin 'configure-bin
253 (lambda* (#:key inputs outputs #:allow-other-keys)
254 (let* ((binaries
255 (list
256 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
257 "./utils/hpc/dist-install/build/tmp/hpc"
258 "./utils/haddock/dist/build/tmp/haddock"
259 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
260 "./utils/runghc/dist-install/build/tmp/runghc"
261 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
262 "./utils/hp2ps/dist/build/tmp/hp2ps"
263 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
264 "./utils/unlit/dist/build/tmp/unlit"
265 "./ghc/stage2/build/tmp/ghc-stage2"))
266 (gmp (assoc-ref inputs "gmp"))
267 (gmp-lib (string-append gmp "/lib"))
268 (gmp-include (string-append gmp "/include"))
269 (ncurses-lib
270 (string-append (assoc-ref inputs "ncurses") "/lib"))
271 (ld-so (string-append (assoc-ref inputs "libc")
272 ,(glibc-dynamic-linker)))
273 (libtinfo-dir
274 (string-append ghc-bootstrap-prefix
275 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
276 (with-directory-excursion
0e03d76a 277 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
278 (setenv "CONFIG_SHELL" (which "bash"))
279 (setenv "LD_LIBRARY_PATH" gmp-lib)
280 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
281 (for-each
282 (cut system* "patchelf" "--set-interpreter" ld-so <>)
283 binaries)
284 ;; The binaries include a reference to libtinfo.so.5 which
285 ;; is a subset of libncurses.so.5. We create a symlink in a
286 ;; directory included in the bootstrap binaries rpath.
287 (mkdir-p libtinfo-dir)
288 (symlink
289 (string-append ncurses-lib "/libncursesw.so."
74733195
RW
290 ;; Extract "6.0" from "6.0-20170930" if a
291 ;; dash-separated version tag exists.
ae785e5e 292 ,(let* ((v (package-version ncurses))
74733195
RW
293 (d (or (string-index v #\-)
294 (string-length v))))
ae785e5e 295 (version-major+minor (string-take v d))))
246b3437 296 (string-append libtinfo-dir "/libtinfo.so.5"))
ae785e5e 297
246b3437
FB
298 (setenv "PATH"
299 (string-append (getenv "PATH") ":"
300 ghc-bootstrap-prefix "/bin"))
301 (system*
302 (string-append (getcwd) "/configure")
303 (string-append "--prefix=" ghc-bootstrap-prefix)
304 (string-append "--with-gmp-libraries=" gmp-lib)
305 (string-append "--with-gmp-includes=" gmp-include)))))
306 (alist-cons-before
307 'configure 'install-bin
308 (lambda* (#:key inputs outputs #:allow-other-keys)
309 (with-directory-excursion
0e03d76a 310 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
311 (zero? (system* "make" "install"))))
312 %standard-phases)))))))
e17d5133
EB
313 (native-search-paths (list (search-path-specification
314 (variable "GHC_PACKAGE_PATH")
315 (files (list
316 (string-append "lib/ghc-" version)))
317 (file-pattern ".*\\.conf\\.d$")
318 (file-type 'directory))))
246b3437
FB
319 (home-page "https://www.haskell.org/ghc")
320 (synopsis "The Glasgow Haskell Compiler")
7d95c000
FB
321 (description
322 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
323interactive environment for the functional language Haskell.")
324 (license license:bsd-3)))
325
9587544b 326(define-public ghc-8.0
7d95c000
FB
327 (package
328 (name "ghc")
d8e85b20 329 (version "8.0.2")
7d95c000
FB
330 (source
331 (origin
332 (method url-fetch)
333 (uri (string-append "https://www.haskell.org/ghc/dist/"
334 version "/" name "-" version "-src.tar.xz"))
335 (sha256
d8e85b20
FB
336 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
337 (patches
338 (search-patches
f6cccefe
DM
339 "ghc-dont-pass-linker-flags-via-response-files.patch"
340 "ghc-8.0-fall-back-to-madv_dontneed.patch"))))
7d95c000
FB
341 (build-system gnu-build-system)
342 (supported-systems '("i686-linux" "x86_64-linux"))
343 (outputs '("out" "doc"))
344 (inputs
345 `(("gmp" ,gmp)
346 ("ncurses" ,ncurses)
347 ("libffi" ,libffi)
7d95c000
FB
348 ("ghc-testsuite"
349 ,(origin
350 (method url-fetch)
351 (uri (string-append
352 "https://www.haskell.org/ghc/dist/"
353 version "/" name "-" version "-testsuite.tar.xz"))
354 (sha256
d8e85b20 355 (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
7d95c000
FB
356 (native-inputs
357 `(("perl" ,perl)
358 ("python" ,python-2) ; for tests
359 ("ghostscript" ,ghostscript) ; for tests
360 ;; GHC is built with GHC.
e2dc97d6 361 ("ghc-bootstrap" ,ghc-7)))
7d95c000
FB
362 (arguments
363 `(#:test-target "test"
364 ;; We get a smaller number of test failures by disabling parallel test
365 ;; execution.
366 #:parallel-tests? #f
367
368 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
369 ;; gremlin) doesn't support it yet, so skip this phase.
370 #:validate-runpath? #f
371
372 ;; Don't pass --build=<triplet>, because the configure script
373 ;; auto-detects slightly different triplets for --host and --target and
374 ;; then complains that they don't match.
375 #:build #f
376
7d95c000
FB
377 #:configure-flags
378 (list
379 (string-append "--with-gmp-libraries="
380 (assoc-ref %build-inputs "gmp") "/lib")
381 (string-append "--with-gmp-includes="
382 (assoc-ref %build-inputs "gmp") "/include")
383 "--with-system-libffi"
384 (string-append "--with-ffi-libraries="
385 (assoc-ref %build-inputs "libffi") "/lib")
386 (string-append "--with-ffi-includes="
387 (assoc-ref %build-inputs "libffi") "/include")
388 (string-append "--with-curses-libraries="
389 (assoc-ref %build-inputs "ncurses") "/lib")
390 (string-append "--with-curses-includes="
391 (assoc-ref %build-inputs "ncurses") "/include"))
392 #:phases
393 (modify-phases %standard-phases
394 (add-after 'unpack 'unpack-testsuite
395 (lambda* (#:key inputs #:allow-other-keys)
396 (with-directory-excursion ".."
397 (copy-file (assoc-ref inputs "ghc-testsuite")
398 "ghc-testsuite.tar.xz")
399 (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")))))
400 (add-before 'build 'fix-lib-paths
401 (lambda _
402 (substitute*
403 (list "libraries/process/System/Process/Posix.hs"
404 "libraries/process/tests/process001.hs"
405 "libraries/process/tests/process002.hs"
406 "libraries/unix/cbits/execvpe.c")
407 (("/bin/sh") (which "sh"))
408 (("/bin/ls") (which "ls")))
409 #t))
410 (add-before 'build 'fix-environment
411 (lambda _
412 (unsetenv "GHC_PACKAGE_PATH")
413 (setenv "CONFIG_SHELL" (which "bash"))
414 #t))
415 (add-before 'check 'fix-testsuite
416 (lambda _
417 (substitute*
418 (list "testsuite/timeout/Makefile"
419 "testsuite/timeout/timeout.py"
420 "testsuite/timeout/timeout.hs"
421 "testsuite/tests/programs/life_space_leak/life.test")
422 (("/bin/sh") (which "sh"))
423 (("/bin/rm") "rm"))
d8e85b20 424 #t)))))
7d95c000
FB
425 (native-search-paths (list (search-path-specification
426 (variable "GHC_PACKAGE_PATH")
427 (files (list
428 (string-append "lib/ghc-" version)))
429 (file-pattern ".*\\.conf\\.d$")
430 (file-type 'directory))))
431 (home-page "https://www.haskell.org/ghc")
432 (synopsis "The Glasgow Haskell Compiler")
246b3437
FB
433 (description
434 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
435interactive environment for the functional language Haskell.")
3ac73271 436 (license license:bsd-3)))
246b3437 437
9587544b
RW
438(define-public ghc-8
439 (package (inherit ghc-8.0)
440 (name "ghc")
441 (version "8.4.3")
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append "https://www.haskell.org/ghc/dist/"
446 version "/" name "-" version "-src.tar.xz"))
447 (sha256
448 (base32 "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf"))))
449 (inputs
450 `(("gmp" ,gmp)
451 ("ncurses" ,ncurses)
452 ("libffi" ,libffi)
453 ("target-binutils" ,binutils)
454 ("target-gcc" ,gcc)
455 ("target-ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
456 #:binutils binutils))))
457 (native-inputs
458 `(("perl" ,perl)
459 ("python" ,python) ; for tests
460 ("ghostscript" ,ghostscript) ; for tests
461 ;; GHC 8.4.3 is built with GHC 8.
462 ("ghc-bootstrap" ,ghc-8.0)
463 ("ghc-testsuite"
464 ,(origin
465 (method url-fetch)
466 (uri (string-append
467 "https://www.haskell.org/ghc/dist/"
468 version "/" name "-" version "-testsuite.tar.xz"))
469 (sha256
470 (base32
471 "1z55b1z0m3plqd2d1ks6w5wvx7igm7zsk3i4v7cms003z0as0hzz"))))))
472 (arguments
473 `(#:test-target "test"
474 ;; We get a smaller number of test failures by disabling parallel test
475 ;; execution.
476 #:parallel-tests? #f
477
478 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
479 ;; gremlin) doesn't support it yet, so skip this phase.
480 #:validate-runpath? #f
481
482 ;; Don't pass --build=<triplet>, because the configure script
483 ;; auto-detects slightly different triplets for --host and --target and
484 ;; then complains that they don't match.
485 #:build #f
486
487 #:configure-flags
488 (list
489 (string-append "--with-gmp-libraries="
490 (assoc-ref %build-inputs "gmp") "/lib")
491 (string-append "--with-gmp-includes="
492 (assoc-ref %build-inputs "gmp") "/include")
493 "--with-system-libffi"
494 (string-append "--with-ffi-libraries="
495 (assoc-ref %build-inputs "libffi") "/lib")
496 (string-append "--with-ffi-includes="
497 (assoc-ref %build-inputs "libffi") "/include")
498 (string-append "--with-curses-libraries="
499 (assoc-ref %build-inputs "ncurses") "/lib")
500 (string-append "--with-curses-includes="
501 (assoc-ref %build-inputs "ncurses") "/include"))
502 #:phases
503 (modify-phases %standard-phases
504 (add-after 'unpack 'unpack-testsuite
505 (lambda* (#:key inputs #:allow-other-keys)
506 (invoke "tar" "xvf"
507 (assoc-ref inputs "ghc-testsuite")
508 "--strip-components=1")
509 #t))
510 (add-after 'unpack-testsuite 'fix-shell-wrappers
511 (lambda _
512 (substitute* '("driver/ghci/ghc.mk"
513 "utils/mkdirhier/ghc.mk"
514 "rules/shell-wrapper.mk")
515 (("echo '#!/bin/sh'")
516 (format #f "echo '#!~a'" (which "sh"))))
517 #t))
518 ;; This is necessary because the configure system no longer uses
519 ;; “AC_PATH_” but “AC_CHECK_”, setting the variables to just the
520 ;; plain command names.
521 (add-before 'configure 'set-target-programs
522 (lambda* (#:key inputs #:allow-other-keys)
523 (let ((binutils (assoc-ref inputs "target-binutils"))
524 (gcc (assoc-ref inputs "target-gcc"))
525 (ld-wrapper (assoc-ref inputs "target-ld-wrapper")))
526 (setenv "CC" (string-append gcc "/bin/gcc"))
527 (setenv "CXX" (string-append gcc "/bin/g++"))
528 (setenv "LD" (string-append ld-wrapper "/bin/ld"))
529 (setenv "NM" (string-append binutils "/bin/nm"))
530 (setenv "RANLIB" (string-append binutils "/bin/ranlib"))
531 (setenv "STRIP" (string-append binutils "/bin/strip"))
532 ;; The 'ar' command does not follow the same pattern.
533 (setenv "fp_prog_ar" (string-append binutils "/bin/ar"))
534 #t)))
535 (add-before 'build 'fix-references
536 (lambda _
537 (substitute* '("testsuite/timeout/Makefile"
538 "testsuite/timeout/timeout.py"
539 "testsuite/timeout/timeout.hs"
540 "testsuite/tests/programs/life_space_leak/life.test"
541 ;; libraries
542 "libraries/process/System/Process/Posix.hs"
543 "libraries/process/tests/process001.hs"
544 "libraries/process/tests/process002.hs"
545 "libraries/unix/cbits/execvpe.c")
546 (("/bin/sh") (which "sh"))
547 (("/bin/ls") (which "ls"))
548 (("/bin/rm") "rm"))
549 #t))
550 (add-before 'build 'fix-environment
551 (lambda _
552 (unsetenv "GHC_PACKAGE_PATH")
553 (setenv "CONFIG_SHELL" (which "bash"))
554 #t)))))
555 (native-search-paths (list (search-path-specification
556 (variable "GHC_PACKAGE_PATH")
557 (files (list
558 (string-append "lib/ghc-" version)))
559 (file-pattern ".*\\.conf\\.d$")
560 (file-type 'directory))))))
561
dde15fea 562(define-public ghc ghc-8)
e2dc97d6 563
ccd7b308
EB
564(define-public ghc-hostname
565 (package
566 (name "ghc-hostname")
567 (version "1.0")
568 (source
569 (origin
570 (method url-fetch)
612fddec 571 (uri (string-append "https://hackage.haskell.org/package/hostname/"
ccd7b308
EB
572 "hostname-" version ".tar.gz"))
573 (sha256
574 (base32
575 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
576 (build-system haskell-build-system)
577 (home-page "https://hackage.haskell.org/package/hostname")
578 (synopsis "Hostname in Haskell")
579 (description "Network.HostName is a simple package providing a means to
580determine the hostname.")
3ac73271 581 (license license:bsd-3)))
ccd7b308 582
f8362eac
RW
583(define-public ghc-convertible
584 (package
585 (name "ghc-convertible")
586 (version "1.1.1.0")
587 (source
588 (origin
589 (method url-fetch)
590 (uri (string-append "https://hackage.haskell.org/package/convertible/"
591 "convertible-" version ".tar.gz"))
592 (sha256
593 (base32
594 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
595 (build-system haskell-build-system)
596 (inputs
597 `(("ghc-old-time" ,ghc-old-time)
598 ("ghc-old-locale" ,ghc-old-locale)
f8362eac
RW
599 ("ghc-text" ,ghc-text)))
600 (home-page "https://hackage.haskell.org/package/convertible")
601 (synopsis "Typeclasses and instances for converting between types")
602 (description
603 "This package provides a typeclass with a single function that is
604designed to help convert between different types: numeric values, dates and
605times, and the like. The conversions perform bounds checking and return a
606pure @code{Either} value. This means that you need not remember which specific
607function performs the conversion you desire.")
608 (license license:bsd-3)))
609
de866854
RW
610(define-public ghc-double-conversion
611 (package
612 (name "ghc-double-conversion")
613 (version "2.0.2.0")
614 (source
615 (origin
616 (method url-fetch)
617 (uri (string-append "https://hackage.haskell.org/package/"
618 "double-conversion/double-conversion-"
619 version ".tar.gz"))
620 (sha256
621 (base32
622 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
623 (build-system haskell-build-system)
624 (inputs `(("ghc-text" ,ghc-text)))
625 (native-inputs
626 `(("ghc-hunit" ,ghc-hunit)
627 ("ghc-test-framework" ,ghc-test-framework)
628 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
629 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
630 (home-page "https://github.com/bos/double-conversion")
631 (synopsis "Fast conversion between double precision floating point and text")
632 (description
633 "This package provides a library that performs fast, accurate conversion
634between double precision floating point and text.")
635 (license license:bsd-3)))
636
1472ba25
EB
637(define-public ghc-libxml
638 (package
639 (name "ghc-libxml")
640 (version "0.1.1")
641 (source
642 (origin
643 (method url-fetch)
98b90194 644 (uri (string-append "https://hackage.haskell.org/package/libxml/"
1472ba25
EB
645 "libxml-" version ".tar.gz"))
646 (sha256
647 (base32
648 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
649 (build-system haskell-build-system)
650 (inputs
f54f0475 651 `(("libxml2" ,libxml2)))
1472ba25
EB
652 (arguments
653 `(#:configure-flags
654 `(,(string-append "--extra-include-dirs="
655 (assoc-ref %build-inputs "libxml2")
656 "/include/libxml2"))))
98b90194 657 (home-page "https://hackage.haskell.org/package/libxml")
1472ba25
EB
658 (synopsis "Haskell bindings to libxml2")
659 (description
660 "This library provides minimal Haskell binding to libxml2.")
3ac73271 661 (license license:bsd-3)))
1472ba25 662
1e473fb8
PW
663(define-public ghc-prelude-extras
664 (package
665 (name "ghc-prelude-extras")
29466a9b 666 (version "0.4.0.3")
1e473fb8
PW
667 (source
668 (origin
669 (method url-fetch)
670 (uri (string-append
612fddec 671 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
1e473fb8
PW
672 version
673 ".tar.gz"))
674 (sha256
675 (base32
29466a9b 676 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
1e473fb8 677 (build-system haskell-build-system)
612fddec 678 (home-page "https://github.com/ekmett/prelude-extras")
1e473fb8
PW
679 (synopsis "Higher order versions of Prelude classes")
680 (description "This library provides higher order versions of
681@code{Prelude} classes to ease programming with polymorphic recursion and
682reduce @code{UndecidableInstances}.")
3ac73271 683 (license license:bsd-3)))
1e473fb8 684
1c77d0ca
SB
685(define-public ghc-data-default
686 (package
687 (name "ghc-data-default")
f9cb5105 688 (version "0.7.1.1")
1c77d0ca
SB
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append
612fddec 693 "https://hackage.haskell.org/package/data-default/data-default-"
1c77d0ca
SB
694 version
695 ".tar.gz"))
696 (sha256
f9cb5105 697 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
1c77d0ca 698 (build-system haskell-build-system)
2d47cee2 699 (inputs
1c77d0ca
SB
700 `(("ghc-data-default-class"
701 ,ghc-data-default-class)
702 ("ghc-data-default-instances-base"
703 ,ghc-data-default-instances-base)
704 ("ghc-data-default-instances-containers"
705 ,ghc-data-default-instances-containers)
706 ("ghc-data-default-instances-dlist"
707 ,ghc-data-default-instances-dlist)
708 ("ghc-data-default-instances-old-locale"
709 ,ghc-data-default-instances-old-locale)))
612fddec 710 (home-page "https://hackage.haskell.org/package/data-default")
1c77d0ca
SB
711 (synopsis "Types with default values")
712 (description
713 "This package defines a class for types with a default value, and
714provides instances for types from the base, containers, dlist and old-locale
715packages.")
3ac73271 716 (license license:bsd-3)))
1c77d0ca 717
5079a0af
SB
718(define-public ghc-data-default-class
719 (package
720 (name "ghc-data-default-class")
f378ea16 721 (version "0.1.2.0")
5079a0af
SB
722 (source
723 (origin
724 (method url-fetch)
725 (uri (string-append
612fddec 726 "https://hackage.haskell.org/package/data-default-class/"
5079a0af
SB
727 "data-default-class-" version ".tar.gz"))
728 (sha256
f378ea16 729 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
5079a0af 730 (build-system haskell-build-system)
612fddec 731 (home-page "https://hackage.haskell.org/package/data-default-class")
5079a0af
SB
732 (synopsis "Types with default values")
733 (description
734 "This package defines a class for types with default values.")
3ac73271 735 (license license:bsd-3)))
5079a0af 736
9deb95aa
SB
737(define-public ghc-data-default-instances-base
738 (package
739 (name "ghc-data-default-instances-base")
64a6954b 740 (version "0.1.0.1")
9deb95aa
SB
741 (source
742 (origin
743 (method url-fetch)
744 (uri (string-append
612fddec 745 "https://hackage.haskell.org/package/"
9deb95aa
SB
746 "data-default-instances-base/"
747 "data-default-instances-base-" version ".tar.gz"))
748 (sha256
64a6954b 749 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
9deb95aa 750 (build-system haskell-build-system)
2d47cee2 751 (inputs
9deb95aa 752 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 753 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
9deb95aa
SB
754 (synopsis "Default instances for types in base")
755 (description
756 "This package provides default instances for types from the base
757package.")
3ac73271 758 (license license:bsd-3)))
9deb95aa 759
77a23be2
SB
760(define-public ghc-data-default-instances-containers
761 (package
762 (name "ghc-data-default-instances-containers")
763 (version "0.0.1")
764 (source
765 (origin
766 (method url-fetch)
767 (uri (string-append
612fddec 768 "https://hackage.haskell.org/package/"
77a23be2
SB
769 "data-default-instances-containers/"
770 "data-default-instances-containers-" version ".tar.gz"))
771 (sha256
772 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
773 (build-system haskell-build-system)
2d47cee2 774 (inputs
77a23be2 775 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 776 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
77a23be2
SB
777 (synopsis "Default instances for types in containers")
778 (description "Provides default instances for types from the containers
779package.")
3ac73271 780 (license license:bsd-3)))
77a23be2 781
4271d134
SB
782(define-public ghc-data-default-instances-dlist
783 (package
784 (name "ghc-data-default-instances-dlist")
785 (version "0.0.1")
786 (source
787 (origin
788 (method url-fetch)
789 (uri (string-append
612fddec 790 "https://hackage.haskell.org/package/"
4271d134
SB
791 "data-default-instances-dlist/"
792 "data-default-instances-dlist-" version ".tar.gz"))
793 (sha256
794 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
795 (build-system haskell-build-system)
2d47cee2 796 (inputs
4271d134
SB
797 `(("ghc-data-default-class" ,ghc-data-default-class)
798 ("ghc-dlist" ,ghc-dlist)))
612fddec 799 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
4271d134
SB
800 (synopsis "Default instances for types in dlist")
801 (description "Provides default instances for types from the dlist
802package.")
3ac73271 803 (license license:bsd-3)))
4271d134 804
df7309fc
PM
805(define-public ghc-code-page
806 (package
807 (name "ghc-code-page")
808 (version "0.1.3")
809 (source
810 (origin
811 (method url-fetch)
812 (uri (string-append
813 "https://hackage.haskell.org/package/code-page/code-page-"
814 version ".tar.gz"))
815 (sha256
816 (base32
817 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
818 (build-system haskell-build-system)
819 (home-page "https://github.com/RyanGlScott/code-page")
820 (synopsis "Windows code page library for Haskell")
821 (description "A cross-platform library with functions for adjusting
822code pages on Windows. On all other operating systems, the library does
823nothing.")
824 (license license:bsd-3)))
825
073f5ae1
TS
826(define-public ghc-newtype-generics
827 (package
828 (name "ghc-newtype-generics")
829 (version "0.5.3")
830 (source
831 (origin
832 (method url-fetch)
833 (uri (string-append "https://hackage.haskell.org/package/"
834 "newtype-generics/newtype-generics-"
835 version ".tar.gz"))
836 (sha256
837 (base32
838 "0igyisw2djg19v9vkna1rwf47k97mvkvk4bbkmswznvbm00z15gj"))))
839 (build-system haskell-build-system)
840 (native-inputs
841 `(("ghc-hspec" ,ghc-hspec)
842 ("hspec-discover" ,hspec-discover)))
843 (home-page "http://github.com/sjakobi/newtype-generics")
844 (synopsis "Typeclass and set of functions for working with newtypes")
845 (description "The @code{Newtype} typeclass represents the packing and
846unpacking of a newtype, and allows you to operate under that newtype with
847functions such as @code{ala}. Generics support was added in version 0.4,
848making this package a full replacement for the original newtype package,
849and an alternative to newtype-th.")
850 (license license:bsd-3)))
851
cd40c4d6
TS
852(define-public ghc-memotrie
853 (package
854 (name "ghc-memotrie")
855 (version "0.6.9")
856 (source
857 (origin
858 (method url-fetch)
859 (uri (string-append
860 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
861 version
862 ".tar.gz"))
863 (sha256
864 (base32
865 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
866 (build-system haskell-build-system)
867 (inputs
868 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
869 (home-page "https://github.com/conal/MemoTrie")
870 (synopsis "Trie-based memo functions")
871 (description "This package provides a functional library for creating
872efficient memo functions using tries.")
873 (license license:bsd-3)))
874
56b3bc56 875(define-public ghc-haddock-library
eb6ae860 876 (package
56b3bc56 877 (name "ghc-haddock-library")
354902e4 878 (version "1.4.3")
eb6ae860
SB
879 (source
880 (origin
881 (method url-fetch)
882 (uri (string-append
612fddec 883 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
eb6ae860
SB
884 version
885 ".tar.gz"))
886 (sha256
56b3bc56 887 (base32
354902e4 888 "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p"))))
eb6ae860 889 (build-system haskell-build-system)
56b3bc56 890 (inputs
354902e4
RW
891 `(("ghc-base-compat" ,ghc-base-compat)))
892 (native-inputs
893 `(("hspec-discover" ,hspec-discover)
56b3bc56
PW
894 ("ghc-hspec" ,ghc-hspec)
895 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 896 (home-page "https://www.haskell.org/haddock/")
354902e4 897 (synopsis "Library exposing some functionality of Haddock")
eb6ae860 898 (description
56b3bc56
PW
899 "Haddock is a documentation-generation tool for Haskell libraries. These
900modules expose some functionality of it without pulling in the GHC dependency.
901Please note that the API is likely to change so specify upper bounds in your
902project if you can't release often. For interacting with Haddock itself, see
903the ‘haddock’ package.")
3ac73271 904 (license license:bsd-3)))
eb6ae860 905
735bd9c9 906(define-public ghc-haddock-api
05b964ae 907 (package
735bd9c9 908 (name "ghc-haddock-api")
a559c26c
RW
909 ;; This is the last version to be supported by Cabal < 2.0
910 (version "2.17.4")
05b964ae
SB
911 (source
912 (origin
913 (method url-fetch)
735bd9c9 914 (uri (string-append
612fddec 915 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
735bd9c9
PW
916 version
917 ".tar.gz"))
05b964ae 918 (sha256
735bd9c9 919 (base32
a559c26c 920 "00fn6pzgg8xjbaw12d76jdqh2dbc5xy7miyz0x6kidvvar7i35ss"))))
05b964ae 921 (build-system haskell-build-system)
2d47cee2 922 (inputs
735bd9c9
PW
923 `(("ghc-paths" ,ghc-paths)
924 ("ghc-haddock-library" ,ghc-haddock-library)))
a559c26c
RW
925 (native-inputs
926 `(("ghc-quickcheck" ,ghc-quickcheck)
927 ("ghc-hspec" ,ghc-hspec)
928 ("hspec-discover" ,hspec-discover)))
98b90194 929 (home-page "https://www.haskell.org/haddock/")
735bd9c9
PW
930 (synopsis "API for documentation-generation tool Haddock")
931 (description "This package provides an API to Haddock, the
932documentation-generation tool for Haskell libraries.")
3ac73271 933 (license license:bsd-3)))
05b964ae 934
35182fa2
RW
935(define-public ghc-haddock-test
936 (package
937 (name "ghc-haddock-test")
938 (version "0.0.1")
939 (source
940 (origin
941 (method url-fetch)
942 (uri (string-append "https://hackage.haskell.org/package/"
943 "haddock-test/haddock-test-"
944 version ".tar.gz"))
945 (sha256
946 (base32
947 "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
948 (build-system haskell-build-system)
949 (inputs
950 `(("ghc-xml" ,ghc-xml)
951 ("ghc-syb" ,ghc-syb)))
952 (home-page "http://www.haskell.org/haddock/")
953 (synopsis "Test utilities for Haddock")
954 (description "This package provides test utilities for Haddock.")
955 (license license:bsd-3)))
956
e0492a8d 957(define-public ghc-haddock
7d5baa30 958 (package
e0492a8d 959 (name "ghc-haddock")
613845d0 960 (version "2.17.4")
7d5baa30
FB
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
612fddec 965 "https://hackage.haskell.org/package/haddock/haddock-"
7d5baa30
FB
966 version
967 ".tar.gz"))
968 (sha256
969 (base32
613845d0 970 "1z3h3v7w84dzsm47iavdppc2w899mr4c1agq9fzghgz902i0a655"))))
7d5baa30 971 (build-system haskell-build-system)
613845d0
RW
972 ;; FIXME: Tests fail with this error:
973 ;; driver-test/Main.hs:4:1: error:
974 ;; Failed to load interface for ‘ResponseFileSpec’
975 (arguments `(#:tests? #f))
e0492a8d 976 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
613845d0
RW
977 (native-inputs
978 `(("ghc-hspec" ,ghc-hspec)
979 ("ghc-haddock-test" ,ghc-haddock-test)))
98b90194 980 (home-page "https://www.haskell.org/haddock/")
7d5baa30 981 (synopsis
e0492a8d 982 "Documentation-generation tool for Haskell libraries")
7d5baa30 983 (description
e0492a8d 984 "Haddock is a documentation-generation tool for Haskell libraries.")
3ac73271 985 (license license:bsd-3)))
7d5baa30 986
6729152d 987(define-public ghc-simple-reflect
0939da6e 988 (package
6729152d 989 (name "ghc-simple-reflect")
c2e393cc 990 (version "0.3.3")
0939da6e
FB
991 (source
992 (origin
993 (method url-fetch)
994 (uri (string-append
612fddec 995 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
0939da6e
FB
996 version
997 ".tar.gz"))
998 (sha256
999 (base32
c2e393cc 1000 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
0939da6e 1001 (build-system haskell-build-system)
6729152d 1002 (home-page
98b90194 1003 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
0939da6e 1004 (synopsis
6729152d 1005 "Simple reflection of expressions containing variables")
0939da6e 1006 (description
6729152d
PW
1007 "This package allows simple reflection of expressions containing
1008variables. Reflection here means that a Haskell expression is turned into a
1009string. The primary aim of this package is teaching and understanding; there
1010are no options for manipulating the reflected expressions beyond showing
1011them.")
3ac73271 1012 (license license:bsd-3)))
0939da6e 1013
e0d17b84 1014(define-public ghc-haskell-src
3d3613d5 1015 (package
e0d17b84 1016 (name "ghc-haskell-src")
3ea018c7 1017 (version "1.0.3.0")
3d3613d5
FB
1018 (source
1019 (origin
1020 (method url-fetch)
1021 (uri (string-append
612fddec 1022 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
3d3613d5
FB
1023 version
1024 ".tar.gz"))
1025 (sha256
1026 (base32
3ea018c7 1027 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
3d3613d5 1028 (build-system haskell-build-system)
e0d17b84
PW
1029 (inputs
1030 `(("ghc-happy" ,ghc-happy)
1031 ("ghc-syb" ,ghc-syb)))
1032 (home-page
612fddec 1033 "https://hackage.haskell.org/package/haskell-src")
3d3613d5 1034 (synopsis
e0d17b84 1035 "Support for manipulating Haskell source code")
3d3613d5 1036 (description
e0d17b84
PW
1037 "The 'haskell-src' package provides support for manipulating Haskell
1038source code. The package provides a lexer, parser and pretty-printer, and a
1039definition of a Haskell abstract syntax tree (AST). Common uses of this
1040package are to parse or generate Haskell 98 code.")
3ac73271 1041 (license license:bsd-3)))
3d3613d5 1042
e40b2543 1043(define-public ghc-alex
a39f3936 1044 (package
e40b2543 1045 (name "ghc-alex")
7de7ec7d 1046 (version "3.2.4")
a39f3936
FB
1047 (source
1048 (origin
1049 (method url-fetch)
1050 (uri (string-append
612fddec 1051 "https://hackage.haskell.org/package/alex/alex-"
a39f3936
FB
1052 version
1053 ".tar.gz"))
1054 (sha256
1055 (base32
7de7ec7d 1056 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
a39f3936 1057 (build-system haskell-build-system)
7de7ec7d
TS
1058 (arguments
1059 `(#:phases
1060 (modify-phases %standard-phases
1061 (add-before 'check 'set-check-variables
1062 (lambda _
1063 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
1064 (getenv "PATH")))
1065 (setenv "alex_datadir" (string-append (getcwd) "/data"))
1066 #t)))))
e40b2543 1067 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7de7ec7d
TS
1068 (native-inputs
1069 `(("which" ,which)))
98b90194 1070 (home-page "https://www.haskell.org/alex/")
e40b2543
PW
1071 (synopsis
1072 "Tool for generating lexical analysers in Haskell")
a39f3936 1073 (description
e40b2543
PW
1074 "Alex is a tool for generating lexical analysers in Haskell. It takes a
1075description of tokens based on regular expressions and generates a Haskell
1076module containing code for scanning text efficiently. It is similar to the
1077tool lex or flex for C/C++.")
3ac73271 1078 (license license:bsd-3)))
a39f3936 1079
1f477b59 1080(define-public ghc-cgi
e916e211 1081 (package
1f477b59 1082 (name "ghc-cgi")
22b439db 1083 (version "3001.3.0.2")
e916e211
FB
1084 (source
1085 (origin
1086 (method url-fetch)
1087 (uri (string-append
612fddec 1088 "https://hackage.haskell.org/package/cgi/cgi-"
e916e211
FB
1089 version
1090 ".tar.gz"))
1091 (sha256
1092 (base32
22b439db 1093 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
e916e211 1094 (build-system haskell-build-system)
22b439db 1095 (arguments
892d5546
TS
1096 `(#:phases
1097 (modify-phases %standard-phases
1098 (add-before 'configure 'update-constraints
1099 (lambda _
1100 (substitute* "cgi.cabal"
1101 (("exceptions < 0\\.9")
1102 "exceptions < 0.11")
1103 (("time >= 1\\.5 && < 1\\.7")
1104 "time >= 1.5 && < 1.9")
1105 (("doctest >= 0\\.8 && < 0\\.12")
1106 "doctest >= 0.8 && < 0.17")
1107 (("QuickCheck >= 2\\.8\\.1 && < 2\\.10")
1108 "QuickCheck >= 2.8.1 && < 2.12")))))))
1f477b59
PW
1109 (inputs
1110 `(("ghc-parsec" ,ghc-parsec)
1f477b59
PW
1111 ("ghc-exceptions" ,ghc-exceptions)
1112 ("ghc-multipart" ,ghc-multipart)
1113 ("ghc-network-uri" ,ghc-network-uri)
f54f0475 1114 ("ghc-network" ,ghc-network)))
22b439db
RW
1115 (native-inputs
1116 `(("ghc-doctest" ,ghc-doctest)
1117 ("ghc-quickcheck" ,ghc-quickcheck)))
1f477b59
PW
1118 (home-page
1119 "https://github.com/cheecheeo/haskell-cgi")
1120 (synopsis "Library for writing CGI programs")
e916e211 1121 (description
1f477b59 1122 "This is a Haskell library for writing CGI programs.")
3ac73271 1123 (license license:bsd-3)))
e916e211 1124
0ba56364 1125(define-public ghc-cmdargs
deb36de0 1126 (package
0ba56364 1127 (name "ghc-cmdargs")
0ff8558a 1128 (version "0.10.20")
deb36de0
FB
1129 (source
1130 (origin
1131 (method url-fetch)
1132 (uri (string-append
612fddec 1133 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
bfd2ebda 1134 version ".tar.gz"))
deb36de0
FB
1135 (sha256
1136 (base32
0ff8558a 1137 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
deb36de0 1138 (build-system haskell-build-system)
0ba56364
PW
1139 (home-page
1140 "http://community.haskell.org/~ndm/cmdargs/")
1141 (synopsis "Command line argument processing")
deb36de0 1142 (description
0ba56364 1143 "This library provides an easy way to define command line parsers.")
3ac73271 1144 (license license:bsd-3)))
deb36de0 1145
839415ec
LC
1146(define-public ghc-concatenative
1147 (package
1148 (name "ghc-concatenative")
1149 (version "1.0.1")
1150 (source (origin
1151 (method url-fetch)
1152 (uri (string-append
612fddec 1153 "https://hackage.haskell.org/package/concatenative/concatenative-"
839415ec
LC
1154 version ".tar.gz"))
1155 (sha256
1156 (base32
1157 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1158 (build-system haskell-build-system)
1159 (home-page
1160 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1161 (synopsis "Library for postfix control flow")
1162 (description
1163 "Concatenative gives Haskell Factor-style combinators and arrows for
1164postfix notation. For more information on stack based languages, see
98b90194 1165@uref{https://concatenative.org}.")
839415ec
LC
1166 (license license:bsd-3)))
1167
81da1a45 1168(define-public ghc-happy
775be802 1169 (package
81da1a45 1170 (name "ghc-happy")
a3aaf87a 1171 (version "1.19.9")
775be802
FB
1172 (source
1173 (origin
1174 (method url-fetch)
1175 (uri (string-append
612fddec 1176 "https://hackage.haskell.org/package/happy/happy-"
775be802
FB
1177 version
1178 ".tar.gz"))
1179 (sha256
1180 (base32
a3aaf87a 1181 "138xpxdb7x62lpmgmb6b3v3vgdqqvqn4273jaap3mjmc2gla709y"))))
775be802 1182 (build-system haskell-build-system)
81da1a45
PW
1183 (home-page "https://hackage.haskell.org/package/happy")
1184 (synopsis "Parser generator for Haskell")
1185 (description "Happy is a parser generator for Haskell. Given a grammar
1186specification in BNF, Happy generates Haskell code to parse the grammar.
1187Happy works in a similar way to the yacc tool for C.")
3ac73271 1188 (license license:bsd-3)))
775be802 1189
b9a64a36
RW
1190(define-public ghc-haskell-lexer
1191 (package
1192 (name "ghc-haskell-lexer")
1193 (version "1.0.1")
1194 (source
1195 (origin
1196 (method url-fetch)
1197 (uri (string-append
1198 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
1199 version ".tar.gz"))
1200 (sha256
1201 (base32
1202 "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
1203 (build-system haskell-build-system)
1204 (home-page "http://hackage.haskell.org/package/haskell-lexer")
1205 (synopsis "Fully compliant Haskell 98 lexer")
1206 (description
1207 "This package provides a fully compliant Haskell 98 lexer.")
1208 (license license:bsd-3)))
1209
f30b7538
RW
1210(define-public ghc-pretty-show
1211 (package
1212 (name "ghc-pretty-show")
6b19c5a4 1213 (version "1.7")
f30b7538
RW
1214 (source
1215 (origin
1216 (method url-fetch)
1217 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1218 "pretty-show-" version ".tar.gz"))
1219 (sha256
1220 (base32
6b19c5a4 1221 "0br7pkxqqqhby2j2v1g847lgqsrasx56g1jw3dhmjh4flzs6warq"))))
f30b7538
RW
1222 (build-system haskell-build-system)
1223 (inputs
1224 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
1225 ("ghc-happy" ,ghc-happy)))
1226 (home-page "http://wiki.github.com/yav/pretty-show")
1227 (synopsis "Tools for working with derived `Show` instances")
1228 (description
1229 "This package provides a library and an executable for working with
1230derived @code{Show} instances. By using the library, derived @code{Show}
1231instances can be parsed into a generic data structure. The @code{ppsh} tool
1232uses the library to produce human-readable versions of @code{Show} instances,
1233which can be quite handy for debugging Haskell programs. We can also render
1234complex generic values into an interactive Html page, for easier
1235examination.")
1236 (license license:expat)))
1237
6ff19687 1238(define-public ghc-haskell-src-exts
c3b90c0e 1239 (package
6ff19687 1240 (name "ghc-haskell-src-exts")
14b0ade6 1241 (version "1.20.2")
c3b90c0e
FB
1242 (source
1243 (origin
1244 (method url-fetch)
1245 (uri (string-append
612fddec 1246 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
c3b90c0e
FB
1247 version
1248 ".tar.gz"))
1249 (sha256
1250 (base32
14b0ade6 1251 "1sm3z4v1p5yffg01ldgavz71s3bvfhjfa13k428rk14bpkl8crlz"))))
c3b90c0e 1252 (build-system haskell-build-system)
2d47cee2 1253 (inputs
6ff19687 1254 `(("cpphs" ,cpphs)
6ff19687 1255 ("ghc-happy" ,ghc-happy)
14b0ade6 1256 ("ghc-pretty-show" ,ghc-pretty-show)))
172bb3b8
RW
1257 (native-inputs
1258 `(("ghc-smallcheck" ,ghc-smallcheck)
1259 ("ghc-tasty" ,ghc-tasty)
1260 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
1261 ("ghc-tasty-golden" ,ghc-tasty-golden)))
6ff19687
PW
1262 (home-page "https://github.com/haskell-suite/haskell-src-exts")
1263 (synopsis "Library for manipulating Haskell source")
1264 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
1265extension of the standard @code{haskell-src} package, and handles most
1266registered syntactic extensions to Haskell. All extensions implemented in GHC
1267are supported. Apart from these standard extensions, it also handles regular
1268patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
3ac73271 1269 (license license:bsd-3)))
c3b90c0e 1270
3657bd1f
RW
1271(define-public ghc-haskell-src-exts-util
1272 (package
1273 (name "ghc-haskell-src-exts-util")
255a31f8 1274 (version "0.2.3")
3657bd1f
RW
1275 (source
1276 (origin
1277 (method url-fetch)
1278 (uri (string-append "https://hackage.haskell.org/package/"
1279 "haskell-src-exts-util/haskell-src-exts-util-"
1280 version ".tar.gz"))
1281 (sha256
1282 (base32
255a31f8 1283 "1803718paq89f8pdck4mb88hv2k1ah9lxzq0lgjgwi9n88ryycz8"))))
3657bd1f
RW
1284 (build-system haskell-build-system)
1285 (inputs
1286 `(("ghc-data-default" ,ghc-data-default)
1287 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1288 ("ghc-semigroups" ,ghc-semigroups)
1289 ("ghc-uniplate" ,ghc-uniplate)))
1290 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
1291 (synopsis "Helper functions for working with haskell-src-exts trees")
1292 (description
1293 "This package provides helper functions for working with
1294@code{haskell-src-exts} trees.")
1295 (license license:bsd-3)))
1296
b28f0ffa
RW
1297(define-public ghc-refact
1298 (package
1299 (name "ghc-refact")
1300 (version "0.3.0.2")
1301 (source
1302 (origin
1303 (method url-fetch)
1304 (uri (string-append "https://hackage.haskell.org/package/"
1305 "refact/refact-"
1306 version ".tar.gz"))
1307 (sha256
1308 (base32
1309 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
1310 (build-system haskell-build-system)
1311 (home-page "http://hackage.haskell.org/package/refact")
1312 (synopsis "Specify refactorings to perform with apply-refact")
1313 (description
1314 "This library provides a datatype which can be interpreted by
add928d3 1315@code{apply-refact}. It exists as a separate library so that applications can
b28f0ffa
RW
1316specify refactorings without depending on GHC.")
1317 (license license:bsd-3)))
1318
6397aef0 1319(define-public hlint
df596b94 1320 (package
6397aef0 1321 (name "hlint")
478365e3 1322 (version "2.1.10")
df596b94
FB
1323 (source
1324 (origin
1325 (method url-fetch)
1326 (uri (string-append
612fddec 1327 "https://hackage.haskell.org/package/" name
6397aef0 1328 "/" name "-" version ".tar.gz"))
df596b94 1329 (sha256
6397aef0 1330 (base32
478365e3 1331 "19as2m9g75cr6n1agzvsij0cvqhb0wbjlk31w4y5d5mns87dki0w"))))
df596b94 1332 (build-system haskell-build-system)
6397aef0
PW
1333 (inputs
1334 `(("cpphs" ,cpphs)
780185cc
RW
1335 ("ghc-unordered-containers" ,ghc-unordered-containers)
1336 ("ghc-yaml" ,ghc-yaml)
1337 ("ghc-vector" ,ghc-vector)
1338 ("ghc-text" ,ghc-text)
1339 ("ghc-data-default" ,ghc-data-default)
6397aef0
PW
1340 ("ghc-cmdargs" ,ghc-cmdargs)
1341 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
780185cc 1342 ("ghc-haskell-src-exts-util" ,ghc-haskell-src-exts-util)
6397aef0
PW
1343 ("ghc-uniplate" ,ghc-uniplate)
1344 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1345 ("ghc-extra" ,ghc-extra)
780185cc
RW
1346 ("ghc-refact" ,ghc-refact)
1347 ("ghc-aeson" ,ghc-aeson)
6397aef0
PW
1348 ("hscolour" ,hscolour)))
1349 (home-page "http://community.haskell.org/~ndm/hlint/")
1350 (synopsis "Suggest improvements for Haskell source code")
1351 (description "HLint reads Haskell programs and suggests changes that
1352hopefully make them easier to read. HLint also makes it easy to disable
1353unwanted suggestions, and to add your own custom suggestions.")
3ac73271 1354 (license license:bsd-3)))
4af803a7 1355
85b2a2f5 1356(define-public ghc-resourcet
4af803a7 1357 (package
85b2a2f5 1358 (name "ghc-resourcet")
990cd5ef 1359 (version "1.2.1")
4af803a7
FB
1360 (source
1361 (origin
1362 (method url-fetch)
990cd5ef
RW
1363 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
1364 "resourcet-" version ".tar.gz"))
4af803a7
FB
1365 (sha256
1366 (base32
990cd5ef 1367 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
4af803a7 1368 (build-system haskell-build-system)
2d47cee2 1369 (inputs
85b2a2f5
PW
1370 `(("ghc-transformers-base" ,ghc-transformers-base)
1371 ("ghc-monad-control" ,ghc-monad-control)
1372 ("ghc-transformers-compat" ,ghc-transformers-compat)
85b2a2f5 1373 ("ghc-mmorph" ,ghc-mmorph)
990cd5ef
RW
1374 ("ghc-exceptions" ,ghc-exceptions)
1375 ("ghc-unliftio-core" ,ghc-unliftio-core)))
2d47cee2 1376 (native-inputs
85b2a2f5
PW
1377 `(("ghc-lifted-base" ,ghc-lifted-base)
1378 ("ghc-hspec" ,ghc-hspec)))
612fddec 1379 (home-page "https://github.com/snoyberg/conduit")
85b2a2f5
PW
1380 (synopsis "Deterministic allocation and freeing of scarce resources")
1381 (description "ResourceT is a monad transformer which creates a region of
1382code where you can safely allocate resources.")
3ac73271 1383 (license license:bsd-3)))
4af803a7 1384
74fa80ee 1385(define-public ghc-objectname
dc0ae39a 1386 (package
74fa80ee 1387 (name "ghc-objectname")
1d9d3ec2 1388 (version "1.1.0.1")
dc0ae39a
FB
1389 (source
1390 (origin
1391 (method url-fetch)
1392 (uri (string-append
612fddec 1393 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
dc0ae39a
FB
1394 version
1395 ".tar.gz"))
1396 (sha256
1397 (base32
1d9d3ec2 1398 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
dc0ae39a 1399 (build-system haskell-build-system)
74fa80ee
PW
1400 (home-page "https://hackage.haskell.org/package/ObjectName")
1401 (synopsis "Helper library for Haskell OpenGL")
1402 (description "This tiny package contains the class ObjectName, which
1403corresponds to the general notion of explicitly handled identifiers for API
1404objects, e.g. a texture object name in OpenGL or a buffer object name in
1405OpenAL.")
3ac73271 1406 (license license:bsd-3)))
dc0ae39a 1407
b784e8c5 1408(define-public ghc-sdl
7a1e8c74 1409 (package
b784e8c5 1410 (name "ghc-sdl")
30a8c0d8 1411 (version "0.6.7.0")
7a1e8c74
FB
1412 (source
1413 (origin
1414 (method url-fetch)
1415 (uri (string-append
612fddec 1416 "https://hackage.haskell.org/package/SDL/SDL-"
7a1e8c74
FB
1417 version
1418 ".tar.gz"))
1419 (sha256
1420 (base32
30a8c0d8 1421 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
7a1e8c74
FB
1422 (build-system haskell-build-system)
1423 (inputs
b784e8c5
PW
1424 `(("sdl" ,sdl)))
1425 (home-page "https://hackage.haskell.org/package/SDL")
1426 (synopsis "LibSDL for Haskell")
1427 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
1428multimedia library designed to provide low level access to audio, keyboard,
1429mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
1430by MPEG playback software, emulators, and many popular games, including the
1431award winning Linux port of \"Civilization: Call To Power.\"")
3ac73271 1432 (license license:bsd-3)))
7a1e8c74 1433
224a0ddb 1434(define-public ghc-sdl-mixer
eaa3088e 1435 (package
224a0ddb 1436 (name "ghc-sdl-mixer")
214fae87 1437 (version "0.6.3.0")
eaa3088e
FB
1438 (source
1439 (origin
1440 (method url-fetch)
1441 (uri (string-append
612fddec 1442 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
eaa3088e
FB
1443 version
1444 ".tar.gz"))
1445 (sha256
1446 (base32
214fae87 1447 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
eaa3088e 1448 (build-system haskell-build-system)
224a0ddb
PW
1449 (arguments
1450 `(#:configure-flags
1451 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
1452 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
fd59d2ee 1453 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
eaa3088e 1454 (inputs
2d47cee2
RW
1455 `(("ghc-sdl" ,ghc-sdl)
1456 ("sdl-mixer" ,sdl-mixer)))
612fddec 1457 (home-page "https://hackage.haskell.org/package/SDL-mixer")
224a0ddb
PW
1458 (synopsis "Haskell bindings to libSDL_mixer")
1459 (description "SDL_mixer is a sample multi-channel audio mixer library. It
1460supports any number of simultaneously playing channels of 16 bit stereo audio,
1461plus a single channel of music, mixed by the popular MikMod MOD, Timidity
1462MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
3ac73271 1463 (license license:bsd-3)))
eaa3088e 1464
c783cac0 1465(define-public ghc-sdl-image
61c02099 1466 (package
c783cac0 1467 (name "ghc-sdl-image")
cfd1a7d0 1468 (version "0.6.2.0")
61c02099
FB
1469 (source
1470 (origin
1471 (method url-fetch)
1472 (uri (string-append
612fddec 1473 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
61c02099
FB
1474 version
1475 ".tar.gz"))
1476 (sha256
1477 (base32
cfd1a7d0 1478 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
61c02099 1479 (build-system haskell-build-system)
61c02099 1480 (arguments
c783cac0
PW
1481 `(#:configure-flags
1482 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1483 (sdl-image-include (string-append sdl-image "/include/SDL")))
fd59d2ee 1484 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
c783cac0 1485 (inputs
2d47cee2
RW
1486 `(("ghc-sdl" ,ghc-sdl)
1487 ("sdl-image" ,sdl-image)))
612fddec 1488 (home-page "https://hackage.haskell.org/package/SDL-image")
c783cac0
PW
1489 (synopsis "Haskell bindings to libSDL_image")
1490 (description "SDL_image is an image file loading library. It loads images
1491as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1492PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
3ac73271 1493 (license license:bsd-3)))
61c02099 1494
22db3ce7 1495(define-public ghc-half
c5043f4a 1496 (package
22db3ce7 1497 (name "ghc-half")
16b4b6d1 1498 (version "0.3")
c5043f4a
FB
1499 (source
1500 (origin
1501 (method url-fetch)
1502 (uri (string-append
612fddec 1503 "https://hackage.haskell.org/package/half/half-"
f1c2aed7 1504 version ".tar.gz"))
c5043f4a
FB
1505 (sha256
1506 (base32
16b4b6d1 1507 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
c5043f4a 1508 (build-system haskell-build-system)
16b4b6d1
TS
1509 (native-inputs
1510 `(("ghc-hspec" ,ghc-hspec)
1511 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 1512 (home-page "https://github.com/ekmett/half")
22db3ce7
PW
1513 (synopsis "Half-precision floating-point computations")
1514 (description "This library provides a half-precision floating-point
1515computation library for Haskell.")
3ac73271 1516 (license license:bsd-3)))
c5043f4a 1517
0ffea6f2
RW
1518(define-public ghc-fixed
1519 (package
1520 (name "ghc-fixed")
1521 (version "0.2.1.1")
1522 (source
1523 (origin
1524 (method url-fetch)
1525 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
1526 version ".tar.gz"))
1527 (sha256
1528 (base32
1529 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
1530 (build-system haskell-build-system)
1531 (home-page "https://github.com/ekmett/fixed")
1532 (synopsis "Signed 15.16 precision fixed point arithmetic")
1533 (description
1534 "This package provides functions for signed 15.16 precision fixed point
1535arithmetic.")
1536 (license license:bsd-3)))
1537
c480b85e 1538(define-public ghc-openglraw
01a687da 1539 (package
c480b85e 1540 (name "ghc-openglraw")
1aacec9e 1541 (version "3.3.1.0")
01a687da
FB
1542 (source
1543 (origin
1544 (method url-fetch)
1545 (uri (string-append
612fddec 1546 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
01a687da
FB
1547 version
1548 ".tar.gz"))
1549 (sha256
1550 (base32
1aacec9e 1551 "1x8w3x308jldj2c1xqcq3a3sc2jc06pdpgqkgjsmixi1skv4a1vb"))))
01a687da
FB
1552 (build-system haskell-build-system)
1553 (inputs
c480b85e 1554 `(("ghc-half" ,ghc-half)
e80e97b5 1555 ("ghc-fixed" ,ghc-fixed)
c480b85e
PW
1556 ("glu" ,glu)
1557 ("ghc-text" ,ghc-text)))
98b90194 1558 (home-page "https://www.haskell.org/haskellwiki/Opengl")
c480b85e
PW
1559 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1560 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1561graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1562of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1563offers access to all necessary functions, tokens and types plus a general
1564facility for loading extension entries. The module hierarchy closely mirrors
1565the naming structure of the OpenGL extensions, making it easy to find the
1566right module to import. All API entries are loaded dynamically, so no special
1567C header files are needed for building this package. If an API entry is not
1568found at runtime, a userError is thrown.")
3ac73271 1569 (license license:bsd-3)))
01a687da 1570
bce03084 1571(define-public ghc-glut
d692228e 1572 (package
bce03084 1573 (name "ghc-glut")
2dee6394 1574 (version "2.7.0.14")
d692228e
FB
1575 (source
1576 (origin
1577 (method url-fetch)
1578 (uri (string-append
612fddec 1579 "https://hackage.haskell.org/package/GLUT/GLUT-"
d692228e
FB
1580 version
1581 ".tar.gz"))
1582 (sha256
1583 (base32
2dee6394 1584 "01i162fly4q1751fp60lgkzlb8kr0qqbvmxj74zc6skb19qggy2w"))))
d692228e 1585 (build-system haskell-build-system)
2d47cee2 1586 (inputs
bce03084 1587 `(("ghc-statevar" ,ghc-statevar)
2d47cee2 1588 ("ghc-opengl" ,ghc-opengl)
dd169b73 1589 ("ghc-openglraw" ,ghc-openglraw)
bce03084 1590 ("freeglut" ,freeglut)))
98b90194 1591 (home-page "https://www.haskell.org/haskellwiki/Opengl")
bce03084
PW
1592 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1593 (description "This library provides Haskell bindings for the OpenGL
1594Utility Toolkit, a window system-independent toolkit for writing OpenGL
1595programs.")
3ac73271 1596 (license license:bsd-3)))
d692228e 1597
894562e3 1598(define-public ghc-gluraw
fa468e87 1599 (package
894562e3 1600 (name "ghc-gluraw")
211b2133 1601 (version "2.0.0.4")
fa468e87
FB
1602 (source
1603 (origin
1604 (method url-fetch)
1605 (uri (string-append
612fddec 1606 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
fa468e87
FB
1607 version
1608 ".tar.gz"))
1609 (sha256
894562e3 1610 (base32
211b2133 1611 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
fa468e87 1612 (build-system haskell-build-system)
2d47cee2 1613 (inputs
894562e3 1614 `(("ghc-openglraw" ,ghc-openglraw)))
98b90194 1615 (home-page "https://www.haskell.org/haskellwiki/Opengl")
894562e3
PW
1616 (synopsis "Raw Haskell bindings GLU")
1617 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1618utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1619basis for a nicer interface.")
3ac73271 1620 (license license:bsd-3)))
fa468e87 1621
fe28ba70 1622(define-public ghc-opengl
f50fc138 1623 (package
fe28ba70 1624 (name "ghc-opengl")
ce88eae9 1625 (version "3.0.2.2")
f50fc138
FB
1626 (source
1627 (origin
1628 (method url-fetch)
1629 (uri (string-append
612fddec 1630 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
f50fc138
FB
1631 version
1632 ".tar.gz"))
1633 (sha256
1634 (base32
ce88eae9 1635 "19vxwvx2n8zq2klj176l25n2b64ybp0b8mhm4p46gvpcivz41fjc"))))
f50fc138 1636 (build-system haskell-build-system)
2d47cee2 1637 (inputs
fe28ba70
PW
1638 `(("ghc-text" ,ghc-text)
1639 ("ghc-objectname" ,ghc-objectname)
1640 ("ghc-gluraw" ,ghc-gluraw)
1641 ("ghc-statevar" ,ghc-statevar)
1642 ("ghc-openglraw" ,ghc-openglraw)))
98b90194 1643 (home-page "https://www.haskell.org/haskellwiki/Opengl")
fe28ba70
PW
1644 (synopsis "Haskell bindings for the OpenGL graphics system")
1645 (description "This package provides Haskell bindings for the OpenGL
1646graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1647version 1.3).")
3ac73271 1648 (license license:bsd-3)))
f50fc138 1649
f550db48 1650(define-public ghc-streaming-commons
abfed253 1651 (package
f550db48 1652 (name "ghc-streaming-commons")
c437b800 1653 (version "0.2.1.0")
abfed253
FB
1654 (source
1655 (origin
1656 (method url-fetch)
c437b800
RW
1657 (uri (string-append "https://hackage.haskell.org/package/"
1658 "streaming-commons/streaming-commons-"
1659 version ".tar.gz"))
abfed253
FB
1660 (sha256
1661 (base32
c437b800 1662 "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
abfed253
FB
1663 (build-system haskell-build-system)
1664 (inputs
c437b800
RW
1665 `(("ghc-async" ,ghc-async)
1666 ("ghc-blaze-builder" ,ghc-blaze-builder)
2d47cee2
RW
1667 ("ghc-network" ,ghc-network)
1668 ("ghc-random" ,ghc-random)
f550db48
PW
1669 ("ghc-stm" ,ghc-stm)
1670 ("ghc-text" ,ghc-text)
f550db48 1671 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
1672 (native-inputs
1673 `(("ghc-quickcheck" ,ghc-quickcheck)
1674 ("ghc-hspec" ,ghc-hspec)
1675 ("hspec-discover" ,hspec-discover)))
f550db48
PW
1676 (home-page "https://hackage.haskell.org/package/streaming-commons")
1677 (synopsis "Conduit and pipes needed by some streaming data libraries")
b90f72dc
RW
1678 (description "This package provides low-dependency functionality commonly
1679needed by various Haskell streaming data libraries, such as @code{conduit} and
f550db48 1680@code{pipe}s.")
b90f72dc 1681 (license license:expat)))
abfed253 1682
78249cc0 1683(define-public cpphs
9ce031c5 1684 (package
78249cc0 1685 (name "cpphs")
c12562e1 1686 (version "1.20.8")
9ce031c5
FB
1687 (source
1688 (origin
1689 (method url-fetch)
1690 (uri (string-append
612fddec 1691 "https://hackage.haskell.org/package/" name "/"
78249cc0
PW
1692 name "-" version ".tar.gz"))
1693 (sha256
1694 (base32
c12562e1 1695 "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
78249cc0 1696 (build-system haskell-build-system)
2d47cee2 1697 (inputs
78249cc0
PW
1698 `(("ghc-polyparse" ,ghc-polyparse)
1699 ("ghc-old-locale" ,ghc-old-locale)
1700 ("ghc-old-time" ,ghc-old-time)))
1701 (home-page "http://projects.haskell.org/cpphs/")
1702 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1703 (description "Cpphs is a re-implementation of the C pre-processor that is
1704both more compatible with Haskell, and itself written in Haskell so that it
1705can be distributed with compilers. This version of the C pre-processor is
1706pretty-much feature-complete and compatible with traditional (K&R)
1707pre-processors. Additional features include: a plain-text mode; an option to
1708unlit literate code files; and an option to turn off macro-expansion.")
3ac73271 1709 (license (list license:lgpl2.1+ license:gpl3+))))
78249cc0 1710
865ac573
PW
1711(define-public ghc-reflection
1712 (package
1713 (name "ghc-reflection")
e7e74518 1714 (version "2.1.4")
865ac573
PW
1715 (source
1716 (origin
1717 (method url-fetch)
1718 (uri (string-append
612fddec 1719 "https://hackage.haskell.org/package/reflection/reflection-"
9ce031c5
FB
1720 version
1721 ".tar.gz"))
1722 (sha256
1723 (base32
e7e74518 1724 "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj"))))
9ce031c5 1725 (build-system haskell-build-system)
865ac573 1726 (inputs `(("ghc-tagged" ,ghc-tagged)))
612fddec 1727 (home-page "https://github.com/ekmett/reflection")
865ac573
PW
1728 (synopsis "Reify arbitrary terms into types that can be reflected back
1729into terms")
1730 (description "This package addresses the 'configuration problem' which is
1731propogating configurations that are available at run-time, allowing multiple
1732configurations to coexist without resorting to mutable global variables or
1733@code{System.IO.Unsafe.unsafePerformIO}.")
3ac73271 1734 (license license:bsd-3)))
9ce031c5 1735
6a0add9c 1736(define-public ghc-old-locale
a231ef7e 1737 (package
6a0add9c
PW
1738 (name "ghc-old-locale")
1739 (version "1.0.0.7")
a231ef7e
FB
1740 (source
1741 (origin
1742 (method url-fetch)
1743 (uri (string-append
612fddec 1744 "https://hackage.haskell.org/package/old-locale/old-locale-"
a231ef7e
FB
1745 version
1746 ".tar.gz"))
1747 (sha256
6a0add9c 1748 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
a231ef7e 1749 (build-system haskell-build-system)
afff0b6d 1750 (arguments
12eb67dc
TS
1751 `(#:cabal-revision
1752 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
612fddec 1753 (home-page "https://hackage.haskell.org/package/old-locale")
6a0add9c
PW
1754 (synopsis "Adapt to locale conventions")
1755 (description
1756 "This package provides the ability to adapt to locale conventions such as
1757date and time formats.")
3ac73271 1758 (license license:bsd-3)))
6a0add9c 1759
7ae4c102
PW
1760(define-public ghc-old-time
1761 (package
1762 (name "ghc-old-time")
1763 (version "1.1.0.3")
1764 (source
1765 (origin
1766 (method url-fetch)
1767 (uri (string-append
612fddec 1768 "https://hackage.haskell.org/package/old-time/old-time-"
7ae4c102
PW
1769 version
1770 ".tar.gz"))
1771 (sha256
1772 (base32
1773 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1774 (build-system haskell-build-system)
037181ed 1775 (arguments
e3777511
TS
1776 `(#:cabal-revision
1777 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
2d47cee2 1778 (inputs
7ae4c102 1779 `(("ghc-old-locale" ,ghc-old-locale)))
612fddec 1780 (home-page "https://hackage.haskell.org/package/old-time")
7ae4c102
PW
1781 (synopsis "Time compatibility library for Haskell")
1782 (description "Old-time is a package for backwards compatibility with the
1783old @code{time} library. For new projects, the newer
612fddec 1784@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
3ac73271 1785 (license license:bsd-3)))
7ae4c102 1786
684f29ab
SB
1787(define-public ghc-data-default-instances-old-locale
1788 (package
1789 (name "ghc-data-default-instances-old-locale")
1790 (version "0.0.1")
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri (string-append
612fddec 1795 "https://hackage.haskell.org/package/"
684f29ab
SB
1796 "data-default-instances-old-locale/"
1797 "data-default-instances-old-locale-" version ".tar.gz"))
1798 (sha256
1799 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1800 (build-system haskell-build-system)
2d47cee2 1801 (inputs
6a0add9c
PW
1802 `(("ghc-data-default-class" ,ghc-data-default-class)
1803 ("ghc-old-locale" ,ghc-old-locale)))
684f29ab 1804 (home-page
612fddec 1805 "https://hackage.haskell.org/package/data-default-instances-old-locale")
684f29ab
SB
1806 (synopsis "Default instances for types in old-locale")
1807 (description "Provides Default instances for types from the old-locale
1808 package.")
3ac73271 1809 (license license:bsd-3)))
684f29ab 1810
eb6ae860
SB
1811(define-public ghc-dlist
1812 (package
1813 (name "ghc-dlist")
40a6d7a2 1814 (version "0.8.0.4")
eb6ae860
SB
1815 (source
1816 (origin
1817 (method url-fetch)
1818 (uri (string-append
612fddec 1819 "https://hackage.haskell.org/package/dlist/dlist-"
eb6ae860
SB
1820 version
1821 ".tar.gz"))
1822 (sha256
40a6d7a2 1823 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
eb6ae860 1824 (build-system haskell-build-system)
409ec7c0
PW
1825 (inputs
1826 `(("ghc-quickcheck" ,ghc-quickcheck)))
eb6ae860
SB
1827 (home-page "https://github.com/spl/dlist")
1828 (synopsis "Difference lists")
1829 (description
1830 "Difference lists are a list-like type supporting O(1) append. This is
1831particularly useful for efficient logging and pretty printing (e.g. with the
1832Writer monad), where list append quickly becomes too expensive.")
3ac73271 1833 (license license:bsd-3)))
eb6ae860 1834
05b964ae
SB
1835(define-public ghc-extensible-exceptions
1836 (package
1837 (name "ghc-extensible-exceptions")
1838 (version "0.1.1.4")
1839 (source
1840 (origin
1841 (method url-fetch)
612fddec 1842 (uri (string-append "https://hackage.haskell.org/package/"
05b964ae
SB
1843 "extensible-exceptions/extensible-exceptions-"
1844 version ".tar.gz"))
1845 (sha256
1846 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1847 (build-system haskell-build-system)
612fddec 1848 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
05b964ae
SB
1849 (synopsis "Extensible exceptions for Haskell")
1850 (description
1851 "This package provides extensible exceptions for both new and old
1852versions of GHC (i.e., < 6.10).")
3ac73271 1853 (license license:bsd-3)))
05b964ae 1854
c4a68dea
TS
1855(define-public ghc-echo
1856 (package
1857 (name "ghc-echo")
1858 (version "0.1.3")
1859 (source
1860 (origin
1861 (method url-fetch)
1862 (uri (string-append
1863 "https://hackage.haskell.org/package/echo/echo-"
1864 version ".tar.gz"))
1865 (sha256
1866 (base32
1867 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
1868 (build-system haskell-build-system)
1869 (arguments
1870 `(#:cabal-revision
1871 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
1872 (home-page "https://github.com/RyanGlScott/echo")
1873 (synopsis "Echo terminal input portably")
1874 (description "The @code{base} library exposes the @code{hGetEcho} and
1875@code{hSetEcho} functions for querying and setting echo status, but
1876unfortunately, neither function works with MinTTY consoles on Windows.
1877This library provides an alternative interface which works with both
1878MinTTY and other consoles.")
1879 (license license:bsd-3)))
1880
df1db767
SB
1881(define-public cabal-install
1882 (package
1883 (name "cabal-install")
35a9b5c7 1884 (version "1.22.6.0")
df1db767
SB
1885 (source
1886 (origin
1887 (method url-fetch)
1888 (uri (string-append
612fddec 1889 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
df1db767
SB
1890 version
1891 ".tar.gz"))
1892 (sha256
35a9b5c7 1893 (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
df1db767
SB
1894 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
1895 (build-system haskell-build-system)
2d47cee2 1896 (inputs
df1db767 1897 `(("ghc-http" ,ghc-http)
df1db767
SB
1898 ("ghc-network-uri" ,ghc-network-uri)
1899 ("ghc-network" ,ghc-network)
1900 ("ghc-random" ,ghc-random)
1901 ("ghc-stm" ,ghc-stm)
1902 ("ghc-zlib" ,ghc-zlib)))
98b90194 1903 (home-page "https://www.haskell.org/cabal/")
df1db767
SB
1904 (synopsis "Command-line interface for Cabal and Hackage")
1905 (description
1906 "The cabal command-line program simplifies the process of managing
1907Haskell software by automating the fetching, configuration, compilation and
1908installation of Haskell libraries and programs.")
3ac73271 1909 (license license:bsd-3)))
df1db767 1910
3168796a
RW
1911(define-public cabal-doctest
1912 (package
1913 (name "cabal-doctest")
1914 (version "1.0.6")
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append "https://hackage.haskell.org/package/"
1919 "cabal-doctest/cabal-doctest-"
1920 version ".tar.gz"))
1921 (sha256
1922 (base32
1923 "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
1924 (build-system haskell-build-system)
988dee48
TS
1925 (arguments
1926 `(#:cabal-revision
1927 ("1" "1bk85avgc93yvcggwbk01fy8nvg6753wgmaanhkry0hz55h7mpld")))
3168796a
RW
1928 (home-page "https://github.com/phadej/cabal-doctest")
1929 (synopsis "Setup.hs helper for running doctests")
1930 (description
1931 "To properly work, the @code{doctest} package needs plenty of
1932configuration. This library provides the common bits for writing custom
1933@file{Setup.hs} files.")
1934 (license license:bsd-3)))
1935
fe0fb890
TGR
1936(define-public ghc-parsec-numbers
1937 (package
1938 (name "ghc-parsec-numbers")
1939 (version "0.1.0")
1940 (source
1941 (origin
1942 (method url-fetch)
1943 (uri (string-append "https://hackage.haskell.org/package/"
1944 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
1945 (sha256
1946 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
1947 (build-system haskell-build-system)
1948 (inputs
1949 `(("ghc-parsec" ,ghc-parsec)))
95bf0780 1950 (home-page "https://hackage.haskell.org/package/parsec-numbers")
fe0fb890
TGR
1951 (synopsis "Utilities for parsing numbers from strings")
1952 (description
1953 "This package provides the number parsers without the need to use a large
1954(and unportable) token parser.")
1955 (license license:bsd-3)))
1956
0939da6e
FB
1957(define-public ghc-paths
1958 (package
1959 (name "ghc-paths")
1960 (version "0.1.0.9")
1961 (outputs '("out" "doc"))
1962 (source
1963 (origin
1964 (method url-fetch)
1965 (uri (string-append
612fddec 1966 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
0939da6e
FB
1967 version
1968 ".tar.gz"))
1969 (sha256
1970 (base32
1971 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
1972 (build-system haskell-build-system)
1973 (home-page "https://github.com/simonmar/ghc-paths")
1974 (synopsis
1975 "Knowledge of GHC's installation directories")
1976 (description
1977 "Knowledge of GHC's installation directories.")
3ac73271 1978 (license license:bsd-3)))
0939da6e 1979
7fc7186e
SB
1980(define-public ghc-utf8-string
1981 (package
1982 (name "ghc-utf8-string")
ac426aa5 1983 (version "1.0.1.1")
7fc7186e
SB
1984 (source
1985 (origin
1986 (method url-fetch)
1987 (uri (string-append
612fddec 1988 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
7fc7186e
SB
1989 version
1990 ".tar.gz"))
1991 (sha256
ac426aa5 1992 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
7fc7186e 1993 (build-system haskell-build-system)
4fe3ce82 1994 (arguments
c325dde2
TS
1995 `(#:cabal-revision
1996 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
612fddec 1997 (home-page "https://github.com/glguy/utf8-string/")
7fc7186e
SB
1998 (synopsis "Support for reading and writing UTF8 Strings")
1999 (description
ac426aa5 2000 "A UTF8 layer for Strings. The utf8-string package provides operations
7fc7186e
SB
2001for encoding UTF8 strings to Word8 lists and back, and for reading and writing
2002UTF8 without truncation.")
3ac73271 2003 (license license:bsd-3)))
7fc7186e 2004
a45a15df
PW
2005(define-public ghc-setenv
2006 (package
2007 (name "ghc-setenv")
2008 (version "0.1.1.3")
2009 (source
2010 (origin
2011 (method url-fetch)
2012 (uri (string-append
612fddec 2013 "https://hackage.haskell.org/package/setenv/setenv-"
a45a15df
PW
2014 version
2015 ".tar.gz"))
2016 (sha256
2017 (base32
2018 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
2019 (build-system haskell-build-system)
612fddec 2020 (home-page "https://hackage.haskell.org/package/setenv")
a45a15df
PW
2021 (synopsis "Library for setting environment variables")
2022 (description "This package provides a Haskell library for setting
2023environment variables.")
3ac73271 2024 (license license:expat)))
a45a15df 2025
c7bdb413
MM
2026(define-public ghc-setlocale
2027 (package
2028 (name "ghc-setlocale")
42f2732e 2029 (version "1.0.0.8")
c7bdb413
MM
2030 (source (origin
2031 (method url-fetch)
2032 (uri (string-append
2033 "https://hackage.haskell.org/package/setlocale-"
2034 version "/setlocale-" version ".tar.gz"))
2035 (sha256
2036 (base32
42f2732e 2037 "0sdrsmkhw08483d73ysgm2926fdbhii61br03lqpqw0lfzj4ilbd"))))
c7bdb413
MM
2038 (build-system haskell-build-system)
2039 (home-page "https://hackage.haskell.org/package/setlocale")
2040 (synopsis "Haskell bindings to setlocale")
2041 (description "This package provides Haskell bindings to the
2042@code{setlocale} C function.")
2043 (license license:bsd-3)))
2044
720fb41c
SB
2045(define-public ghc-x11
2046 (package
2047 (name "ghc-x11")
d09b2ad4 2048 (version "1.9")
720fb41c
SB
2049 (source
2050 (origin
2051 (method url-fetch)
612fddec 2052 (uri (string-append "https://hackage.haskell.org/package/X11/"
720fb41c
SB
2053 "X11-" version ".tar.gz"))
2054 (sha256
d09b2ad4 2055 (base32 "1f8dy6ckkyvpcv7zlniyv01cqjb9lgqscm8pml58cvwc7n38w4qh"))))
720fb41c
SB
2056 (build-system haskell-build-system)
2057 (inputs
2058 `(("libx11" ,libx11)
2059 ("libxrandr" ,libxrandr)
2060 ("libxinerama" ,libxinerama)
2d47cee2
RW
2061 ("libxscrnsaver" ,libxscrnsaver)
2062 ("ghc-data-default" ,ghc-data-default)))
720fb41c
SB
2063 (home-page "https://github.com/haskell-pkg-janitors/X11")
2064 (synopsis "Bindings to the X11 graphics library")
2065 (description
2066 "This package provides Haskell bindings to the X11 graphics library. The
2067bindings are a direct translation of the C bindings.")
3ac73271 2068 (license license:bsd-3)))
720fb41c 2069
c34507d6
SB
2070(define-public ghc-x11-xft
2071 (package
2072 (name "ghc-x11-xft")
2073 (version "0.3.1")
2074 (source
2075 (origin
2076 (method url-fetch)
612fddec 2077 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
c34507d6
SB
2078 "X11-xft-" version ".tar.gz"))
2079 (sha256
2080 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
c34507d6 2081 (inputs
2d47cee2
RW
2082 `(("ghc-x11" ,ghc-x11)
2083 ("ghc-utf8-string" ,ghc-utf8-string)
2084 ("libx11" ,libx11)
c34507d6 2085 ("libxft" ,libxft)
6a6db57f 2086 ("xorgproto" ,xorgproto)))
c34507d6
SB
2087 (native-inputs
2088 `(("pkg-config" ,pkg-config)))
2089 (build-system haskell-build-system)
612fddec 2090 (home-page "https://hackage.haskell.org/package/X11-xft")
c34507d6
SB
2091 (synopsis "Bindings to Xft")
2092 (description
2093 "Bindings to the Xft, X Free Type interface library, and some Xrender
2094parts.")
3ac73271 2095 (license license:lgpl2.1)))
c34507d6 2096
318f9d88
PW
2097(define-public ghc-stringbuilder
2098 (package
2099 (name "ghc-stringbuilder")
4112a2e7 2100 (version "0.5.1")
318f9d88
PW
2101 (source
2102 (origin
2103 (method url-fetch)
2104 (uri (string-append
612fddec 2105 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
318f9d88
PW
2106 version
2107 ".tar.gz"))
2108 (sha256
2109 (base32
4112a2e7 2110 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
318f9d88
PW
2111 (build-system haskell-build-system)
2112 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
2113 ; enabled
612fddec 2114 (home-page "https://hackage.haskell.org/package/stringbuilder")
318f9d88
PW
2115 (synopsis "Writer monad for multi-line string literals")
2116 (description "This package provides a writer monad for multi-line string
2117literals.")
3ac73271 2118 (license license:expat)))
318f9d88 2119
3d3613d5
FB
2120(define-public ghc-zlib
2121 (package
2122 (name "ghc-zlib")
d3c7e708 2123 (version "0.6.2")
3d3613d5
FB
2124 (outputs '("out" "doc"))
2125 (source
2126 (origin
2127 (method url-fetch)
2128 (uri (string-append
612fddec 2129 "https://hackage.haskell.org/package/zlib/zlib-"
3d3613d5
FB
2130 version
2131 ".tar.gz"))
2132 (sha256
2133 (base32
d3c7e708 2134 "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
3d3613d5 2135 (build-system haskell-build-system)
e09ef4fc
TS
2136 (arguments
2137 `(#:phases
2138 (modify-phases %standard-phases
2139 (add-before 'configure 'strip-test-framework-constraints
2140 (lambda _
2141 (substitute* "zlib.cabal"
2142 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
2143 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
2144 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
3d3613d5 2145 (inputs `(("zlib" ,zlib)))
906a396b
AI
2146 (native-inputs
2147 `(("ghc-quickcheck" ,ghc-quickcheck)
2148 ("ghc-tasty" ,ghc-tasty)
2149 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2150 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
612fddec 2151 (home-page "https://hackage.haskell.org/package/zlib")
3d3613d5
FB
2152 (synopsis
2153 "Compression and decompression in the gzip and zlib formats")
2154 (description
2155 "This package provides a pure interface for compressing and decompressing
2156streams of data represented as lazy 'ByteString's. It uses the zlib C library
2157so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
2158compression formats. It provides a convenient high level API suitable for
2159most tasks and for the few cases where more control is needed it provides
2160access to the full zlib feature set.")
3ac73271 2161 (license license:bsd-3)))
3d3613d5 2162
a39f3936
FB
2163(define-public ghc-stm
2164 (package
2165 (name "ghc-stm")
567bf5b9 2166 (version "2.4.5.0")
a39f3936
FB
2167 (outputs '("out" "doc"))
2168 (source
2169 (origin
2170 (method url-fetch)
2171 (uri (string-append
612fddec 2172 "https://hackage.haskell.org/package/stm/stm-"
a39f3936
FB
2173 version
2174 ".tar.gz"))
2175 (sha256
2176 (base32
567bf5b9 2177 "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri"))))
a39f3936 2178 (build-system haskell-build-system)
612fddec 2179 (home-page "https://hackage.haskell.org/package/stm")
a39f3936
FB
2180 (synopsis "Software Transactional Memory")
2181 (description
567bf5b9
RW
2182 "Software Transactional Memory, or STM, is an abstraction for concurrent
2183communication. The main benefits of STM are composability and modularity.
2184That is, using STM you can write concurrent abstractions that can be easily
2185composed with any other abstraction built using STM, without exposing the
2186details of how your abstraction ensures safety. This is typically not the
2187case with other forms of concurrent communication, such as locks or
2188@code{MVar}s.")
3ac73271 2189 (license license:bsd-3)))
a39f3936 2190
e916e211
FB
2191(define-public ghc-parallel
2192 (package
2193 (name "ghc-parallel")
62f97b12 2194 (version "3.2.2.0")
e916e211
FB
2195 (outputs '("out" "doc"))
2196 (source
2197 (origin
2198 (method url-fetch)
2199 (uri (string-append
612fddec 2200 "https://hackage.haskell.org/package/parallel/parallel-"
e916e211
FB
2201 version
2202 ".tar.gz"))
2203 (sha256
2204 (base32
62f97b12 2205 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
e916e211 2206 (build-system haskell-build-system)
612fddec 2207 (home-page "https://hackage.haskell.org/package/parallel")
e916e211
FB
2208 (synopsis "Parallel programming library")
2209 (description
2210 "This package provides a library for parallel programming.")
3ac73271 2211 (license license:bsd-3)))
e916e211 2212
6950a450
TS
2213(define-public ghc-safesemaphore
2214 (package
2215 (name "ghc-safesemaphore")
2216 (version "0.10.1")
2217 (source
2218 (origin
2219 (method url-fetch)
2220 (uri (string-append "https://hackage.haskell.org/package/"
2221 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
2222 (sha256
2223 (base32
2224 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
2225 (build-system haskell-build-system)
2226 (inputs
2227 `(("ghc-stm" ,ghc-stm)))
2228 (native-inputs
2229 `(("ghc-hunit" ,ghc-hunit)))
2230 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
2231 (synopsis "Exception safe semaphores")
2232 (description "This library provides exception safe semaphores that can be
2233used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
2234are not exception safe and can be broken by @code{killThread}.")
2235 (license license:bsd-3)))
2236
deb36de0
FB
2237(define-public ghc-text
2238 (package
2239 (name "ghc-text")
44f717ef 2240 (version "1.2.3.0")
deb36de0
FB
2241 (outputs '("out" "doc"))
2242 (source
2243 (origin
2244 (method url-fetch)
2245 (uri (string-append
612fddec 2246 "https://hackage.haskell.org/package/text/text-"
deb36de0
FB
2247 version
2248 ".tar.gz"))
2249 (sha256
2250 (base32
44f717ef 2251 "06iir7q99rnffzxi8gagn8w1k9m49368sbidgz634fv1gxib3q10"))))
deb36de0 2252 (build-system haskell-build-system)
5e3840e2
RW
2253 ;; The test dependencies depend on ghc-text: ghc-test-framework -> ghc-xml -> ghc-text
2254 (arguments `(#:tests? #f))
2255 (inputs
2256 `(("ghc-random" ,ghc-random)))
deb36de0 2257 (home-page "https://github.com/bos/text")
1eefe4a8 2258 (synopsis "Efficient packed Unicode text type library")
deb36de0
FB
2259 (description
2260 "An efficient packed, immutable Unicode text type (both strict and
2261lazy), with a powerful loop fusion optimization framework.
2262
2263The 'Text' type represents Unicode character strings, in a time and
1eefe4a8 2264space-efficient manner. This package provides text processing
deb36de0
FB
2265capabilities that are optimized for performance critical use, both
2266in terms of large data quantities and high speed.")
3ac73271 2267 (license license:bsd-3)))
deb36de0 2268
f941a52a
RW
2269(define-public ghc-text-binary
2270 (package
2271 (name "ghc-text-binary")
2272 (version "0.2.1.1")
2273 (source
2274 (origin
2275 (method url-fetch)
2276 (uri (string-append "https://hackage.haskell.org/package/"
2277 "text-binary/text-binary-"
2278 version ".tar.gz"))
2279 (sha256
2280 (base32
2281 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
2282 (build-system haskell-build-system)
2283 (inputs `(("ghc-text" ,ghc-text)))
2284 (home-page "https://github.com/kawu/text-binary")
2285 (synopsis "Binary instances for text types")
2286 (description
2287 "This package provides a compatibility layer providing @code{Binary}
2288instances for strict and lazy text types for versions older than 1.2.1 of the
2289text package.")
2290 (license license:bsd-2)))
2291
f99a57dc
AV
2292(define-public ghc-strict
2293 (package
2294 (name "ghc-strict")
2295 (version "0.3.2")
2296 (source
2297 (origin
2298 (method url-fetch)
2299 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
2300 version ".tar.gz"))
2301 (sha256
2302 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
2303 (build-system haskell-build-system)
2304 (home-page "https://hackage.haskell.org/package/strict")
2305 (synopsis "Strict data types and String IO")
2306 (description
2307 "This package provides strict versions of some standard Haskell data
2308types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
2309IO operations.")
2310 (license license:bsd-3)))
2311
775be802
FB
2312(define-public ghc-hashable
2313 (package
2314 (name "ghc-hashable")
c496fb98 2315 (version "1.2.7.0")
775be802
FB
2316 (outputs '("out" "doc"))
2317 (source
2318 (origin
2319 (method url-fetch)
2320 (uri (string-append
612fddec 2321 "https://hackage.haskell.org/package/hashable/hashable-"
775be802
FB
2322 version
2323 ".tar.gz"))
2324 (sha256
2325 (base32
c496fb98 2326 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
775be802 2327 (build-system haskell-build-system)
2d47cee2 2328 (inputs
c165ff9c
RW
2329 `(("ghc-text" ,ghc-text)
2330 ("ghc-random" ,ghc-random)))
2331 (native-inputs
2332 `(("ghc-test-framework" ,ghc-test-framework)
2333 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2334 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2335 ("ghc-hunit" ,ghc-hunit)
2336 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 2337 (home-page "https://github.com/tibbe/hashable")
c165ff9c 2338 (synopsis "Class for types that can be converted to a hash value")
775be802 2339 (description
c165ff9c 2340 "This package defines a class, @code{Hashable}, for types that can be
775be802
FB
2341converted to a hash value. This class exists for the benefit of hashing-based
2342data structures. The package provides instances for basic types and a way to
2343combine hash values.")
3ac73271 2344 (license license:bsd-3)))
775be802 2345
bc8bda50
TS
2346(define-public ghc-hashable-bootstrap
2347 (package
2348 (inherit ghc-hashable)
2349 (name "ghc-hashable-bootstrap")
2350 (arguments `(#:tests? #f))
2351 (native-inputs '())
2352 (properties '((hidden? #t)))))
2353
82674ed9
RW
2354(define-public ghc-hashable-time
2355 (package
2356 (name "ghc-hashable-time")
2357 (version "0.2.0.1")
2358 (source
2359 (origin
2360 (method url-fetch)
2361 (uri (string-append
2362 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
2363 version
2364 ".tar.gz"))
2365 (sha256
2366 (base32
2367 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
2368 (build-system haskell-build-system)
75c07ef5
TS
2369 (arguments
2370 `(#:cabal-revision
2371 ("1" "0rv40xkg3gj8jnqsry1gq3f5s5la6d5arg8fzkirnwdpcgha1as6")))
82674ed9
RW
2372 (inputs `(("ghc-hashable" ,ghc-hashable)))
2373 (home-page "http://hackage.haskell.org/package/hashable-time")
2374 (synopsis "Hashable instances for Data.Time")
2375 (description
2376 "This package provides @code{Hashable} instances for types in
2377@code{Data.Time}.")
2378 (license license:bsd-3)))
2379
ca48a345
AV
2380(define-public ghc-data-hash
2381 (package
2382 (name "ghc-data-hash")
2383 (version "0.2.0.1")
2384 (source
2385 (origin
2386 (method url-fetch)
2387 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2388 "/data-hash-" version ".tar.gz"))
2389 (sha256
2390 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2391 (build-system haskell-build-system)
2392 (inputs
2393 `(("ghc-quickcheck" ,ghc-quickcheck)
2394 ("ghc-test-framework" ,ghc-test-framework)
2395 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2396 (home-page "https://hackage.haskell.org/package/data-hash")
2397 (synopsis "Combinators for building fast hashing functions")
2398 (description
2399 "This package provides combinators for building fast hashing functions.
2400It includes hashing functions for all basic Haskell98 types.")
2401 (license license:bsd-3)))
2402
a623fd7f
AV
2403(define-public ghc-murmur-hash
2404 (package
2405 (name "ghc-murmur-hash")
2406 (version "0.1.0.9")
2407 (source
2408 (origin
2409 (method url-fetch)
2410 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
2411 "/murmur-hash-" version ".tar.gz"))
2412 (sha256
2413 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
2414 (build-system haskell-build-system)
2415 (home-page "https://github.com/nominolo/murmur-hash")
2416 (synopsis "MurmurHash2 implementation for Haskell")
2417 (description
2418 "This package provides an implementation of MurmurHash2, a good, fast,
2419general-purpose, non-cryptographic hashing function. See
2420@url{https://sites.google.com/site/murmurhash/} for details. This
2421implementation is pure Haskell, so it might be a bit slower than a C FFI
2422binding.")
2423 (license license:bsd-3)))
2424
df596b94
FB
2425(define-public ghc-random
2426 (package
2427 (name "ghc-random")
2428 (version "1.1")
2429 (outputs '("out" "doc"))
2430 (source
2431 (origin
2432 (method url-fetch)
2433 (uri (string-append
612fddec 2434 "https://hackage.haskell.org/package/random/random-"
df596b94
FB
2435 version
2436 ".tar.gz"))
2437 (sha256
2438 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
2439 (build-system haskell-build-system)
612fddec 2440 (home-page "https://hackage.haskell.org/package/random")
df596b94
FB
2441 (synopsis "Random number library")
2442 (description "This package provides a basic random number generation
2443library, including the ability to split random number generators.")
3ac73271 2444 (license license:bsd-3)))
4af803a7
FB
2445
2446(define-public ghc-primitive
2447 (package
2448 (name "ghc-primitive")
49e5432b 2449 (version "0.6.3.0")
4af803a7
FB
2450 (outputs '("out" "doc"))
2451 (source
2452 (origin
2453 (method url-fetch)
2454 (uri (string-append
612fddec 2455 "https://hackage.haskell.org/package/primitive/primitive-"
4af803a7
FB
2456 version
2457 ".tar.gz"))
2458 (sha256
2459 (base32
49e5432b 2460 "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd"))))
4af803a7
FB
2461 (build-system haskell-build-system)
2462 (home-page
2463 "https://github.com/haskell/primitive")
2464 (synopsis "Primitive memory-related operations")
2465 (description
2466 "This package provides various primitive memory-related operations.")
3ac73271 2467 (license license:bsd-3)))
4af803a7 2468
c272160a
FB
2469(define-public ghc-tf-random
2470 (package
2471 (name "ghc-tf-random")
2472 (version "0.5")
2473 (outputs '("out" "doc"))
2474 (source
2475 (origin
2476 (method url-fetch)
2477 (uri (string-append
612fddec 2478 "https://hackage.haskell.org/package/tf-random/tf-random-"
c272160a
FB
2479 version
2480 ".tar.gz"))
2481 (sha256
2482 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
2483 (build-system haskell-build-system)
2d47cee2 2484 (inputs
c272160a
FB
2485 `(("ghc-primitive" ,ghc-primitive)
2486 ("ghc-random" ,ghc-random)))
612fddec 2487 (home-page "https://hackage.haskell.org/package/tf-random")
c272160a
FB
2488 (synopsis "High-quality splittable pseudorandom number generator")
2489 (description "This package contains an implementation of a high-quality
2490splittable pseudorandom number generator. The generator is based on a
2491cryptographic hash function built on top of the ThreeFish block cipher. See
2492the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
2493Hashing\" by Claessen, Pałka for details and the rationale of the design.")
3ac73271 2494 (license license:bsd-3)))
c272160a 2495
c27f3ace
PW
2496(define-public ghc-transformers-base
2497 (package
2498 (name "ghc-transformers-base")
f46cbe1e 2499 (version "0.4.5.2")
c27f3ace
PW
2500 (source
2501 (origin
2502 (method url-fetch)
2503 (uri (string-append
612fddec 2504 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
c27f3ace
PW
2505 version
2506 ".tar.gz"))
2507 (sha256
2508 (base32
f46cbe1e 2509 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
c27f3ace 2510 (build-system haskell-build-system)
c27f3ace 2511 (inputs
2d47cee2
RW
2512 `(("ghc-stm" ,ghc-stm)
2513 ("ghc-transformers-compat" ,ghc-transformers-compat)))
c27f3ace 2514 (home-page
612fddec 2515 "https://hackage.haskell.org/package/transformers-compat")
c27f3ace
PW
2516 (synopsis
2517 "Backported transformer library")
2518 (description
2519 "Backported versions of types that were added to transformers in
2520transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
2521compatibility to run on old versions of the platform.")
3ac73271 2522 (license license:bsd-3)))
c27f3ace 2523
379a5ad5
PW
2524(define-public ghc-transformers-compat
2525 (package
2526 (name "ghc-transformers-compat")
d7f14885 2527 (version "0.6.2")
379a5ad5
PW
2528 (source
2529 (origin
2530 (method url-fetch)
2531 (uri (string-append
612fddec 2532 "https://hackage.haskell.org/package/transformers-compat"
379a5ad5
PW
2533 "/transformers-compat-" version ".tar.gz"))
2534 (sha256
2535 (base32
d7f14885 2536 "1gp4a8kvniwgm8947ghb4iwv4b7wd6ry4kvv4nfnym4agf5j41nw"))))
379a5ad5 2537 (build-system haskell-build-system)
612fddec 2538 (home-page "https://github.com/ekmett/transformers-compat/")
379a5ad5
PW
2539 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
2540 (description "This package includes backported versions of types that were
2541added to transformers in transformers 0.3 and 0.4 for users who need strict
2542transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
2543but also need those types.")
3ac73271 2544 (license license:bsd-3)))
379a5ad5 2545
5ef40cb2
PW
2546(define-public ghc-unix-time
2547 (package
2548 (name "ghc-unix-time")
0588525b 2549 (version "0.3.8")
5ef40cb2
PW
2550 (source
2551 (origin
2552 (method url-fetch)
2553 (uri (string-append
612fddec 2554 "https://hackage.haskell.org/package/unix-time/unix-time-"
5ef40cb2
PW
2555 version
2556 ".tar.gz"))
2557 (sha256
2558 (base32
0588525b 2559 "051slgpid5cxiaw203ky0ql3823h28fcjs08axkzd4265wrvv8fw"))))
5ef40cb2
PW
2560 (build-system haskell-build-system)
2561 (arguments
fd59d2ee
PW
2562 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
2563 ; is weird, that should be provided by GHC 7.10.2.
2d47cee2 2564 (inputs
5ef40cb2
PW
2565 `(("ghc-old-time" ,ghc-old-time)
2566 ("ghc-old-locale" ,ghc-old-locale)))
612fddec 2567 (home-page "https://hackage.haskell.org/package/unix-time")
5ef40cb2
PW
2568 (synopsis "Unix time parser/formatter and utilities")
2569 (description "This library provides fast parsing and formatting utilities
2570for Unix time in Haskell.")
3ac73271 2571 (license license:bsd-3)))
5ef40cb2 2572
801cc88d
PW
2573(define-public ghc-unix-compat
2574 (package
2575 (name "ghc-unix-compat")
32a9a380 2576 (version "0.5.1")
801cc88d
PW
2577 (source
2578 (origin
2579 (method url-fetch)
2580 (uri (string-append
612fddec 2581 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
801cc88d
PW
2582 version
2583 ".tar.gz"))
2584 (sha256
2585 (base32
32a9a380 2586 "0llwl7rp63fy2ychwdclz1afj45pbin5pfl01dvn6rwhvmwhr7d3"))))
801cc88d
PW
2587 (build-system haskell-build-system)
2588 (home-page
612fddec 2589 "https://github.com/jystic/unix-compat")
801cc88d
PW
2590 (synopsis "Portable POSIX-compatibility layer")
2591 (description
2592 "This package provides portable implementations of parts of the unix
2593package. This package re-exports the unix package when available. When it
2594isn't available, portable implementations are used.")
3ac73271 2595 (license license:bsd-3)))
801cc88d 2596
b6bfa2ca
LC
2597(define-public ghc-indents
2598 (package
2599 (name "ghc-indents")
ddfb799e 2600 (version "0.5.0.0")
b6bfa2ca
LC
2601 (source (origin
2602 (method url-fetch)
2603 (uri (string-append
612fddec 2604 "https://hackage.haskell.org/package/indents/indents-"
b6bfa2ca
LC
2605 version ".tar.gz"))
2606 (sha256
2607 (base32
ddfb799e 2608 "1ly3v41jacc6lrsvg4j3m5a6zs90gr8dyif5m6bf34hj1k5cgg0n"))))
b6bfa2ca
LC
2609 (build-system haskell-build-system)
2610 (inputs
2611 `(("ghc-parsec" ,ghc-parsec)
f54f0475 2612 ("ghc-concatenative" ,ghc-concatenative)))
b6bfa2ca
LC
2613 (home-page "http://patch-tag.com/r/salazar/indents")
2614 (synopsis "Indentation sensitive parser-combinators for parsec")
2615 (description
2616 "This library provides functions for use in parsing indentation sensitive
2617contexts. It parses blocks of lines all indented to the same level as well as
2618lines continued at an indented level below.")
2619 (license license:bsd-3)))
2620
685502dc
PW
2621(define-public ghc-iproute
2622 (package
2623 (name "ghc-iproute")
b9a63986 2624 (version "1.7.5")
685502dc
PW
2625 (source
2626 (origin
2627 (method url-fetch)
2628 (uri (string-append
612fddec 2629 "https://hackage.haskell.org/package/iproute/iproute-"
685502dc
PW
2630 version
2631 ".tar.gz"))
2632 (sha256
2633 (base32
b9a63986 2634 "1vw1nm3s8vz1hqnjnqd3wh5rr4q3m2r4izn5ynhf93h9185qwqzd"))))
685502dc
PW
2635 (build-system haskell-build-system)
2636 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2637 ; exported by ghc-byteorder. Doctest issue.
685502dc 2638 (inputs
2d47cee2
RW
2639 `(("ghc-appar" ,ghc-appar)
2640 ("ghc-byteorder" ,ghc-byteorder)
2641 ("ghc-network" ,ghc-network)
685502dc 2642 ("ghc-safe" ,ghc-safe)))
e427a0e4 2643 (home-page "https://www.mew.org/~kazu/proj/iproute/")
685502dc
PW
2644 (synopsis "IP routing table")
2645 (description "IP Routing Table is a tree of IP ranges to search one of
2646them on the longest match base. It is a kind of TRIE with one way branching
2647removed. Both IPv4 and IPv6 are supported.")
3ac73271 2648 (license license:bsd-3)))
685502dc 2649
a7101996
TGR
2650(define-public ghc-iwlib
2651 (package
2652 (name "ghc-iwlib")
2653 (version "0.1.0")
2654 (source
2655 (origin
2656 (method url-fetch)
2657 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
2658 version ".tar.gz"))
2659 (sha256
2660 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
2661 (build-system haskell-build-system)
2662 (inputs
2663 `(("wireless-tools" ,wireless-tools)))
2664 (home-page "https://github.com/jaor/iwlib")
2665 (synopsis "Haskell binding to the iw wireless networking library")
2666 (description
2667 "IWlib is a thin Haskell binding to the iw C library. It provides
2668information about the current wireless network connections, and adapters on
2669supported systems.")
2670 (license license:bsd-3)))
2671
9d5f0399
PW
2672(define-public ghc-regex-base
2673 (package
2674 (name "ghc-regex-base")
2675 (version "0.93.2")
2676 (source
2677 (origin
2678 (method url-fetch)
2679 (uri (string-append
612fddec 2680 "https://hackage.haskell.org/package/regex-base/regex-base-"
9d5f0399
PW
2681 version
2682 ".tar.gz"))
2683 (sha256
2684 (base32
2685 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2686 (build-system haskell-build-system)
9d5f0399 2687 (home-page
3b3b60d0 2688 "https://sourceforge.net/projects/lazy-regex")
9d5f0399
PW
2689 (synopsis "Replaces/Enhances Text.Regex")
2690 (description "@code{Text.Regex.Base} provides the interface API for
2691regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
3ac73271 2692 (license license:bsd-3)))
9d5f0399 2693
e422279b
PW
2694(define-public ghc-regex-posix
2695 (package
2696 (name "ghc-regex-posix")
2697 (version "0.95.2")
2698 (source
2699 (origin
2700 (method url-fetch)
2701 (uri (string-append
612fddec 2702 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
e422279b
PW
2703 version
2704 ".tar.gz"))
2705 (sha256
2706 (base32
2707 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2708 (build-system haskell-build-system)
2d47cee2 2709 (inputs
0eeaa169 2710 `(("ghc-regex-base" ,ghc-regex-base)))
3b3b60d0 2711 (home-page "https://sourceforge.net/projects/lazy-regex")
e422279b
PW
2712 (synopsis "POSIX regular expressions for Haskell")
2713 (description "This library provides the POSIX regex backend used by the
2714Haskell library @code{regex-base}.")
3ac73271 2715 (license license:bsd-3)))
e422279b 2716
25d51164
PW
2717(define-public ghc-regex-compat
2718 (package
2719 (name "ghc-regex-compat")
2720 (version "0.95.1")
2721 (source
2722 (origin
2723 (method url-fetch)
2724 (uri (string-append
612fddec 2725 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
25d51164
PW
2726 version
2727 ".tar.gz"))
2728 (sha256
2729 (base32
2730 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2731 (build-system haskell-build-system)
2732 (inputs
2733 `(("ghc-regex-base" ,ghc-regex-base)
2734 ("ghc-regex-posix" ,ghc-regex-posix)))
3b3b60d0 2735 (home-page "https://sourceforge.net/projects/lazy-regex")
25d51164
PW
2736 (synopsis "Replaces/Enhances Text.Regex")
2737 (description "This library provides one module layer over
2738@code{regex-posix} to replace @code{Text.Regex}.")
3ac73271 2739 (license license:bsd-3)))
25d51164 2740
34128d2b
PW
2741(define-public ghc-regex-tdfa-rc
2742 (package
2743 (name "ghc-regex-tdfa-rc")
2744 (version "1.1.8.3")
2745 (source
2746 (origin
2747 (method url-fetch)
2748 (uri (string-append
612fddec 2749 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
34128d2b
PW
2750 version
2751 ".tar.gz"))
2752 (sha256
2753 (base32
2754 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2755 (build-system haskell-build-system)
34128d2b 2756 (inputs
2d47cee2 2757 `(("ghc-regex-base" ,ghc-regex-base)
f54f0475 2758 ("ghc-parsec" ,ghc-parsec)))
34128d2b 2759 (home-page
612fddec 2760 "https://hackage.haskell.org/package/regex-tdfa")
34128d2b
PW
2761 (synopsis "Tagged DFA regex engine for Haskell")
2762 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2763@code{libtre} (fork by Roman Cheplyaka).")
3ac73271 2764 (license license:bsd-3)))
34128d2b 2765
e73ed2a1
DM
2766(define-public ghc-regex-tdfa-text
2767 (package
2768 (name "ghc-regex-tdfa-text")
2769 (version "1.0.0.3")
2770 (source
2771 (origin
2772 (method url-fetch)
2773 (uri (string-append
2774 "https://hackage.haskell.org/package/regex-tdfa-text/"
2775 "regex-tdfa-text-" version ".tar.gz"))
2776 (sha256
2777 (base32
2778 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
2779 (build-system haskell-build-system)
2780 (inputs
2781 `(("ghc-text" ,ghc-text)
2782 ("ghc-regex-base" ,ghc-regex-base)
2783 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
2784 (home-page
2785 "http://hackage.haskell.org/package/regex-tdfa-text")
2786 (synopsis "Text interface for regex-tdfa")
2787 (description
2788 "This provides an extra text interface for regex-tdfa.")
2789 (license license:bsd-3)))
2790
7e2c8cb5
RW
2791(define-public ghc-regex
2792 (package
2793 (name "ghc-regex")
2794 (version "1.0.1.3")
2795 (source
2796 (origin
2797 (method url-fetch)
2798 (uri (string-append "https://hackage.haskell.org/package/regex/"
2799 "regex-" version ".tar.gz"))
2800 (sha256
2801 (base32
2802 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
2803 (build-system haskell-build-system)
2804 (inputs
2805 `(("ghc-base-compat" ,ghc-base-compat)
2806 ("ghc-hashable" ,ghc-hashable)
2807 ("ghc-regex-base" ,ghc-regex-base)
2808 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
2809 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
2810 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
2811 ("ghc-text" ,ghc-text)
2812 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
2813 ("ghc-unordered-containers" ,ghc-unordered-containers)
2814 ("ghc-utf8-string" ,ghc-utf8-string)))
2815 (home-page "http://regex.uk")
2816 (synopsis "Toolkit for regex-base")
2817 (description
2818 "This package provides a regular expression toolkit for @code{regex-base}
2819with compile-time checking of regular expression syntax, data types for
2820matches and captures, a text replacement toolkit, portable options, high-level
2821AWK-like tools for building text processing apps, regular expression macros
2822with parsers and test bench, comprehensive documentation, tutorials and
2823copious examples.")
2824 (license license:bsd-3)))
2825
e372520e
PW
2826(define-public ghc-parsers
2827 (package
2828 (name "ghc-parsers")
774f3984 2829 (version "0.12.9")
e372520e
PW
2830 (source
2831 (origin
2832 (method url-fetch)
2833 (uri (string-append
612fddec 2834 "https://hackage.haskell.org/package/parsers/parsers-"
e372520e
PW
2835 version
2836 ".tar.gz"))
2837 (sha256
2838 (base32
774f3984 2839 "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1"))))
e372520e
PW
2840 (build-system haskell-build-system)
2841 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2842 ; -package attoparsec-0.13.0.1"
2d47cee2 2843 (inputs
e372520e
PW
2844 `(("ghc-base-orphans" ,ghc-base-orphans)
2845 ("ghc-attoparsec" ,ghc-attoparsec)
2846 ("ghc-parsec" ,ghc-parsec)
2847 ("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
2848 ("ghc-charset" ,ghc-charset)
2849 ("ghc-text" ,ghc-text)
e372520e 2850 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 2851 (home-page "https://github.com/ekmett/parsers/")
e372520e
PW
2852 (synopsis "Parsing combinators")
2853 (description "This library provides convenient combinators for working
2854with and building parsing combinator libraries. Given a few simple instances,
2855you get access to a large number of canned definitions. Instances exist for
2856the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
2857@code{Text.Read}.")
3ac73271 2858 (license license:bsd-3)))
e372520e 2859
93248cfd
PW
2860(define-public ghc-trifecta
2861 (package
2862 (name "ghc-trifecta")
183d1b1a 2863 (version "1.7.1.1")
3ea25176
DC
2864 (source (origin
2865 (method url-fetch)
2866 (uri (string-append
2867 "https://hackage.haskell.org/package/trifecta/"
2868 "trifecta-" version ".tar.gz"))
2869 (sha256
2870 (base32
183d1b1a 2871 "13n6a3fdxngnzsjnhfrzigv1c2g0xm6lqkjcnirpc37sd0rpby31"))))
93248cfd 2872 (build-system haskell-build-system)
2d47cee2 2873 (inputs
183d1b1a
RW
2874 `(("ghc-doctest" ,ghc-doctest-0.13)
2875 ("ghc-reducers" ,ghc-reducers)
2d47cee2
RW
2876 ("ghc-semigroups" ,ghc-semigroups)
2877 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
93248cfd
PW
2878 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2879 ("ghc-blaze-builder" ,ghc-blaze-builder)
2880 ("ghc-blaze-html" ,ghc-blaze-html)
2881 ("ghc-blaze-markup" ,ghc-blaze-markup)
3ea25176
DC
2882 ("ghc-charset" ,ghc-charset)
2883 ("ghc-comonad" ,ghc-comonad)
2884 ("ghc-doctest" ,ghc-doctest)
93248cfd
PW
2885 ("ghc-fingertree" ,ghc-fingertree)
2886 ("ghc-hashable" ,ghc-hashable)
3ea25176 2887 ("ghc-lens" ,ghc-lens)
93248cfd 2888 ("ghc-parsers" ,ghc-parsers)
3ea25176
DC
2889 ("ghc-profunctors" ,ghc-profunctors)
2890 ("ghc-quickcheck" ,ghc-quickcheck)
93248cfd
PW
2891 ("ghc-unordered-containers" ,ghc-unordered-containers)
2892 ("ghc-utf8-string" ,ghc-utf8-string)))
183d1b1a
RW
2893 (native-inputs
2894 `(("cabal-doctest" ,cabal-doctest)))
612fddec 2895 (home-page "https://github.com/ekmett/trifecta/")
93248cfd
PW
2896 (synopsis "Parser combinator library with convenient diagnostics")
2897 (description "Trifecta is a modern parser combinator library for Haskell,
2898with slicing and Clang-style colored diagnostics.")
3ac73271 2899 (license license:bsd-3)))
93248cfd 2900
5e51bcf7
RW
2901(define-public ghc-time-locale-compat
2902 (package
2903 (name "ghc-time-locale-compat")
9b6d49e8 2904 (version "0.1.1.5")
5e51bcf7
RW
2905 (source
2906 (origin
2907 (method url-fetch)
2908 (uri (string-append "https://hackage.haskell.org/package/"
2909 "time-locale-compat/time-locale-compat-"
2910 version ".tar.gz"))
2911 (sha256
2912 (base32
9b6d49e8 2913 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
5e51bcf7
RW
2914 (build-system haskell-build-system)
2915 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
2916 (home-page "https://github.com/khibino/haskell-time-locale-compat")
2917 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
2918 (description "This package contains a wrapped name module for
2919@code{TimeLocale}.")
2920 (license license:bsd-3)))
2921
bc74e0e1
PW
2922(define-public ghc-attoparsec
2923 (package
2924 (name "ghc-attoparsec")
1b1a1067 2925 (version "0.13.2.2")
bc74e0e1
PW
2926 (source
2927 (origin
2928 (method url-fetch)
2929 (uri (string-append
612fddec 2930 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
bc74e0e1
PW
2931 version
2932 ".tar.gz"))
2933 (sha256
2934 (base32
1b1a1067 2935 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
bc74e0e1 2936 (build-system haskell-build-system)
0f9e74e9
TS
2937 (arguments
2938 `(#:phases
2939 (modify-phases %standard-phases
2940 (add-after 'unpack 'patch-for-newer-quickcheck
2941 (lambda _
2942 (substitute* "attoparsec.cabal"
2943 (("QuickCheck >= 2\\.7 && < 2\\.10")
2944 "QuickCheck >= 2.7 && < 2.12"))
2945 ;; This test fails because of the newer QuickCheck:
2946 ;; <https://github.com/bos/attoparsec/issues/134>.
2947 (substitute* "tests/QC/ByteString.hs"
2948 ((", testProperty \"satisfyWith\" satisfyWith")
2949 "")))))))
bc74e0e1 2950 (inputs
f9f4578b 2951 `(("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
2952 ("ghc-text" ,ghc-text)))
2953 (native-inputs
1b1a1067
RW
2954 `(("ghc-tasty" ,ghc-tasty)
2955 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2956 ("ghc-quickcheck" ,ghc-quickcheck)
19206f5e 2957 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
bc74e0e1
PW
2958 ("ghc-vector" ,ghc-vector)))
2959 (home-page "https://github.com/bos/attoparsec")
2960 (synopsis "Fast combinator parsing for bytestrings and text")
2961 (description "This library provides a fast parser combinator library,
2962aimed particularly at dealing efficiently with network protocols and
2963complicated text/binary file formats.")
3ac73271 2964 (license license:bsd-3)))
bc74e0e1 2965
9d1944a4
TS
2966(define-public ghc-attoparsec-bootstrap
2967 (package
2968 (inherit ghc-attoparsec)
2969 (name "ghc-attoparsec-bootstrap")
2970 (arguments `(#:tests? #f))
2971 (inputs
2972 `(("ghc-scientific" ,ghc-scientific-bootstrap)
2973 ("ghc-text" ,ghc-text)))
2974 (native-inputs '())
2975 (properties '(hidden? #t))))
2976
ca41c155
PW
2977(define-public ghc-zip-archive
2978 (package
2979 (name "ghc-zip-archive")
74f490ec 2980 (version "0.3.3")
ca41c155
PW
2981 (source
2982 (origin
2983 (method url-fetch)
2984 (uri (string-append
612fddec 2985 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
ca41c155
PW
2986 version
2987 ".tar.gz"))
2988 (sha256
2989 (base32
74f490ec 2990 "0kf8xyac168bng8a0za2jwrbss7a4ralvci9g54hnvl0gkkxx2lq"))))
ca41c155 2991 (build-system haskell-build-system)
ca41c155 2992 (inputs
74f490ec 2993 `(("ghc-digest" ,ghc-digest)
2025964b 2994 ("ghc-temporary" ,ghc-temporary)
ca41c155
PW
2995 ("ghc-text" ,ghc-text)
2996 ("ghc-zlib" ,ghc-zlib)))
2d47cee2 2997 (native-inputs
74f490ec
TS
2998 `(("ghc-hunit" ,ghc-hunit)
2999 ("unzip" ,unzip)))
ca41c155
PW
3000 (home-page "https://hackage.haskell.org/package/zip-archive")
3001 (synopsis "Zip archive library for Haskell")
3002 (description "The zip-archive library provides functions for creating,
3003modifying, and extracting files from zip archives in Haskell.")
3ac73271 3004 (license license:bsd-3)))
ca41c155 3005
fa4f5024
PW
3006(define-public ghc-distributive
3007 (package
3008 (name "ghc-distributive")
c2d30e31 3009 (version "0.5.3")
fa4f5024
PW
3010 (source
3011 (origin
3012 (method url-fetch)
3013 (uri (string-append
612fddec 3014 "https://hackage.haskell.org/package/distributive/distributive-"
fa4f5024
PW
3015 version
3016 ".tar.gz"))
3017 (sha256
3018 (base32
c2d30e31 3019 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
fa4f5024 3020 (build-system haskell-build-system)
68dc0c29
TS
3021 (arguments
3022 `(#:cabal-revision
3023 ("6" "06bd38rf31yrvvy989r44pm0id3dsxwcp6nxg7wk6ccj3n2b8rzk")))
2d47cee2 3024 (inputs
fa4f5024 3025 `(("ghc-tagged" ,ghc-tagged)
c2d30e31
RW
3026 ("ghc-base-orphans" ,ghc-base-orphans)
3027 ("ghc-transformers-compat" ,ghc-transformers-compat)
3028 ("ghc-semigroups" ,ghc-semigroups)
3029 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3030 (native-inputs
3031 `(("cabal-doctest" ,cabal-doctest)
68dc0c29 3032 ("ghc-doctest" ,ghc-doctest)
c2d30e31
RW
3033 ("ghc-hspec" ,ghc-hspec)
3034 ("hspec-discover" ,hspec-discover)))
612fddec 3035 (home-page "https://github.com/ekmett/distributive/")
fa4f5024
PW
3036 (synopsis "Distributive functors for Haskell")
3037 (description "This package provides distributive functors for Haskell.
3038Dual to @code{Traversable}.")
3ac73271 3039 (license license:bsd-3)))
fa4f5024 3040
10e61452
PW
3041(define-public ghc-cereal
3042 (package
3043 (name "ghc-cereal")
91ffeed7 3044 (version "0.5.7.0")
10e61452
PW
3045 (source
3046 (origin
3047 (method url-fetch)
3048 (uri (string-append
612fddec 3049 "https://hackage.haskell.org/package/cereal/cereal-"
10e61452
PW
3050 version
3051 ".tar.gz"))
3052 (sha256
3053 (base32
91ffeed7 3054 "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs"))))
10e61452 3055 (build-system haskell-build-system)
3295a6da
RW
3056 (native-inputs
3057 `(("ghc-quickcheck" ,ghc-quickcheck)
3058 ("ghc-fail" ,ghc-fail)
3059 ("ghc-test-framework" ,ghc-test-framework)
3060 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 3061 (home-page "https://hackage.haskell.org/package/cereal")
10e61452
PW
3062 (synopsis "Binary serialization library")
3063 (description "This package provides a binary serialization library,
3064similar to @code{binary}, that introduces an @code{isolate} primitive for
3065parser isolation, and labeled blocks for better error messages.")
3ac73271 3066 (license license:bsd-3)))
10e61452 3067
40b56b52
PW
3068(define-public ghc-comonad
3069 (package
3070 (name "ghc-comonad")
c2828c81 3071 (version "5.0.4")
40b56b52
PW
3072 (source
3073 (origin
3074 (method url-fetch)
3075 (uri (string-append
612fddec 3076 "https://hackage.haskell.org/package/comonad/comonad-"
40b56b52
PW
3077 version
3078 ".tar.gz"))
3079 (sha256
3080 (base32
c2828c81 3081 "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q"))))
40b56b52 3082 (build-system haskell-build-system)
bdd4aa16 3083 (native-inputs
c2828c81
TS
3084 `(("cabal-doctest" ,cabal-doctest)
3085 ("ghc-doctest" ,ghc-doctest)))
40b56b52 3086 (inputs
7e95d0fd
TGR
3087 `(("ghc-contravariant" ,ghc-contravariant)
3088 ("ghc-distributive" ,ghc-distributive)
2d47cee2 3089 ("ghc-semigroups" ,ghc-semigroups)
40b56b52 3090 ("ghc-tagged" ,ghc-tagged)
7e95d0fd 3091 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3092 (home-page "https://github.com/ekmett/comonad/")
40b56b52
PW
3093 (synopsis "Comonads for Haskell")
3094 (description "This library provides @code{Comonad}s for Haskell.")
3ac73271 3095 (license license:bsd-3)))
40b56b52 3096
ce78a0f5
PW
3097(define-public hscolour
3098 (package
3099 (name "hscolour")
8642b86a 3100 (version "1.24.4")
ce78a0f5
PW
3101 (source
3102 (origin
3103 (method url-fetch)
3104 (uri (string-append
612fddec 3105 "https://hackage.haskell.org/package/hscolour/hscolour-"
ce78a0f5
PW
3106 version
3107 ".tar.gz"))
3108 (sha256
3109 (base32
8642b86a 3110 "079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4"))))
ce78a0f5
PW
3111 (build-system haskell-build-system)
3112 (home-page "https://hackage.haskell.org/package/hscolour")
3113 (synopsis "Script to colourise Haskell code")
3114 (description "HSColour is a small Haskell script to colourise Haskell
3115code. It currently has six output formats: ANSI terminal codes (optionally
3116XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
3117with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
3118and mIRC chat codes.")
3ac73271 3119 (license license:bsd-3)))
ce78a0f5 3120
47038762
PW
3121(define-public ghc-polyparse
3122 (package
3123 (name "ghc-polyparse")
7fb6eb17 3124 (version "1.12")
47038762
PW
3125 (source
3126 (origin
3127 (method url-fetch)
3128 (uri (string-append
612fddec 3129 "https://hackage.haskell.org/package/polyparse/polyparse-"
47038762
PW
3130 version
3131 ".tar.gz"))
3132 (sha256
3133 (base32
7fb6eb17 3134 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
47038762 3135 (build-system haskell-build-system)
2d47cee2 3136 (inputs
47038762
PW
3137 `(("ghc-text" ,ghc-text)))
3138 (home-page
3139 "http://code.haskell.org/~malcolm/polyparse/")
3140 (synopsis
3141 "Alternative parser combinator libraries")
3142 (description
3143 "This package provides a variety of alternative parser combinator
3144libraries, including the original HuttonMeijer set. The Poly sets have
3145features like good error reporting, arbitrary token type, running state, lazy
3146parsing, and so on. Finally, Text.Parse is a proposed replacement for the
3147standard Read class, for better deserialisation of Haskell values from
3148Strings.")
3ac73271 3149 (license license:lgpl2.1)))
47038762 3150
fad564ec
PW
3151(define-public ghc-extra
3152 (package
3153 (name "ghc-extra")
3a066eb5 3154 (version "1.6.9")
fad564ec
PW
3155 (source
3156 (origin
3157 (method url-fetch)
3158 (uri (string-append
612fddec 3159 "https://hackage.haskell.org/package/extra/extra-"
fad564ec
PW
3160 version
3161 ".tar.gz"))
3162 (sha256
3163 (base32
3a066eb5 3164 "0xxcpb00pgwi9cmy6a7ghh6rblxry42p8pz5ssfgj20fs1xwzj1b"))))
fad564ec 3165 (build-system haskell-build-system)
7d4de988
RW
3166 (inputs
3167 `(("ghc-clock" ,ghc-clock)
3168 ("ghc-quickcheck" ,ghc-quickcheck)))
fad564ec
PW
3169 (home-page "https://github.com/ndmitchell/extra")
3170 (synopsis "Extra Haskell functions")
3171 (description "This library provides extra functions for the standard
3172Haskell libraries. Most functions are simple additions, filling out missing
3173functionality. A few functions are available in later versions of GHC, but
3174this package makes them available back to GHC 7.2.")
3ac73271 3175 (license license:bsd-3)))
fad564ec 3176
f221841c
PW
3177(define-public ghc-profunctors
3178 (package
3179 (name "ghc-profunctors")
4a1b5600 3180 (version "5.2.2")
f221841c
PW
3181 (source
3182 (origin
3183 (method url-fetch)
3184 (uri (string-append
612fddec 3185 "https://hackage.haskell.org/package/profunctors/profunctors-"
f221841c
PW
3186 version
3187 ".tar.gz"))
3188 (sha256
3189 (base32
4a1b5600 3190 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
f221841c 3191 (build-system haskell-build-system)
bf733668
TS
3192 (arguments
3193 `(#:cabal-revision
3194 ("2" "1ywlg9z8nlhd2avgb8c6gbkv8zyk7hvc25926bafyg0m0k8y1amq")))
f221841c 3195 (inputs
4a1b5600
RW
3196 `(("ghc-base-orphans" ,ghc-base-orphans)
3197 ("ghc-bifunctors" ,ghc-bifunctors)
2d47cee2 3198 ("ghc-comonad" ,ghc-comonad)
4a1b5600
RW
3199 ("ghc-contravariant" ,ghc-contravariant)
3200 ("ghc-distributive" ,ghc-distributive)
3201 ("ghc-semigroups" ,ghc-semigroups)
f221841c 3202 ("ghc-tagged" ,ghc-tagged)))
612fddec 3203 (home-page "https://github.com/ekmett/profunctors/")
f221841c
PW
3204 (synopsis "Profunctors for Haskell")
3205 (description "This library provides profunctors for Haskell.")
3ac73271 3206 (license license:bsd-3)))
f221841c 3207
d2639cbc
PW
3208(define-public ghc-reducers
3209 (package
3210 (name "ghc-reducers")
d8717c89 3211 (version "3.12.3")
d2639cbc
PW
3212 (source
3213 (origin
3214 (method url-fetch)
3215 (uri (string-append
612fddec 3216 "https://hackage.haskell.org/package/reducers/reducers-"
d2639cbc
PW
3217 version
3218 ".tar.gz"))
3219 (sha256
3220 (base32
d8717c89 3221 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
d2639cbc 3222 (build-system haskell-build-system)
d2639cbc
PW
3223 (inputs
3224 `(("ghc-fingertree" ,ghc-fingertree)
3225 ("ghc-hashable" ,ghc-hashable)
3226 ("ghc-text" ,ghc-text)
3227 ("ghc-unordered-containers" ,ghc-unordered-containers)
2d47cee2 3228 ("ghc-semigroupoids" ,ghc-semigroupoids)
d2639cbc 3229 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 3230 (home-page "https://github.com/ekmett/reducers/")
d2639cbc
PW
3231 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
3232 (description "This library provides various semigroups, specialized
3233containers and a general map/reduce framework for Haskell.")
3ac73271 3234 (license license:bsd-3)))
d2639cbc 3235
76ae28f1
PW
3236(define-public ghc-appar
3237 (package
3238 (name "ghc-appar")
3239 (version "0.1.4")
3240 (source
3241 (origin
3242 (method url-fetch)
3243 (uri (string-append
612fddec 3244 "https://hackage.haskell.org/package/appar/appar-"
76ae28f1
PW
3245 version
3246 ".tar.gz"))
3247 (sha256
3248 (base32
3249 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
3250 (build-system haskell-build-system)
3251 (home-page
612fddec 3252 "https://hackage.haskell.org/package/appar")
76ae28f1
PW
3253 (synopsis "Simple applicative parser")
3254 (description "This package provides a simple applicative parser in Parsec
3255style.")
3ac73271 3256 (license license:bsd-3)))
76ae28f1 3257
78c5b39d
PW
3258(define-public ghc-safe
3259 (package
3260 (name "ghc-safe")
17539a7e 3261 (version "0.3.17")
78c5b39d
PW
3262 (source
3263 (origin
3264 (method url-fetch)
3265 (uri (string-append
612fddec 3266 "https://hackage.haskell.org/package/safe/safe-"
78c5b39d
PW
3267 version
3268 ".tar.gz"))
3269 (sha256
3270 (base32
17539a7e 3271 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
78c5b39d 3272 (build-system haskell-build-system)
17539a7e
TS
3273 (native-inputs
3274 `(("ghc-quickcheck" ,ghc-quickcheck)))
78c5b39d
PW
3275 (home-page "https://github.com/ndmitchell/safe#readme")
3276 (synopsis "Library of safe (exception free) functions")
3277 (description "This library provides wrappers around @code{Prelude} and
3278@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
3279exceptions.")
3ac73271 3280 (license license:bsd-3)))
78c5b39d 3281
476f7bab
PW
3282(define-public ghc-generic-deriving
3283 (package
3284 (name "ghc-generic-deriving")
b408c5a7 3285 (version "1.12.2")
476f7bab
PW
3286 (source
3287 (origin
3288 (method url-fetch)
3289 (uri (string-append
612fddec 3290 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
476f7bab
PW
3291 version
3292 ".tar.gz"))
3293 (sha256
3294 (base32
b408c5a7 3295 "1i7d6cpj9yhaqb79zays3nqchhaacacjz9bkc0zlwj73y5gvi22n"))))
476f7bab 3296 (build-system haskell-build-system)
b408c5a7
TS
3297 (inputs
3298 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
24857542
RW
3299 (native-inputs
3300 `(("ghc-hspec" ,ghc-hspec)
3301 ("hspec-discover" ,hspec-discover)))
476f7bab
PW
3302 (home-page "https://hackage.haskell.org/package/generic-deriving")
3303 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3304 (description "This package provides functionality for generalising the
3305deriving mechanism in Haskell to arbitrary classes.")
3ac73271 3306 (license license:bsd-3)))
476f7bab 3307
b10f7be3
PW
3308(define-public ghc-pcre-light
3309 (package
3310 (name "ghc-pcre-light")
eff94e6b 3311 (version "0.4.0.4")
b10f7be3
PW
3312 (source
3313 (origin
3314 (method url-fetch)
3315 (uri (string-append
612fddec 3316 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
b10f7be3
PW
3317 version
3318 ".tar.gz"))
3319 (sha256
3320 (base32
eff94e6b 3321 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
b10f7be3
PW
3322 (build-system haskell-build-system)
3323 (inputs
3324 `(("pcre" ,pcre)))
eff94e6b
RW
3325 (native-inputs
3326 `(("pkg-config" ,pkg-config)))
b10f7be3
PW
3327 (home-page "https://github.com/Daniel-Diaz/pcre-light")
3328 (synopsis "Haskell library for Perl 5 compatible regular expressions")
3329 (description "This package provides a small, efficient, and portable regex
3330library for Perl 5 compatible regular expressions. The PCRE library is a set
3331of functions that implement regular expression pattern matching using the same
3332syntax and semantics as Perl 5.")
3ac73271 3333 (license license:bsd-3)))
b10f7be3 3334
748463be
PW
3335(define-public ghc-logict
3336 (package
3337 (name "ghc-logict")
3338 (version "0.6.0.2")
3339 (source
3340 (origin
3341 (method url-fetch)
3342 (uri (string-append
612fddec 3343 "https://hackage.haskell.org/package/logict/logict-"
748463be
PW
3344 version
3345 ".tar.gz"))
3346 (sha256
3347 (base32
3348 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
3349 (build-system haskell-build-system)
748463be
PW
3350 (home-page "http://code.haskell.org/~dolio/")
3351 (synopsis "Backtracking logic-programming monad")
3352 (description "This library provides a continuation-based, backtracking,
3353logic programming monad. An adaptation of the two-continuation implementation
3354found in the paper \"Backtracking, Interleaving, and Terminating Monad
3355Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
3356online}.")
3ac73271 3357 (license license:bsd-3)))
748463be 3358
d10fed28
PW
3359(define-public ghc-xml
3360 (package
3361 (name "ghc-xml")
3362 (version "1.3.14")
3363 (source
3364 (origin
3365 (method url-fetch)
3366 (uri (string-append
612fddec 3367 "https://hackage.haskell.org/package/xml/xml-"
d10fed28
PW
3368 version
3369 ".tar.gz"))
3370 (sha256
3371 (base32
3372 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
3373 (build-system haskell-build-system)
2d47cee2 3374 (inputs
d10fed28
PW
3375 `(("ghc-text" ,ghc-text)))
3376 (home-page "http://code.galois.com")
3377 (synopsis "Simple XML library for Haskell")
3378 (description "This package provides a simple XML library for Haskell.")
3ac73271 3379 (license license:bsd-3)))
d10fed28 3380
e3aae496
TS
3381(define-public ghc-feed
3382 (package
3383 (name "ghc-feed")
3384 (version "0.3.12.0")
3385 (source
3386 (origin
3387 (method url-fetch)
3388 (uri (string-append "https://hackage.haskell.org/package/"
3389 "feed/feed-" version ".tar.gz"))
3390 (sha256
3391 (base32
3392 "0hkrsinspg70bbm3hwqdrvivws6zya1hyk0a3awpaz82j4xnlbfc"))))
3393 (build-system haskell-build-system)
3394 (inputs
3395 `(("ghc-old-locale" ,ghc-old-locale)
3396 ("ghc-old-time" ,ghc-old-time)
3397 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3398 ("ghc-utf8-string" ,ghc-utf8-string)
3399 ("ghc-xml" ,ghc-xml)))
3400 (native-inputs
3401 `(("ghc-hunit" ,ghc-hunit)
3402 ("ghc-test-framework" ,ghc-test-framework)
3403 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3404 (home-page "https://github.com/bergmark/feed")
3405 (synopsis "Haskell package for handling various syndication formats")
3406 (description "This Haskell package includes tools for generating and
3407consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3408 (license license:bsd-3)))
3409
31cac1ee
PW
3410(define-public ghc-exceptions
3411 (package
3412 (name "ghc-exceptions")
5f192d52 3413 (version "0.10.0")
31cac1ee
PW
3414 (source
3415 (origin
3416 (method url-fetch)
3417 (uri (string-append
612fddec 3418 "https://hackage.haskell.org/package/exceptions/exceptions-"
31cac1ee
PW
3419 version
3420 ".tar.gz"))
3421 (sha256
3422 (base32
5f192d52 3423 "1ms9zansv0pwzwdjncvx4kf18lnkjy2p61hvjhvxmjx5bqp93p8y"))))
31cac1ee 3424 (build-system haskell-build-system)
e1e80388 3425 (native-inputs
5f192d52
TS
3426 `(("ghc-quickcheck" ,ghc-quickcheck)
3427 ("ghc-test-framework" ,ghc-test-framework)
3428 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
e1e80388 3429 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2d47cee2 3430 (inputs
31cac1ee 3431 `(("ghc-stm" ,ghc-stm)
31cac1ee 3432 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3433 (home-page "https://github.com/ekmett/exceptions/")
31cac1ee
PW
3434 (synopsis "Extensible optionally-pure exceptions")
3435 (description "This library provides extensible optionally-pure exceptions
3436for Haskell.")
3ac73271 3437 (license license:bsd-3)))
31cac1ee 3438
5257c341
PW
3439(define-public ghc-temporary
3440 (package
3441 (name "ghc-temporary")
ded4ac38 3442 (version "1.3")
5257c341
PW
3443 (source
3444 (origin
3445 (method url-fetch)
3446 (uri (string-append
612fddec 3447 "https://hackage.haskell.org/package/temporary/temporary-"
5257c341
PW
3448 version
3449 ".tar.gz"))
3450 (sha256
3451 (base32
ded4ac38 3452 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
5257c341 3453 (build-system haskell-build-system)
ded4ac38
TS
3454 (inputs
3455 `(("ghc-exceptions" ,ghc-exceptions)
3456 ("ghc-random" ,ghc-random)))
3457 (native-inputs
3458 `(("ghc-base-compat" ,ghc-base-compat)
3459 ("ghc-tasty" ,ghc-tasty)
3460 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
98b90194 3461 (home-page "https://www.github.com/batterseapower/temporary")
5257c341
PW
3462 (synopsis "Temporary file and directory support")
3463 (description "The functions for creating temporary files and directories
3464in the Haskelll base library are quite limited. This library just repackages
3465the Cabal implementations of its own temporary file and folder functions so
3466that you can use them without linking against Cabal or depending on it being
3467installed.")
3ac73271 3468 (license license:bsd-3)))
5257c341 3469
fa67563c
PW
3470(define-public ghc-temporary-rc
3471 (package
3472 (name "ghc-temporary-rc")
3473 (version "1.2.0.3")
3474 (source
3475 (origin
3476 (method url-fetch)
3477 (uri (string-append
612fddec 3478 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
fa67563c
PW
3479 version
3480 ".tar.gz"))
3481 (sha256
3482 (base32
3483 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
3484 (build-system haskell-build-system)
2d47cee2 3485 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
fa67563c 3486 (home-page
98b90194 3487 "https://www.github.com/feuerbach/temporary")
fa67563c
PW
3488 (synopsis
3489 "Portable temporary file and directory support")
3490 (description
3491 "The functions for creating temporary files and directories in the base
3492library are quite limited. The unixutils package contains some good ones, but
3493they aren't portable to Windows. This library just repackages the Cabal
3494implementations of its own temporary file and folder functions so that you can
3495use them without linking against Cabal or depending on it being installed.
3496This is a better maintained fork of the \"temporary\" package.")
3ac73271 3497 (license license:bsd-3)))
fa67563c 3498
b53fa046
PW
3499(define-public ghc-smallcheck
3500 (package
3501 (name "ghc-smallcheck")
b625f3a5 3502 (version "1.1.5")
b53fa046
PW
3503 (source
3504 (origin
3505 (method url-fetch)
3506 (uri (string-append
612fddec 3507 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
b53fa046
PW
3508 version
3509 ".tar.gz"))
3510 (sha256
3511 (base32
b625f3a5 3512 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
b53fa046 3513 (build-system haskell-build-system)
b53fa046 3514 (inputs
f54f0475 3515 `(("ghc-logict" ,ghc-logict)))
b53fa046
PW
3516 (home-page
3517 "https://github.com/feuerbach/smallcheck")
3518 (synopsis "Property-based testing library")
3519 (description "SmallCheck is a testing library that allows to verify
3520properties for all test cases up to some depth. The test cases are generated
3521automatically by SmallCheck.")
3ac73271 3522 (license license:bsd-3)))
b53fa046 3523
acd881a4
PW
3524(define-public ghc-silently
3525 (package
3526 (name "ghc-silently")
3527 (version "1.2.5")
3528 (source
3529 (origin
3530 (method url-fetch)
3531 (uri (string-append
612fddec 3532 "https://hackage.haskell.org/package/silently/silently-"
acd881a4
PW
3533 version
3534 ".tar.gz"))
3535 (sha256
3536 (base32
3537 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
3538 (build-system haskell-build-system)
3539 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
3540 ;; (inputs
3541 ;; `(("ghc-temporary" ,ghc-temporary)))
3542 (home-page "https://github.com/hspec/silently")
3543 (synopsis "Prevent writing to stdout")
3544 (description "This package provides functions to prevent or capture
3545writing to stdout and other handles.")
3ac73271 3546 (license license:bsd-3)))
acd881a4 3547
7a1e8c74
FB
3548(define-public ghc-case-insensitive
3549 (package
3550 (name "ghc-case-insensitive")
f5aa5845 3551 (version "1.2.0.11")
7a1e8c74
FB
3552 (outputs '("out" "doc"))
3553 (source
3554 (origin
3555 (method url-fetch)
3556 (uri (string-append
612fddec 3557 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
7a1e8c74
FB
3558 version
3559 ".tar.gz"))
3560 (sha256
3561 (base32
f5aa5845 3562 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
7a1e8c74
FB
3563 (build-system haskell-build-system)
3564 (inputs
3565 `(("ghc-hunit" ,ghc-hunit)))
3566 ;; these inputs are necessary to use this library
2d47cee2 3567 (inputs
7a1e8c74
FB
3568 `(("ghc-text" ,ghc-text)
3569 ("ghc-hashable" ,ghc-hashable)))
3570 (arguments
3571 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3572 (home-page
3573 "https://github.com/basvandijk/case-insensitive")
3574 (synopsis "Case insensitive string comparison")
3575 (description
3576 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3577which can be parameterised by a string-like type like: 'String', 'ByteString',
3578'Text', etc.. Comparisons of values of the resulting type will be insensitive
3579to cases.")
3ac73271 3580 (license license:bsd-3)))
7a1e8c74 3581
eaa3088e
FB
3582(define-public ghc-syb
3583 (package
3584 (name "ghc-syb")
80d06b8d 3585 (version "0.7")
eaa3088e
FB
3586 (outputs '("out" "doc"))
3587 (source
3588 (origin
3589 (method url-fetch)
3590 (uri (string-append
612fddec 3591 "https://hackage.haskell.org/package/syb/syb-"
eaa3088e
FB
3592 version
3593 ".tar.gz"))
3594 (sha256
3595 (base32
80d06b8d 3596 "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq"))))
eaa3088e
FB
3597 (build-system haskell-build-system)
3598 (inputs
f54f0475 3599 `(("ghc-hunit" ,ghc-hunit)))
eaa3088e
FB
3600 (home-page
3601 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3602 (synopsis "Scrap Your Boilerplate")
a306190f 3603 (description "This package contains the generics system described in the
eaa3088e 3604/Scrap Your Boilerplate/ papers (see
a306190f
PW
3605@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3606defines the 'Data' class of types permitting folding and unfolding of
3607constructor applications, instances of this class for primitive types, and a
3608variety of traversals.")
3ac73271 3609 (license license:bsd-3)))
eaa3088e 3610
c5043f4a
FB
3611(define-public ghc-fgl
3612 (package
3613 (name "ghc-fgl")
b1a16000 3614 (version "5.6.0.0")
c5043f4a
FB
3615 (outputs '("out" "doc"))
3616 (source
3617 (origin
3618 (method url-fetch)
3619 (uri (string-append
612fddec 3620 "https://hackage.haskell.org/package/fgl/fgl-"
c5043f4a
FB
3621 version
3622 ".tar.gz"))
3623 (sha256
3624 (base32
b1a16000 3625 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
c5043f4a 3626 (build-system haskell-build-system)
c0a541cb 3627 (arguments
98993f60
TS
3628 `(#:phases
3629 (modify-phases %standard-phases
3630 (add-before 'configure 'update-constraints
3631 (lambda _
3632 (substitute* "fgl.cabal"
3633 (("QuickCheck >= 2\\.8 && < 2\\.10")
3634 "QuickCheck >= 2.8 && < 2.12")
3635 (("hspec >= 2\\.1 && < 2\\.5")
3636 "hspec >= 2.1 && < 2.6")))))))
ce242fd0 3637 (inputs
f54f0475 3638 `(("ghc-hspec" ,ghc-hspec)
ce242fd0 3639 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 3640 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
c5043f4a
FB
3641 (synopsis
3642 "Martin Erwig's Functional Graph Library")
3643 (description "The functional graph library, FGL, is a collection of type
3644and function definitions to address graph problems. The basis of the library
3645is an inductive definition of graphs in the style of algebraic data types that
3646encourages inductive, recursive definitions of graph algorithms.")
3ac73271 3647 (license license:bsd-3)))
c5043f4a 3648
4eca62be
EB
3649(define-public ghc-chasingbottoms
3650 (package
3651 (name "ghc-chasingbottoms")
fa9c33dc 3652 (version "1.3.1.4")
4eca62be
EB
3653 (source
3654 (origin
3655 (method url-fetch)
612fddec 3656 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
4eca62be
EB
3657 "ChasingBottoms-" version ".tar.gz"))
3658 (sha256
3659 (base32
fa9c33dc 3660 "06cynx6hcbfpky7qq3b3mjjgwbnaxkwin3znbwq4b9ikiw0ng633"))))
4eca62be 3661 (build-system haskell-build-system)
2d47cee2 3662 (inputs
f54f0475 3663 `(("ghc-quickcheck" ,ghc-quickcheck)
4eca62be
EB
3664 ("ghc-random" ,ghc-random)
3665 ("ghc-syb" ,ghc-syb)))
612fddec 3666 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
4eca62be
EB
3667 (synopsis "Testing of partial and infinite values in Haskell")
3668 (description
3669 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3670 ;; rendered properly.
3671 "This is a library for testing code involving bottoms or infinite values.
3672For the underlying theory and a larger example involving use of QuickCheck,
3673see the article
3674@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3675\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3676Partial and Infinite Values\"}.")
3ac73271 3677 (license license:expat)))
4eca62be 3678
01a687da
FB
3679(define-public ghc-unordered-containers
3680 (package
3681 (name "ghc-unordered-containers")
e0b8cc34 3682 (version "0.2.9.0")
01a687da
FB
3683 (outputs '("out" "doc"))
3684 (source
3685 (origin
3686 (method url-fetch)
3687 (uri (string-append
612fddec 3688 "https://hackage.haskell.org/package/unordered-containers"
0e03d76a 3689 "/unordered-containers-" version ".tar.gz"))
01a687da
FB
3690 (sha256
3691 (base32
e0b8cc34 3692 "0l4264p0av12cc6i8gls13q8y27x12z2ar4x34n3x59y99fcnc37"))))
01a687da
FB
3693 (build-system haskell-build-system)
3694 (inputs
c3c61a78
EB
3695 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3696 ("ghc-hunit" ,ghc-hunit)
3697 ("ghc-quickcheck" ,ghc-quickcheck)
3698 ("ghc-test-framework" ,ghc-test-framework)
3699 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2d47cee2
RW
3700 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3701 ("ghc-hashable" ,ghc-hashable)))
01a687da
FB
3702 (home-page
3703 "https://github.com/tibbe/unordered-containers")
3704 (synopsis
3705 "Efficient hashing-based container types")
3706 (description
3707 "Efficient hashing-based container types. The containers have been
3708optimized for performance critical use, both in terms of large data quantities
3709and high speed.")
3ac73271 3710 (license license:bsd-3)))
01a687da 3711
bc8bda50
TS
3712(define-public ghc-unordered-containers-bootstrap
3713 (package
3714 (inherit ghc-unordered-containers)
3715 (name "ghc-unordered-containers-bootstrap")
3716 (arguments `(#:tests? #f))
3717 (inputs
3718 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
3719 (properties '(hidden? #t))))
3720
10de4306
PW
3721(define-public ghc-uniplate
3722 (package
3723 (name "ghc-uniplate")
3724 (version "1.6.12")
3725 (source
3726 (origin
3727 (method url-fetch)
3728 (uri (string-append
612fddec 3729 "https://hackage.haskell.org/package/uniplate/uniplate-"
10de4306
PW
3730 version
3731 ".tar.gz"))
3732 (sha256
3733 (base32
3734 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3735 (build-system haskell-build-system)
2d47cee2 3736 (inputs
10de4306
PW
3737 `(("ghc-syb" ,ghc-syb)
3738 ("ghc-hashable" ,ghc-hashable)
3739 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3740 (home-page "http://community.haskell.org/~ndm/uniplate/")
3741 (synopsis "Simple, concise and fast generic operations")
3742 (description "Uniplate is a library for writing simple and concise generic
3743operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3744work, but is substantially simpler and faster.")
3ac73271 3745 (license license:bsd-3)))
10de4306 3746
3410470d
PW
3747(define-public ghc-base64-bytestring
3748 (package
3749 (name "ghc-base64-bytestring")
3750 (version "1.0.0.1")
3751 (source
3752 (origin
3753 (method url-fetch)
3754 (uri (string-append
612fddec 3755 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3410470d
PW
3756 version
3757 ".tar.gz"))
3758 (sha256
3759 (base32
3760 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3761 (build-system haskell-build-system)
3762 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3763 (home-page "https://github.com/bos/base64-bytestring")
3764 (synopsis "Base64 encoding and decoding for ByteStrings")
3765 (description "This library provides fast base64 encoding and decoding for
3766Haskell @code{ByteString}s.")
3ac73271 3767 (license license:bsd-3)))
3410470d 3768
4e125497
PW
3769(define-public ghc-annotated-wl-pprint
3770 (package
3771 (name "ghc-annotated-wl-pprint")
3772 (version "0.7.0")
3773 (source
3774 (origin
3775 (method url-fetch)
3776 (uri (string-append
612fddec 3777 "https://hackage.haskell.org/package/annotated-wl-pprint"
4e125497
PW
3778 "/annotated-wl-pprint-" version
3779 ".tar.gz"))
3780 (sha256
3781 (base32
3782 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3783 (build-system haskell-build-system)
3784 (home-page
3785 "https://github.com/david-christiansen/annotated-wl-pprint")
3786 (synopsis
3787 "The Wadler/Leijen Pretty Printer, with annotation support")
3788 (description "This is a modified version of wl-pprint, which was based on
3789Wadler's paper \"A Prettier Printer\". This version allows the library user
3790to annotate the text with semantic information, which can later be rendered in
3791a variety of ways.")
3ac73271 3792 (license license:bsd-3)))
4e125497 3793
febf7ef6
LC
3794(define-public ghc-wl-pprint
3795 (package
3796 (name "ghc-wl-pprint")
061832f1 3797 (version "1.2.1")
febf7ef6
LC
3798 (source (origin
3799 (method url-fetch)
3800 (uri (string-append
612fddec 3801 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
febf7ef6
LC
3802 version ".tar.gz"))
3803 (sha256
3804 (base32
061832f1 3805 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
febf7ef6 3806 (build-system haskell-build-system)
612fddec 3807 (home-page "https://hackage.haskell.org/package/wl-pprint")
febf7ef6
LC
3808 (synopsis "Wadler/Leijen pretty printer")
3809 (description
3810 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3811Printer}. This version allows the library user to declare overlapping
3812instances of the @code{Pretty} class.")
3813 (license license:bsd-3)))
3814
e9333348
PW
3815(define-public ghc-ansi-wl-pprint
3816 (package
3817 (name "ghc-ansi-wl-pprint")
05916da7 3818 (version "0.6.8.2")
e9333348
PW
3819 (source
3820 (origin
3821 (method url-fetch)
05916da7
RW
3822 (uri (string-append "https://hackage.haskell.org/package/"
3823 "ansi-wl-pprint/ansi-wl-pprint-"
3824 version ".tar.gz"))
e9333348
PW
3825 (sha256
3826 (base32
05916da7 3827 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
e9333348 3828 (build-system haskell-build-system)
2d47cee2 3829 (inputs
e9333348 3830 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
612fddec 3831 (home-page "https://github.com/ekmett/ansi-wl-pprint")
e9333348
PW
3832 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3833 (description "This is a pretty printing library based on Wadler's paper
3834\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3835colored output using the ansi-terminal package.")
3ac73271 3836 (license license:bsd-3)))
e9333348 3837
d692228e
FB
3838(define-public ghc-split
3839 (package
3840 (name "ghc-split")
5285d614 3841 (version "0.2.3.3")
d692228e
FB
3842 (outputs '("out" "doc"))
3843 (source
3844 (origin
3845 (method url-fetch)
3846 (uri (string-append
612fddec 3847 "https://hackage.haskell.org/package/split/split-"
d692228e
FB
3848 version
3849 ".tar.gz"))
3850 (sha256
3851 (base32
5285d614 3852 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
d692228e 3853 (build-system haskell-build-system)
86e9076d 3854 (native-inputs
d692228e 3855 `(("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 3856 (home-page "https://hackage.haskell.org/package/split")
565f040d
PW
3857 (synopsis "Combinator library for splitting lists")
3858 (description "This package provides a collection of Haskell functions for
3859splitting lists into parts, akin to the @code{split} function found in several
3860mainstream languages.")
3ac73271 3861 (license license:bsd-3)))
d692228e 3862
fa468e87
FB
3863(define-public ghc-parsec
3864 (package
3865 (name "ghc-parsec")
8ebdab0d 3866 (version "3.1.13.0")
fa468e87
FB
3867 (outputs '("out" "doc"))
3868 (source
3869 (origin
3870 (method url-fetch)
3871 (uri (string-append
612fddec 3872 "https://hackage.haskell.org/package/parsec/parsec-"
fa468e87
FB
3873 version
3874 ".tar.gz"))
3875 (sha256
8ebdab0d 3876 (base32 "1wc09pyn70p8z6llink10c8pqbh6ikyk554911yfwxv1g91swqbq"))))
fa468e87 3877 (build-system haskell-build-system)
2d47cee2 3878 (native-inputs
fa468e87 3879 `(("ghc-hunit" ,ghc-hunit)))
2d47cee2 3880 (inputs
f54f0475 3881 `(("ghc-text" ,ghc-text)))
fa468e87
FB
3882 (arguments
3883 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3884 (home-page
3885 "https://github.com/aslatter/parsec")
3886 (synopsis "Monadic parser combinators")
3887 (description "Parsec is a parser library. It is simple, safe, well
3888documented, has extensive libraries, good error messages, and is fast. It is
3889defined as a monad transformer that can be stacked on arbitrary monads, and it
3890is also parametric in the input stream type.")
3ac73271 3891 (license license:bsd-3)))
fa468e87 3892
aeecabd4
RW
3893(define-public ghc-parser-combinators
3894 (package
3895 (name "ghc-parser-combinators")
e2182202 3896 (version "1.0.0")
aeecabd4
RW
3897 (source
3898 (origin
3899 (method url-fetch)
3900 (uri (string-append "https://hackage.haskell.org/package/"
3901 "parser-combinators/parser-combinators-"
3902 version ".tar.gz"))
3903 (sha256
3904 (base32
e2182202 3905 "1pwfdsklqwvaynwpdzmx1bs35mp6dpsyaqdnzxnqcrxwf5h8sk75"))))
aeecabd4
RW
3906 (build-system haskell-build-system)
3907 (home-page "https://github.com/mrkkrp/parser-combinators")
3908 (synopsis "Commonly useful parser combinators")
3909 (description
3910 "This is a lightweight package providing commonly useful parser
3911combinators.")
3912 (license license:bsd-3)))
3913
ad5de226
RW
3914(define-public ghc-megaparsec
3915 (package
3916 (name "ghc-megaparsec")
81caf948 3917 (version "6.5.0")
ad5de226
RW
3918 (source
3919 (origin
3920 (method url-fetch)
3921 (uri (string-append "https://hackage.haskell.org/package/"
3922 "megaparsec/megaparsec-"
3923 version ".tar.gz"))
3924 (sha256
3925 (base32
81caf948 3926 "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy"))))
ad5de226 3927 (build-system haskell-build-system)
81caf948
TS
3928 (arguments
3929 `(#:cabal-revision
3930 ("4" "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1")))
ad5de226
RW
3931 (inputs
3932 `(("ghc-case-insensitive" ,ghc-case-insensitive)
ad5de226
RW
3933 ("ghc-parser-combinators" ,ghc-parser-combinators)
3934 ("ghc-scientific" ,ghc-scientific)
3935 ("ghc-text" ,ghc-text)))
3936 (native-inputs
3937 `(("ghc-quickcheck" ,ghc-quickcheck)
3938 ("ghc-hspec" ,ghc-hspec)
3939 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3940 ("hspec-discover" ,hspec-discover)))
3941 (home-page "https://github.com/mrkkrp/megaparsec")
3942 (synopsis "Monadic parser combinators")
3943 (description
3944 "This is an industrial-strength monadic parser combinator library.
3945Megaparsec is a feature-rich package that strikes a nice balance between
3946speed, flexibility, and quality of parse errors.")
3947 (license license:bsd-2)))
3948
f50fc138
FB
3949(define-public ghc-vector
3950 (package
3951 (name "ghc-vector")
4c8a1f40 3952 (version "0.12.0.1")
f50fc138
FB
3953 (outputs '("out" "doc"))
3954 (source
3955 (origin
3956 (method url-fetch)
3957 (uri (string-append
612fddec 3958 "https://hackage.haskell.org/package/vector/vector-"
f50fc138
FB
3959 version
3960 ".tar.gz"))
3961 (sha256
3962 (base32
4c8a1f40 3963 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
f50fc138 3964 (build-system haskell-build-system)
4c8a1f40
RW
3965 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
3966 ;; disabled for now.
57203a15
TS
3967 (arguments
3968 `(#:cabal-revision
3969 ("3" "0y5rh8k710i2a3p1h2rghvr5cfg78p5h0kbfi7ifxqqf6pzlyr1x")
3970 #:tests? #f))
e881752c 3971 (inputs
2d47cee2 3972 `(("ghc-primitive" ,ghc-primitive)
4c8a1f40
RW
3973 ("ghc-random" ,ghc-random)
3974 ("ghc-quickcheck" ,ghc-quickcheck)
3975 ;; ("ghc-hunit" ,ghc-hunit)
3976 ;; ("ghc-test-framework" ,ghc-test-framework)
3977 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3978 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3979 ))
f50fc138
FB
3980 (home-page "https://github.com/haskell/vector")
3981 (synopsis "Efficient Arrays")
0b61d503
PW
3982 (description "This library provides an efficient implementation of
3983Int-indexed arrays (both mutable and immutable), with a powerful loop
3984optimisation framework.")
3ac73271 3985 (license license:bsd-3)))
f50fc138 3986
576cdc5a
PW
3987(define-public ghc-vector-binary-instances
3988 (package
3989 (name "ghc-vector-binary-instances")
a7c0b95a 3990 (version "0.2.4")
576cdc5a
PW
3991 (source
3992 (origin
3993 (method url-fetch)
3994 (uri (string-append
612fddec 3995 "https://hackage.haskell.org/package/"
576cdc5a
PW
3996 "vector-binary-instances/vector-binary-instances-"
3997 version ".tar.gz"))
3998 (sha256
3999 (base32
a7c0b95a 4000 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
576cdc5a 4001 (build-system haskell-build-system)
4f2f0eb0
TS
4002 (arguments
4003 `(#:cabal-revision
4004 ("1" "196frl4akhfk7xf1nxzn8lmq99dxhzhsimanswn9yy7ym8zhki4i")))
576cdc5a 4005 (inputs
a7c0b95a
RW
4006 `(("ghc-vector" ,ghc-vector)))
4007 (native-inputs
4008 `(("ghc-tasty" ,ghc-tasty)
4009 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
576cdc5a
PW
4010 (home-page "https://github.com/bos/vector-binary-instances")
4011 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
4012 (description "This library provides instances of @code{Binary} for the
4013types defined in the @code{vector} package, making it easy to serialize
4014vectors to and from disk. We use the generic interface to vectors, so all
4015vector types are supported. Specific instances are provided for unboxed,
4016boxed and storable vectors.")
3ac73271 4017 (license license:bsd-3)))
576cdc5a 4018
4c798726
TS
4019(define-public ghc-bloomfilter
4020 (package
4021 (name "ghc-bloomfilter")
4022 (version "2.0.1.0")
4023 (source
4024 (origin
4025 (method url-fetch)
4026 (uri (string-append "https://hackage.haskell.org/package/"
4027 "bloomfilter/bloomfilter-" version ".tar.gz"))
4028 (sha256
4029 (base32
4030 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
4031 (build-system haskell-build-system)
4032 (native-inputs
4033 `(("ghc-quickcheck" ,ghc-quickcheck)
4034 ("ghc-random" ,ghc-random)
4035 ("ghc-test-framework" ,ghc-test-framework)
4036 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4037 (home-page "https://github.com/bos/bloomfilter")
4038 (synopsis "Pure and impure Bloom filter implementations")
4039 (description "This package provides both mutable and immutable Bloom
4040filter data types, along with a family of hash functions and an easy-to-use
4041interface.")
4042 (license license:bsd-3)))
4043
abfed253
FB
4044(define-public ghc-network
4045 (package
4046 (name "ghc-network")
5a92fb41 4047 (version "2.6.3.6")
abfed253
FB
4048 (outputs '("out" "doc"))
4049 (source
4050 (origin
4051 (method url-fetch)
4052 (uri (string-append
612fddec 4053 "https://hackage.haskell.org/package/network/network-"
abfed253
FB
4054 version
4055 ".tar.gz"))
4056 (sha256
4057 (base32
5a92fb41 4058 "198mam7ahny48p9fajznbqq16a8ya2gw0xm3gnm1si1rmc4hdplv"))))
abfed253 4059 (build-system haskell-build-system)
2f430bf8
RW
4060 ;; The regression tests depend on an unpublished module.
4061 (arguments `(#:tests? #f))
4062 (native-inputs
4063 `(("ghc-hunit" ,ghc-hunit)
4064 ("ghc-doctest" ,ghc-doctest)
4065 ("ghc-test-framework" ,ghc-test-framework)
4066 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
abfed253
FB
4067 (home-page "https://github.com/haskell/network")
4068 (synopsis "Low-level networking interface")
4069 (description
4070 "This package provides a low-level networking interface.")
3ac73271 4071 (license license:bsd-3)))
abfed253 4072
9ce031c5
FB
4073(define-public ghc-network-uri
4074 (package
4075 (name "ghc-network-uri")
29addb27 4076 (version "2.6.1.0")
9ce031c5
FB
4077 (outputs '("out" "doc"))
4078 (source
4079 (origin
4080 (method url-fetch)
4081 (uri (string-append
612fddec 4082 "https://hackage.haskell.org/package/network-uri/network-uri-"
9ce031c5
FB
4083 version
4084 ".tar.gz"))
4085 (sha256
4086 (base32
29addb27 4087 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
9ce031c5 4088 (build-system haskell-build-system)
9ce031c5
FB
4089 (arguments
4090 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2d47cee2
RW
4091 (native-inputs
4092 `(("ghc-hunit" ,ghc-hunit)))
4093 (inputs
4094 `(("ghc-parsec" ,ghc-parsec)
4095 ("ghc-network" ,ghc-network)))
9ce031c5
FB
4096 (home-page
4097 "https://github.com/haskell/network-uri")
e881752c
AK
4098 (synopsis "Library for URI manipulation")
4099 (description "This package provides an URI manipulation interface. In
9ce031c5
FB
4100'network-2.6' the 'Network.URI' module was split off from the 'network'
4101package into this package.")
3ac73271 4102 (license license:bsd-3)))
9ce031c5 4103
cd27b23d
PW
4104(define-public ghc-ansi-terminal
4105 (package
4106 (name "ghc-ansi-terminal")
ecefe4ce 4107 (version "0.8.0.4")
cd27b23d
PW
4108 (source
4109 (origin
4110 (method url-fetch)
4111 (uri (string-append
612fddec 4112 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
cd27b23d
PW
4113 version
4114 ".tar.gz"))
4115 (sha256
4116 (base32
ecefe4ce 4117 "0428gq8m3fdnb7ldcsyk97qcch76hcxbgh2666p6f76fs2qbhg7b"))))
cd27b23d 4118 (build-system haskell-build-system)
ecefe4ce
TS
4119 (inputs
4120 `(("ghc-colour" ,ghc-colour)))
cd27b23d
PW
4121 (home-page "https://github.com/feuerbach/ansi-terminal")
4122 (synopsis "ANSI terminal support for Haskell")
4123 (description "This package provides ANSI terminal support for Haskell. It
4124allows cursor movement, screen clearing, color output showing or hiding the
4125cursor, and changing the title.")
3ac73271 4126 (license license:bsd-3)))
cd27b23d 4127
6ecc4723
PW
4128(define-public ghc-vault
4129 (package
4130 (name "ghc-vault")
128c4c40 4131 (version "0.3.1.2")
6ecc4723
PW
4132 (source
4133 (origin
4134 (method url-fetch)
4135 (uri (string-append
612fddec 4136 "https://hackage.haskell.org/package/vault/vault-"
6ecc4723
PW
4137 version
4138 ".tar.gz"))
4139 (sha256
4140 (base32
128c4c40 4141 "072mbrihsdsb8c6xvg6lvk0rqjgvxvi8qkg4n6wwym5hq0pfa04y"))))
6ecc4723 4142 (build-system haskell-build-system)
2d47cee2 4143 (inputs
6ecc4723 4144 `(("ghc-unordered-containers" ,ghc-unordered-containers)
128c4c40
TS
4145 ("ghc-hashable" ,ghc-hashable)
4146 ("ghc-semigroupoids" ,ghc-semigroupoids)))
6ecc4723
PW
4147 (home-page
4148 "https://github.com/HeinrichApfelmus/vault")
4149 (synopsis "Persistent store for arbitrary values")
4150 (description "This package provides vaults for Haskell. A vault is a
4151persistent store for values of arbitrary types. It's like having first-class
4152access to the storage space behind @code{IORefs}. The data structure is
4153analogous to a bank vault, where you can access different bank boxes with
4154different keys; hence the name. Also provided is a @code{locker} type,
4155representing a store for a single element.")
3ac73271 4156 (license license:bsd-3)))
6ecc4723 4157
212ae095
AV
4158(define-public ghc-edisonapi
4159 (package
4160 (name "ghc-edisonapi")
4161 (version "1.3.1")
4162 (source
4163 (origin
4164 (method url-fetch)
4165 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
4166 "/EdisonAPI-" version ".tar.gz"))
4167 (sha256
4168 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
4169 (build-system haskell-build-system)
212ae095
AV
4170 (home-page "http://rwd.rdockins.name/edison/home/")
4171 (synopsis "Library of efficient, purely-functional data structures (API)")
4172 (description
4173 "Edison is a library of purely functional data structures written by
4174Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
4175value EDiSon (Efficient Data Structures). Edison provides several families of
4176abstractions, each with multiple implementations. The main abstractions
4177provided by Edison are: Sequences such as stacks, queues, and dequeues;
4178Collections such as sets, bags and heaps; and Associative Collections such as
4179finite maps and priority queues where the priority and element are distinct.")
4180 (license license:expat)))
4181
1eced2a7
AV
4182(define-public ghc-edisoncore
4183 (package
4184 (name "ghc-edisoncore")
38922e49 4185 (version "1.3.2.1")
1eced2a7
AV
4186 (source
4187 (origin
4188 (method url-fetch)
4189 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
4190 "/EdisonCore-" version ".tar.gz"))
4191 (sha256
38922e49 4192 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
1eced2a7
AV
4193 (build-system haskell-build-system)
4194 (inputs
f54f0475 4195 `(("ghc-quickcheck" ,ghc-quickcheck)
1eced2a7
AV
4196 ("ghc-edisonapi" ,ghc-edisonapi)))
4197 (home-page "http://rwd.rdockins.name/edison/home/")
e695d79d 4198 (synopsis "Library of efficient, purely-functional data structures")
1eced2a7
AV
4199 (description
4200 "This package provides the core Edison data structure implementations,
4201including multiple sequence, set, bag, and finite map concrete implementations
4202with various performance characteristics.")
4203 (license license:expat)))
4204
899916b5
PW
4205(define-public ghc-mmorph
4206 (package
4207 (name "ghc-mmorph")
8b5d1142 4208 (version "1.1.2")
899916b5
PW
4209 (source
4210 (origin
4211 (method url-fetch)
4212 (uri (string-append
612fddec 4213 "https://hackage.haskell.org/package/mmorph/mmorph-"
899916b5
PW
4214 version
4215 ".tar.gz"))
4216 (sha256
4217 (base32
8b5d1142 4218 "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9"))))
899916b5 4219 (build-system haskell-build-system)
aebb8db2 4220 (inputs
f54f0475 4221 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
aebb8db2 4222 (home-page "https://hackage.haskell.org/package/mmorph")
899916b5
PW
4223 (synopsis "Monad morphisms")
4224 (description
4225 "This library provides monad morphism utilities, most commonly used for
4226manipulating monad transformer stacks.")
3ac73271 4227 (license license:bsd-3)))
899916b5 4228
a39e6fae
TS
4229(define-public ghc-ifelse
4230 (package
4231 (name "ghc-ifelse")
4232 (version "0.85")
4233 (source
4234 (origin
4235 (method url-fetch)
4236 (uri (string-append "https://hackage.haskell.org/package/"
4237 "IfElse/IfElse-" version ".tar.gz"))
4238 (sha256
4239 (base32
4240 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
4241 (build-system haskell-build-system)
a39e6fae
TS
4242 (home-page "http://hackage.haskell.org/package/IfElse")
4243 (synopsis "Monadic control flow with anaphoric variants")
4244 (description "This library provides functions for control flow inside of
4245monads with anaphoric variants on @code{if} and @code{when} and a C-like
4246@code{switch} function.")
4247 (license license:bsd-3)))
4248
85160205
PW
4249(define-public ghc-monad-control
4250 (package
4251 (name "ghc-monad-control")
d9c620ba 4252 (version "1.0.2.3")
85160205
PW
4253 (source
4254 (origin
4255 (method url-fetch)
4256 (uri (string-append
612fddec 4257 "https://hackage.haskell.org/package/monad-control"
85160205
PW
4258 "/monad-control-" version ".tar.gz"))
4259 (sha256
4260 (base32
d9c620ba 4261 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
85160205 4262 (build-system haskell-build-system)
2d47cee2 4263 (inputs
85160205
PW
4264 `(("ghc-stm" ,ghc-stm)
4265 ("ghc-transformers-base" ,ghc-transformers-base)
4266 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4267 (home-page "https://github.com/basvandijk/monad-control")
4268 (synopsis "Monad transformers to lift control operations like exception
4269catching")
4270 (description "This package defines the type class @code{MonadBaseControl},
4271a subset of @code{MonadBase} into which generic control operations such as
4272@code{catch} can be lifted from @code{IO} or any other base monad.")
3ac73271 4273 (license license:bsd-3)))
85160205 4274
005a08e3
AV
4275(define-public ghc-fail
4276 (package
4277 (name "ghc-fail")
4278 (version "4.9.0.0")
4279 (source
4280 (origin
4281 (method url-fetch)
4282 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4283 version ".tar.gz"))
4284 (sha256
4285 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4286 (build-system haskell-build-system)
57184328 4287 (arguments `(#:haddock? #f)) ; Package contains no documentation.
005a08e3
AV
4288 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4289 (synopsis "Forward-compatible MonadFail class")
4290 (description
4291 "This package contains the @code{Control.Monad.Fail} module providing the
4292@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4293class that became available in
4294@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4295older @code{base} package versions. This package turns into an empty package
4296when used with GHC versions which already provide the
4297@code{Control.Monad.Fail} module.")
4298 (license license:bsd-3)))
4299
298af2a8
AV
4300(define-public ghc-monadplus
4301 (package
4302 (name "ghc-monadplus")
4303 (version "1.4.2")
4304 (source
4305 (origin
4306 (method url-fetch)
4307 (uri (string-append "https://hackage.haskell.org/package/monadplus"
4308 "/monadplus-" version ".tar.gz"))
4309 (sha256
4310 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
4311 (build-system haskell-build-system)
4312 (home-page "https://hackage.haskell.org/package/monadplus")
4313 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
4314 (description
4315 "This package generalizes many common stream operations such as
4316@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
4317arbitrary @code{MonadPlus} instances.")
4318 (license license:bsd-3)))
4319
27e7c8b6
PW
4320(define-public ghc-byteorder
4321 (package
4322 (name "ghc-byteorder")
4323 (version "1.0.4")
4324 (source
4325 (origin
4326 (method url-fetch)
4327 (uri (string-append
612fddec 4328 "https://hackage.haskell.org/package/byteorder/byteorder-"
27e7c8b6
PW
4329 version
4330 ".tar.gz"))
4331 (sha256
4332 (base32
4333 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
4334 (build-system haskell-build-system)
4335 (home-page
4336 "http://community.haskell.org/~aslatter/code/byteorder")
4337 (synopsis
4338 "Exposes the native endianness of the system")
4339 (description
4340 "This package is for working with the native byte-ordering of the
4341system.")
3ac73271 4342 (license license:bsd-3)))
27e7c8b6 4343
71470edd
PW
4344(define-public ghc-base-compat
4345 (package
4346 (name "ghc-base-compat")
90708323 4347 (version "0.9.3")
71470edd
PW
4348 (source
4349 (origin
4350 (method url-fetch)
4351 (uri (string-append
612fddec 4352 "https://hackage.haskell.org/package/base-compat/base-compat-"
71470edd
PW
4353 version
4354 ".tar.gz"))
4355 (sha256
4356 (base32
90708323 4357 "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x"))))
71470edd 4358 (build-system haskell-build-system)
2d47cee2 4359 (native-inputs
71470edd 4360 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4361 ("ghc-hspec" ,ghc-hspec)
4362 ("hspec-discover" ,hspec-discover)))
71470edd
PW
4363 (home-page "https://hackage.haskell.org/package/base-compat")
4364 (synopsis "Haskell compiler compatibility library")
4365 (description "This library provides functions available in later versions
4366of base to a wider range of compilers, without requiring the use of CPP
4367pragmas in your code.")
3ac73271 4368 (license license:bsd-3)))
71470edd 4369
94e1dc7a
PW
4370(define-public ghc-blaze-builder
4371 (package
4372 (name "ghc-blaze-builder")
2a7c296a 4373 (version "0.4.1.0")
94e1dc7a
PW
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri (string-append
612fddec 4378 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
94e1dc7a
PW
4379 version
4380 ".tar.gz"))
4381 (sha256
4382 (base32
2a7c296a 4383 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
94e1dc7a
PW
4384 (build-system haskell-build-system)
4385 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
2d47cee2 4386 (inputs
94e1dc7a
PW
4387 `(("ghc-text" ,ghc-text)
4388 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 4389 (home-page "https://github.com/lpsmith/blaze-builder")
94e1dc7a
PW
4390 (synopsis "Efficient buffered output")
4391 (description "This library provides an implementation of the older
4392@code{blaze-builder} interface in terms of the new builder that shipped with
4393@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
4394bridge to the new builder, so that code that uses the old interface can
4395interoperate with code that uses the new implementation.")
3ac73271 4396 (license license:bsd-3)))
94e1dc7a 4397
a311f5d0
PW
4398(define-public ghc-blaze-markup
4399 (package
4400 (name "ghc-blaze-markup")
c70f00e2 4401 (version "0.8.2.1")
a311f5d0
PW
4402 (source
4403 (origin
4404 (method url-fetch)
969d0c64
RW
4405 (uri (string-append "https://hackage.haskell.org/package/"
4406 "blaze-markup/blaze-markup-"
4407 version ".tar.gz"))
a311f5d0
PW
4408 (sha256
4409 (base32
c70f00e2 4410 "0ih1c3qahkdgzbqihdhny5s313l2m66fbb88w8jbx7yz56y7rawh"))))
a311f5d0 4411 (build-system haskell-build-system)
c70f00e2
TS
4412 (arguments
4413 `(#:phases
4414 (modify-phases %standard-phases
4415 (add-before 'configure 'update-constraints
4416 (lambda _
4417 (substitute* "blaze-markup.cabal"
4418 (("tasty >= 1\\.0 && < 1\\.1")
4419 "tasty >= 1.0 && < 1.2")))))))
2d47cee2 4420 (inputs
a311f5d0
PW
4421 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4422 ("ghc-text" ,ghc-text)))
969d0c64
RW
4423 (native-inputs
4424 `(("ghc-hunit" ,ghc-hunit)
4425 ("ghc-quickcheck" ,ghc-quickcheck)
4426 ("ghc-tasty" ,ghc-tasty)
4427 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4428 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 4429 (home-page "https://jaspervdj.be/blaze")
a311f5d0
PW
4430 (synopsis "Fast markup combinator library for Haskell")
4431 (description "This library provides core modules of a markup combinator
4432library for Haskell.")
3ac73271 4433 (license license:bsd-3)))
a311f5d0 4434
9525e25f
PW
4435(define-public ghc-easy-file
4436 (package
4437 (name "ghc-easy-file")
7d887a2c 4438 (version "0.2.2")
9525e25f
PW
4439 (source
4440 (origin
4441 (method url-fetch)
4442 (uri (string-append
612fddec 4443 "https://hackage.haskell.org/package/easy-file/easy-file-"
9525e25f
PW
4444 version
4445 ".tar.gz"))
4446 (sha256
4447 (base32
7d887a2c 4448 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
9525e25f
PW
4449 (build-system haskell-build-system)
4450 (home-page
612fddec 4451 "https://github.com/kazu-yamamoto/easy-file")
9525e25f
PW
4452 (synopsis "File handling library for Haskell")
4453 (description "This library provides file handling utilities for Haskell.")
3ac73271 4454 (license license:bsd-3)))
9525e25f 4455
e2fcaff2
PW
4456(define-public ghc-async
4457 (package
4458 (name "ghc-async")
b925e1f5 4459 (version "2.2.1")
e2fcaff2
PW
4460 (source
4461 (origin
4462 (method url-fetch)
4463 (uri (string-append
612fddec 4464 "https://hackage.haskell.org/package/async/async-"
e2fcaff2
PW
4465 version
4466 ".tar.gz"))
4467 (sha256
4468 (base32
b925e1f5 4469 "09whscli1q5z7lzyq9rfk0bq1ydplh6pjmc6qv0x668k5818c2wg"))))
e2fcaff2 4470 (build-system haskell-build-system)
e1c1b71c 4471 (inputs
2d47cee2 4472 `(("ghc-stm" ,ghc-stm)
b925e1f5 4473 ("ghc-hashable" ,ghc-hashable)
2d47cee2 4474 ("ghc-hunit" ,ghc-hunit)
e1c1b71c
EB
4475 ("ghc-test-framework" ,ghc-test-framework)
4476 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
e2fcaff2
PW
4477 (home-page "https://github.com/simonmar/async")
4478 (synopsis "Library to run IO operations asynchronously")
4479 (description "Async provides a library to run IO operations
554093b7 4480asynchronously, and wait for their results. It is a higher-level interface
e2fcaff2
PW
4481over threads in Haskell, in which @code{Async a} is a concurrent thread that
4482will eventually deliver a value of type @code{a}.")
3ac73271 4483 (license license:bsd-3)))
e2fcaff2 4484
49465144
PW
4485(define-public ghc-fingertree
4486 (package
4487 (name "ghc-fingertree")
9c072f82 4488 (version "0.1.4.1")
49465144
PW
4489 (source
4490 (origin
4491 (method url-fetch)
4492 (uri (string-append
612fddec 4493 "https://hackage.haskell.org/package/fingertree/fingertree-"
35deff72 4494 version ".tar.gz"))
49465144
PW
4495 (sha256
4496 (base32
9c072f82 4497 "192fyzv0pn1437wdpqg1l80rswkk4rw3w61r4bq7dhv354bdqy4p"))))
49465144 4498 (build-system haskell-build-system)
ffe8c06e
TGR
4499 (native-inputs
4500 `(("ghc-hunit" ,ghc-hunit)
4501 ("ghc-quickcheck" ,ghc-quickcheck)
4502 ("ghc-test-framework" ,ghc-test-framework)
4503 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4504 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 4505 (home-page "https://hackage.haskell.org/package/fingertree")
49465144
PW
4506 (synopsis "Generic finger-tree structure")
4507 (description "This library provides finger trees, a general sequence
4508representation with arbitrary annotations, for use as a base for
4509implementations of various collection types. It includes examples, as
4510described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4511simple general-purpose data structure\".")
3ac73271 4512 (license license:bsd-3)))
49465144 4513
918f690a
PW
4514(define-public ghc-optparse-applicative
4515 (package
4516 (name "ghc-optparse-applicative")
3c300542 4517 (version "0.14.2.0")
918f690a
PW
4518 (source
4519 (origin
4520 (method url-fetch)
4521 (uri (string-append
612fddec 4522 "https://hackage.haskell.org/package/optparse-applicative"
918f690a
PW
4523 "/optparse-applicative-" version ".tar.gz"))
4524 (sha256
4525 (base32
3c300542
AI
4526 "0c3z1mvynlyv1garjbdmdd3npm40dabgm75js4r07cf766c1wd71"))))
4527 (build-system haskell-build-system)
2d47cee2 4528 (inputs
918f690a
PW
4529 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4530 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7c86efe7
RW
4531 (native-inputs
4532 `(("ghc-quickcheck" ,ghc-quickcheck)))
918f690a
PW
4533 (home-page "https://github.com/pcapriotti/optparse-applicative")
4534 (synopsis "Utilities and combinators for parsing command line options")
4535 (description "This package provides utilities and combinators for parsing
4536command line options in Haskell.")
3ac73271 4537 (license license:bsd-3)))
918f690a 4538
09fb622c
PW
4539(define-public ghc-base-orphans
4540 (package
4541 (name "ghc-base-orphans")
19533b32 4542 (version "0.7")
09fb622c
PW
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
612fddec 4547 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
09fb622c
PW
4548 version
4549 ".tar.gz"))
4550 (sha256
4551 (base32
19533b32 4552 "057f9npnqk71ccfh95djfkpd54dzazphj06grwxa3fyhwcwxrb8a"))))
09fb622c 4553 (build-system haskell-build-system)
2d47cee2 4554 (native-inputs
09fb622c 4555 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4556 ("ghc-hspec" ,ghc-hspec)
4557 ("hspec-discover" ,hspec-discover)))
09fb622c
PW
4558 (home-page "https://hackage.haskell.org/package/base-orphans")
4559 (synopsis "Orphan instances for backwards compatibility")
4560 (description "This package defines orphan instances that mimic instances
4561available in later versions of base to a wider (older) range of compilers.")
3ac73271 4562 (license license:bsd-3)))
09fb622c 4563
bc0fb230
PW
4564(define-public ghc-auto-update
4565 (package
4566 (name "ghc-auto-update")
a8e5513c 4567 (version "0.1.4")
bc0fb230
PW
4568 (source
4569 (origin
4570 (method url-fetch)
4571 (uri (string-append
612fddec 4572 "https://hackage.haskell.org/package/auto-update/auto-update-"
bc0fb230
PW
4573 version
4574 ".tar.gz"))
4575 (sha256
4576 (base32
a8e5513c 4577 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
bc0fb230
PW
4578 (build-system haskell-build-system)
4579 (home-page "https://github.com/yesodweb/wai")
4580 (synopsis "Efficiently run periodic, on-demand actions")
4581 (description "This library provides mechanisms to efficiently run
4582periodic, on-demand actions in Haskell.")
3ac73271 4583 (license license:expat)))
bc0fb230 4584
7f0d5857
PW
4585(define-public ghc-tagged
4586 (package
4587 (name "ghc-tagged")
93303a3a 4588 (version "0.8.5")
7f0d5857
PW
4589 (source
4590 (origin
4591 (method url-fetch)
4592 (uri (string-append
612fddec 4593 "https://hackage.haskell.org/package/tagged/tagged-"
7f0d5857
PW
4594 version
4595 ".tar.gz"))
4596 (sha256
4597 (base32
93303a3a 4598 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
7f0d5857 4599 (build-system haskell-build-system)
70ee3228
TS
4600 (arguments
4601 `(#:cabal-revision
4602 ("2" "0r2knfcq0b4s652vlvlnfwxlc2mkc2ra9kl8bp4zdn1awmfy0ia5")))
93303a3a
RW
4603 (inputs
4604 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7f0d5857
PW
4605 (home-page "https://hackage.haskell.org/package/tagged")
4606 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4607 (description "This library provides phantom types for Haskell 98, to avoid
4608having to unsafely pass dummy arguments.")
3ac73271 4609 (license license:bsd-3)))
7f0d5857 4610
a24ec6f2
PW
4611(define-public ghc-unbounded-delays
4612 (package
4613 (name "ghc-unbounded-delays")
58c102e0 4614 (version "0.1.1.0")
a24ec6f2
PW
4615 (source
4616 (origin
4617 (method url-fetch)
4618 (uri (string-append
612fddec 4619 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
a24ec6f2
PW
4620 version
4621 ".tar.gz"))
4622 (sha256
4623 (base32
58c102e0 4624 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
a24ec6f2
PW
4625 (build-system haskell-build-system)
4626 (home-page "https://github.com/basvandijk/unbounded-delays")
4627 (synopsis "Unbounded thread delays and timeouts")
4628 (description "The @code{threadDelay} and @code{timeout} functions from the
4629Haskell base library use the bounded @code{Int} type for specifying the delay
4630or timeout period. This package provides alternative functions which use the
4631unbounded @code{Integer} type.")
3ac73271 4632 (license license:bsd-3)))
a24ec6f2 4633
f4e5c04e
PW
4634(define-public ghc-clock
4635 (package
4636 (name "ghc-clock")
615abb95 4637 (version "0.7.2")
f4e5c04e
PW
4638 (source
4639 (origin
4640 (method url-fetch)
4641 (uri (string-append
612fddec 4642 "https://hackage.haskell.org/package/"
f4e5c04e
PW
4643 "clock/"
4644 "clock-" version ".tar.gz"))
4645 (sha256
615abb95 4646 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
f4e5c04e
PW
4647 (build-system haskell-build-system)
4648 (inputs
4649 `(("ghc-tasty" ,ghc-tasty)
4650 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4651 (home-page "https://hackage.haskell.org/package/clock")
3f2ce1dc
PW
4652 (synopsis "High-resolution clock for Haskell")
4653 (description "A package for convenient access to high-resolution clock and
4654timer functions of different operating systems via a unified API.")
3ac73271 4655 (license license:bsd-3)))
3f2ce1dc 4656
6ffc5be7
PW
4657(define-public ghc-charset
4658 (package
4659 (name "ghc-charset")
4660 (version "0.3.7.1")
4661 (source
4662 (origin
4663 (method url-fetch)
4664 (uri (string-append
612fddec 4665 "https://hackage.haskell.org/package/charset/charset-"
6ffc5be7
PW
4666 version
4667 ".tar.gz"))
4668 (sha256
4669 (base32
4670 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4671 (build-system haskell-build-system)
6ffc5be7 4672 (inputs
2d47cee2
RW
4673 `(("ghc-semigroups" ,ghc-semigroups)
4674 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 4675 (home-page "https://github.com/ekmett/charset")
6ffc5be7
PW
4676 (synopsis "Fast unicode character sets for Haskell")
4677 (description "This package provides fast unicode character sets for
4678Haskell, based on complemented PATRICIA tries.")
3ac73271 4679 (license license:bsd-3)))
6ffc5be7 4680
d76bf618
PW
4681(define-public ghc-bytestring-builder
4682 (package
4683 (name "ghc-bytestring-builder")
934dc8d2 4684 (version "0.10.8.1.0")
d76bf618
PW
4685 (source
4686 (origin
4687 (method url-fetch)
4688 (uri (string-append
612fddec 4689 "https://hackage.haskell.org/package/bytestring-builder"
d76bf618
PW
4690 "/bytestring-builder-" version ".tar.gz"))
4691 (sha256
4692 (base32
934dc8d2 4693 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
d76bf618
PW
4694 (build-system haskell-build-system)
4695 (arguments `(#:haddock? #f)) ; Package contains no documentation.
612fddec 4696 (home-page "https://hackage.haskell.org/package/bytestring-builder")
d76bf618
PW
4697 (synopsis "The new bytestring builder, packaged outside of GHC")
4698 (description "This package provides the bytestring builder that is
4699debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4700Compatibility package for older packages.")
3ac73271 4701 (license license:bsd-3)))
d76bf618 4702
878535bd
PW
4703(define-public ghc-nats
4704 (package
4705 (name "ghc-nats")
d62f6951 4706 (version "1.1.2")
878535bd
PW
4707 (source
4708 (origin
4709 (method url-fetch)
4710 (uri (string-append
612fddec 4711 "https://hackage.haskell.org/package/nats/nats-"
878535bd
PW
4712 version
4713 ".tar.gz"))
4714 (sha256
4715 (base32
d62f6951 4716 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
878535bd
PW
4717 (build-system haskell-build-system)
4718 (arguments `(#:haddock? #f))
4719 (inputs
4720 `(("ghc-hashable" ,ghc-hashable)))
4721 (home-page "https://hackage.haskell.org/package/nats")
4722 (synopsis "Natural numbers")
4723 (description "This library provides the natural numbers for Haskell.")
3ac73271 4724 (license license:bsd-3)))
878535bd 4725
bc8bda50
TS
4726(define-public ghc-nats-bootstrap
4727 (package
4728 (inherit ghc-nats)
4729 (name "ghc-nats-bootstrap")
4730 (inputs
4731 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
4732 (properties '((hidden? #t)))))
4733
03f6074b
PW
4734(define-public ghc-void
4735 (package
4736 (name "ghc-void")
e99625b5 4737 (version "0.7.2")
03f6074b
PW
4738 (source
4739 (origin
4740 (method url-fetch)
4741 (uri (string-append
612fddec 4742 "https://hackage.haskell.org/package/void/void-"
03f6074b
PW
4743 version
4744 ".tar.gz"))
4745 (sha256
4746 (base32
e99625b5 4747 "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk"))))
03f6074b 4748 (build-system haskell-build-system)
03f6074b 4749 (inputs
2d47cee2
RW
4750 `(("ghc-semigroups" ,ghc-semigroups)
4751 ("ghc-hashable" ,ghc-hashable)))
612fddec 4752 (home-page "https://github.com/ekmett/void")
03f6074b
PW
4753 (synopsis
4754 "Logically uninhabited data type")
4755 (description
4756 "A Haskell 98 logically uninhabited data type, used to indicate that a
4757given term should not exist.")
3ac73271 4758 (license license:bsd-3)))
03f6074b 4759
8e06e15b
TS
4760(define-public ghc-invariant
4761 (package
4762 (name "ghc-invariant")
4763 (version "0.5.1")
4764 (source
4765 (origin
4766 (method url-fetch)
4767 (uri (string-append
4768 "https://hackage.haskell.org/package/invariant/invariant-"
4769 version ".tar.gz"))
4770 (sha256
4771 (base32
4772 "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b"))))
4773 (build-system haskell-build-system)
4774 (inputs
4775 `(("ghc-bifunctors" ,ghc-bifunctors)
4776 ("ghc-comonad" ,ghc-comonad)
4777 ("ghc-contravariant" ,ghc-contravariant)
4778 ("ghc-profunctors" ,ghc-profunctors)
4779 ("ghc-semigroups" ,ghc-semigroups)
4780 ("ghc-statevar" ,ghc-statevar)
4781 ("ghc-stm" ,ghc-stm)
4782 ("ghc-tagged" ,ghc-tagged)
4783 ("ghc-th-abstraction" ,ghc-th-abstraction)
4784 ("ghc-transformers-compat" ,ghc-transformers-compat)
4785 ("ghc-unordered-containers" ,ghc-unordered-containers)))
4786 (native-inputs
4787 `(("ghc-hspec" ,ghc-hspec)
4788 ("ghc-quickcheck" ,ghc-quickcheck)
4789 ("hspec-discover" ,hspec-discover)))
4790 (home-page "https://github.com/nfrisby/invariant-functors")
4791 (synopsis "Haskell98 invariant functors")
4792 (description "Haskell98 invariant functors (also known as exponential
4793functors). For more information, see Edward Kmett's article
4794@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
4795 (license license:bsd-2)))
4796
5125f63f
PW
4797(define-public ghc-kan-extensions
4798 (package
4799 (name "ghc-kan-extensions")
8b1573b1 4800 (version "5.2")
5125f63f
PW
4801 (source
4802 (origin
4803 (method url-fetch)
4804 (uri (string-append
612fddec 4805 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5125f63f
PW
4806 version
4807 ".tar.gz"))
4808 (sha256
4809 (base32
8b1573b1 4810 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5125f63f 4811 (build-system haskell-build-system)
5125f63f 4812 (inputs
2d47cee2
RW
4813 `(("ghc-adjunctions" ,ghc-adjunctions)
4814 ("ghc-comonad" ,ghc-comonad)
5125f63f
PW
4815 ("ghc-contravariant" ,ghc-contravariant)
4816 ("ghc-distributive" ,ghc-distributive)
4817 ("ghc-free" ,ghc-free)
8b1573b1 4818 ("ghc-invariant" ,ghc-invariant)
5125f63f 4819 ("ghc-semigroupoids" ,ghc-semigroupoids)
8b1573b1
TS
4820 ("ghc-tagged" ,ghc-tagged)
4821 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 4822 (home-page "https://github.com/ekmett/kan-extensions/")
5125f63f
PW
4823 (synopsis "Kan extensions library")
4824 (description "This library provides Kan extensions, Kan lifts, various
4825forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
3ac73271 4826 (license license:bsd-3)))
5125f63f 4827
32ddba78
RW
4828(define-public ghc-call-stack
4829 (package
4830 (name "ghc-call-stack")
4831 (version "0.1.0")
4832 (source
4833 (origin
4834 (method url-fetch)
4835 (uri (string-append "https://hackage.haskell.org/package/"
4836 "call-stack/call-stack-"
4837 version ".tar.gz"))
4838 (sha256
4839 (base32
4840 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
4841 (build-system haskell-build-system)
4842 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
4843 (home-page "https://github.com/sol/call-stack#readme")
4844 (synopsis "Use GHC call-stacks in a backward compatible way")
4845 (description "This package provides a compatibility layer for using GHC
4846call stacks with different versions of the compiler.")
4847 (license license:expat)))
4848
e42e9024
RW
4849;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
4850;; because it depends on ghc-nanospec, which depends on ghc-hunit.
4851(define-public ghc-call-stack-boot
4852 (package
4853 (inherit ghc-call-stack)
4854 (arguments '(#:tests? #f))
4855 (inputs '())))
4856
f271524a
PW
4857(define-public ghc-statevar
4858 (package
4859 (name "ghc-statevar")
c9fa2a28 4860 (version "1.1.1.1")
f271524a
PW
4861 (source
4862 (origin
4863 (method url-fetch)
4864 (uri (string-append
612fddec 4865 "https://hackage.haskell.org/package/StateVar/StateVar-"
f271524a
PW
4866 version
4867 ".tar.gz"))
4868 (sha256
4869 (base32
c9fa2a28 4870 "08r2iw0gdmfs4f6wraaq19vfmkjdbics3dbhw39y7mdjd98kcr7b"))))
f271524a 4871 (build-system haskell-build-system)
2d47cee2 4872 (inputs
f271524a 4873 `(("ghc-stm" ,ghc-stm)))
612fddec 4874 (home-page "https://hackage.haskell.org/package/StateVar")
f271524a
PW
4875 (synopsis "State variables for Haskell")
4876 (description "This package provides state variables, which are references
4877in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
3ac73271 4878 (license license:bsd-3)))
f271524a 4879
e1a35c39
PW
4880(define-public ghc-lens
4881 (package
4882 (name "ghc-lens")
38646a62 4883 (version "4.15.4")
e1a35c39
PW
4884 (source
4885 (origin
4886 (method url-fetch)
38646a62
RW
4887 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
4888 version ".tar.gz"))
e1a35c39
PW
4889 (sha256
4890 (base32
38646a62 4891 "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl"))))
e1a35c39 4892 (build-system haskell-build-system)
2d47cee2 4893 (inputs
e1a35c39
PW
4894 `(("ghc-base-orphans" ,ghc-base-orphans)
4895 ("ghc-bifunctors" ,ghc-bifunctors)
38646a62 4896 ("ghc-doctest" ,ghc-doctest-0.13)
e1a35c39
PW
4897 ("ghc-distributive" ,ghc-distributive)
4898 ("ghc-exceptions" ,ghc-exceptions)
4899 ("ghc-free" ,ghc-free)
4900 ("ghc-kan-extensions" ,ghc-kan-extensions)
4901 ("ghc-parallel" ,ghc-parallel)
4902 ("ghc-reflection" ,ghc-reflection)
4903 ("ghc-semigroupoids" ,ghc-semigroupoids)
2d47cee2 4904 ("ghc-vector" ,ghc-vector)
38646a62 4905 ("ghc-call-stack" ,ghc-call-stack)
2d47cee2 4906 ("ghc-comonad" ,ghc-comonad)
e1a35c39
PW
4907 ("ghc-contravariant" ,ghc-contravariant)
4908 ("ghc-hashable" ,ghc-hashable)
e1a35c39
PW
4909 ("ghc-profunctors" ,ghc-profunctors)
4910 ("ghc-semigroups" ,ghc-semigroups)
4911 ("ghc-tagged" ,ghc-tagged)
4912 ("ghc-text" ,ghc-text)
4913 ("ghc-transformers-compat" ,ghc-transformers-compat)
4914 ("ghc-unordered-containers" ,ghc-unordered-containers)
4915 ("ghc-void" ,ghc-void)
4916 ("ghc-generic-deriving" ,ghc-generic-deriving)
4917 ("ghc-nats" ,ghc-nats)
4918 ("ghc-simple-reflect" ,ghc-simple-reflect)
4919 ("hlint" ,hlint)))
38646a62
RW
4920 (native-inputs
4921 `(("cabal-doctest" ,cabal-doctest)
4922 ("ghc-hunit" ,ghc-hunit)
4923 ("ghc-test-framework" ,ghc-test-framework)
4924 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4925 ("ghc-test-framework-th" ,ghc-test-framework-th)
4926 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4927 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4928 (home-page "https://github.com/ekmett/lens/")
e1a35c39
PW
4929 (synopsis "Lenses, Folds and Traversals")
4930 (description "This library provides @code{Control.Lens}. The combinators
4931in @code{Control.Lens} provide a highly generic toolbox for composing families
4932of getters, folds, isomorphisms, traversals, setters and lenses and their
4933indexed variants.")
3ac73271 4934 (license license:bsd-3)))
e1a35c39 4935
d7e67cf1
PW
4936(define-public ghc-cheapskate
4937 (package
4938 (name "ghc-cheapskate")
e1358124 4939 (version "0.1.1")
d7e67cf1
PW
4940 (source
4941 (origin
4942 (method url-fetch)
4943 (uri (string-append
612fddec 4944 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
d7e67cf1
PW
4945 version
4946 ".tar.gz"))
4947 (sha256
4948 (base32
e1358124 4949 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
d7e67cf1 4950 (build-system haskell-build-system)
d7e67cf1 4951 (inputs
f54f0475 4952 `(("ghc-text" ,ghc-text)
751de3d6 4953 ("ghc-blaze-html" ,ghc-blaze-html)
e1358124 4954 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
2d47cee2 4955 ("ghc-data-default" ,ghc-data-default)
d7e67cf1 4956 ("ghc-syb" ,ghc-syb)
e1358124 4957 ("ghc-uniplate" ,ghc-uniplate)))
612fddec 4958 (home-page "https://github.com/jgm/cheapskate")
d7e67cf1
PW
4959 (synopsis "Experimental markdown processor")
4960 (description "Cheapskate is an experimental Markdown processor in pure
4961Haskell. It aims to process Markdown efficiently and in the most forgiving
4962possible way. It is designed to deal with any input, including garbage, with
4d9cdf3c
TGR
4963linear performance. Output is sanitized by default for protection against
4964cross-site scripting (@dfn{XSS}) attacks.")
3ac73271 4965 (license license:bsd-3)))
d7e67cf1 4966
4f997551
PW
4967(define-public ghc-bifunctors
4968 (package
4969 (name "ghc-bifunctors")
8574e6c7 4970 (version "5.5.3")
4f997551
PW
4971 (source
4972 (origin
4973 (method url-fetch)
4974 (uri (string-append
612fddec 4975 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4f997551
PW
4976 version
4977 ".tar.gz"))
4978 (sha256
4979 (base32
8574e6c7 4980 "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l"))))
4f997551
PW
4981 (build-system haskell-build-system)
4982 (inputs
7044882c
RW
4983 `(("ghc-base-orphans" ,ghc-base-orphans)
4984 ("ghc-comonad" ,ghc-comonad)
4985 ("ghc-th-abstraction" ,ghc-th-abstraction)
4986 ("ghc-transformers-compat" ,ghc-transformers-compat)
4987 ("ghc-tagged" ,ghc-tagged)
4f997551 4988 ("ghc-semigroups" ,ghc-semigroups)))
7044882c
RW
4989 (native-inputs
4990 `(("ghc-hspec" ,ghc-hspec)
4991 ("hspec-discover" ,hspec-discover)
4992 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4993 (home-page "https://github.com/ekmett/bifunctors/")
4f997551
PW
4994 (synopsis "Bifunctors for Haskell")
4995 (description "This package provides bifunctors for Haskell.")
3ac73271 4996 (license license:bsd-3)))
4f997551 4997
aee98223
PW
4998(define-public ghc-semigroupoids
4999 (package
5000 (name "ghc-semigroupoids")
07f38c6a 5001 (version "5.2.2")
aee98223
PW
5002 (source
5003 (origin
5004 (method url-fetch)
5005 (uri (string-append
612fddec 5006 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
aee98223
PW
5007 version
5008 ".tar.gz"))
5009 (sha256
5010 (base32
07f38c6a 5011 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
aee98223 5012 (build-system haskell-build-system)
07f38c6a
TS
5013 (arguments
5014 `(#:cabal-revision
5015 ("4" "0pqfrxzypjq6z8lgdkzq4vhcyqkpk5326hny0r6snpc3gm78r4ij")))
2d47cee2 5016 (inputs
aee98223
PW
5017 `(("ghc-base-orphans" ,ghc-base-orphans)
5018 ("ghc-transformers-compat" ,ghc-transformers-compat)
5019 ("ghc-bifunctors" ,ghc-bifunctors)
5020 ("ghc-comonad" ,ghc-comonad)
5021 ("ghc-contravariant" ,ghc-contravariant)
2d47cee2 5022 ("ghc-distributive" ,ghc-distributive)
07f38c6a 5023 ("ghc-hashable" ,ghc-hashable)
2d47cee2 5024 ("ghc-semigroups" ,ghc-semigroups)
07f38c6a
TS
5025 ("ghc-tagged" ,ghc-tagged)
5026 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5027 (native-inputs
5028 `(("cabal-doctest" ,cabal-doctest)
5029 ("ghc-doctest" ,ghc-doctest)))
612fddec 5030 (home-page "https://github.com/ekmett/semigroupoids")
aee98223
PW
5031 (synopsis "Semigroupoids operations for Haskell")
5032 (description "This library provides a wide array of (semi)groupoids and
5033operations for working with them. A @code{Semigroupoid} is a @code{Category}
5034without the requirement of identity arrows for every object in the category.
5035A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
5036Finally, to work with these weaker structures it is beneficial to have
5037containers that can provide stronger guarantees about their contents, so
5038versions of @code{Traversable} and @code{Foldable} that can be folded with
5039just a @code{Semigroup} are added.")
3ac73271 5040 (license license:bsd-3)))
aee98223 5041
624efe73
PW
5042(define-public ghc-contravariant
5043 (package
5044 (name "ghc-contravariant")
0b0e45d8 5045 (version "1.4.1")
624efe73
PW
5046 (source
5047 (origin
5048 (method url-fetch)
5049 (uri (string-append
612fddec 5050 "https://hackage.haskell.org/package/contravariant/contravariant-"
624efe73
PW
5051 version
5052 ".tar.gz"))
5053 (sha256
5054 (base32
0b0e45d8 5055 "1vfhk8c5cxmmakx7rflap1ipkx5q0j5vnlrcz7yz6y53kxhksgf9"))))
624efe73 5056 (build-system haskell-build-system)
2d47cee2 5057 (inputs
624efe73
PW
5058 `(("ghc-void" ,ghc-void)
5059 ("ghc-transformers-compat" ,ghc-transformers-compat)
2d47cee2
RW
5060 ("ghc-statevar" ,ghc-statevar)
5061 ("ghc-semigroups" ,ghc-semigroups)))
624efe73 5062 (home-page
612fddec 5063 "https://github.com/ekmett/contravariant/")
624efe73
PW
5064 (synopsis "Contravariant functors")
5065 (description "Contravariant functors for Haskell.")
3ac73271 5066 (license license:bsd-3)))
624efe73 5067
946fa8c9
PW
5068(define-public ghc-semigroups
5069 (package
5070 (name "ghc-semigroups")
42c000dc 5071 (version "0.18.5")
946fa8c9
PW
5072 (source
5073 (origin
5074 (method url-fetch)
5075 (uri (string-append
612fddec 5076 "https://hackage.haskell.org/package/semigroups/semigroups-"
946fa8c9
PW
5077 version
5078 ".tar.gz"))
5079 (sha256
5080 (base32
42c000dc 5081 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
946fa8c9 5082 (build-system haskell-build-system)
2d47cee2 5083 (inputs
946fa8c9
PW
5084 `(("ghc-nats" ,ghc-nats)
5085 ("ghc-tagged" ,ghc-tagged)
2d47cee2
RW
5086 ("ghc-unordered-containers" ,ghc-unordered-containers)
5087 ("ghc-text" ,ghc-text)
946fa8c9 5088 ("ghc-hashable" ,ghc-hashable)))
612fddec 5089 (home-page "https://github.com/ekmett/semigroups/")
946fa8c9
PW
5090 (synopsis "Semigroup operations for Haskell")
5091 (description "This package provides semigroups for Haskell. In
5092mathematics, a semigroup is an algebraic structure consisting of a set
5093together with an associative binary operation. A semigroup generalizes a
5094monoid in that there might not exist an identity element. It
5095also (originally) generalized a group (a monoid with all inverses) to a type
5096where every element did not have to have an inverse, thus the name
5097semigroup.")
3ac73271 5098 (license license:bsd-3)))
946fa8c9 5099
bc8bda50
TS
5100(define-public ghc-semigroups-bootstrap
5101 (package
5102 (inherit ghc-semigroups)
5103 (name "ghc-semigroups-bootstrap")
5104 (inputs
5105 `(("ghc-nats" ,ghc-nats-bootstrap)
5106 ("ghc-tagged" ,ghc-tagged)
5107 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
5108 ("ghc-text" ,ghc-text)
5109 ("ghc-hashable" ,ghc-hashable-bootstrap)))
5110 (properties '(hidden? #t))))
5111
dc2e8ab7
PW
5112(define-public ghc-free
5113 (package
5114 (name "ghc-free")
95573872 5115 (version "5.0.2")
dc2e8ab7
PW
5116 (source
5117 (origin
5118 (method url-fetch)
5119 (uri (string-append
612fddec 5120 "https://hackage.haskell.org/package/free/free-"
dc2e8ab7
PW
5121 version
5122 ".tar.gz"))
5123 (sha256
5124 (base32
95573872 5125 "15m3n9vhz7z3kzv1w3wlfa3x8jp4cbrkwmrcjr7jlx39iqffn1gg"))))
dc2e8ab7 5126 (build-system haskell-build-system)
2d47cee2 5127 (inputs
dc2e8ab7
PW
5128 `(("ghc-prelude-extras" ,ghc-prelude-extras)
5129 ("ghc-profunctors" ,ghc-profunctors)
2d47cee2
RW
5130 ("ghc-exceptions" ,ghc-exceptions)
5131 ("ghc-bifunctors" ,ghc-bifunctors)
dc2e8ab7
PW
5132 ("ghc-comonad" ,ghc-comonad)
5133 ("ghc-distributive" ,ghc-distributive)
dc2e8ab7 5134 ("ghc-semigroupoids" ,ghc-semigroupoids)
95573872
TS
5135 ("ghc-semigroups" ,ghc-semigroups)
5136 ("ghc-transformers-base" ,ghc-transformers-base)
5137 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 5138 (home-page "https://github.com/ekmett/free/")
dc2e8ab7
PW
5139 (synopsis "Unrestricted monads for Haskell")
5140 (description "This library provides free monads, which are useful for many
5141tree-like structures and domain specific languages. If @code{f} is a
5142@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
5143whose nodes are labeled with the constructors of @code{f}. The word \"free\"
5144is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
5145f} makes no constraining assumptions beyond those given by @code{f} and the
5146definition of @code{Monad}.")
3ac73271 5147 (license license:bsd-3)))
dc2e8ab7 5148
52db0e13
PW
5149(define-public ghc-adjunctions
5150 (package
5151 (name "ghc-adjunctions")
38563d91 5152 (version "4.4")
52db0e13
PW
5153 (source
5154 (origin
5155 (method url-fetch)
5156 (uri (string-append
612fddec 5157 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
52db0e13
PW
5158 version
5159 ".tar.gz"))
5160 (sha256
5161 (base32
38563d91 5162 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
52db0e13 5163 (build-system haskell-build-system)
52db0e13 5164 (inputs
2d47cee2
RW
5165 `(("ghc-profunctors" ,ghc-profunctors)
5166 ("ghc-comonad" ,ghc-comonad)
52db0e13
PW
5167 ("ghc-contravariant" ,ghc-contravariant)
5168 ("ghc-distributive" ,ghc-distributive)
5169 ("ghc-free" ,ghc-free)
52db0e13
PW
5170 ("ghc-tagged" ,ghc-tagged)
5171 ("ghc-semigroupoids" ,ghc-semigroupoids)
5172 ("ghc-semigroups" ,ghc-semigroups)
38563d91 5173 ("ghc-transformers-compat" ,ghc-transformers-compat)
52db0e13 5174 ("ghc-void" ,ghc-void)))
38563d91
TS
5175 (native-inputs
5176 `(("ghc-generic-deriving" ,ghc-generic-deriving)
5177 ("ghc-hspec" ,ghc-hspec)
5178 ("hspec-discover" ,hspec-discover)))
612fddec 5179 (home-page "https://github.com/ekmett/adjunctions/")
52db0e13
PW
5180 (synopsis "Adjunctions and representable functors")
5181 (description "This library provides adjunctions and representable functors
5182for Haskell.")
3ac73271 5183 (license license:bsd-3)))
52db0e13 5184
96f23b62
AV
5185(define-public ghc-equivalence
5186 (package
5187 (name "ghc-equivalence")
5188 (version "0.3.2")
5189 (source
5190 (origin
5191 (method url-fetch)
5192 (uri (string-append "https://hackage.haskell.org/package/equivalence"
5193 "/equivalence-" version ".tar.gz"))
5194 (sha256
5195 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
5196 (build-system haskell-build-system)
5197 (inputs
f54f0475 5198 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
96f23b62
AV
5199 ("ghc-transformers-compat" ,ghc-transformers-compat)
5200 ("ghc-quickcheck" ,ghc-quickcheck)
5201 ("ghc-test-framework" ,ghc-test-framework)
5202 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5203 (home-page "https://github.com/pa-ba/equivalence")
5204 (synopsis "Maintaining an equivalence relation implemented as union-find")
5205 (description
5206 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
5207Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
520822(2), 1975) in order to maintain an equivalence relation. This
5209implementation is a port of the @code{union-find} package using the @code{ST}
5210monad transformer (instead of the IO monad).")
5211 (license license:bsd-3)))
5212
cc553d02
PW
5213(define-public ghc-fast-logger
5214 (package
5215 (name "ghc-fast-logger")
05c08ec9 5216 (version "2.4.11")
cc553d02
PW
5217 (source
5218 (origin
5219 (method url-fetch)
5220 (uri (string-append
612fddec 5221 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
cc553d02
PW
5222 version
5223 ".tar.gz"))
5224 (sha256
5225 (base32
05c08ec9 5226 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
cc553d02 5227 (build-system haskell-build-system)
cc553d02 5228 (inputs
05c08ec9
RW
5229 `(("ghc-auto-update" ,ghc-auto-update)
5230 ("ghc-easy-file" ,ghc-easy-file)
5231 ("ghc-text" ,ghc-text)
5232 ("ghc-unix-time" ,ghc-unix-time)))
2d47cee2
RW
5233 (native-inputs
5234 `(("hspec-discover" ,hspec-discover)
5235 ("ghc-hspec" ,ghc-hspec)))
cc553d02
PW
5236 (home-page "https://hackage.haskell.org/package/fast-logger")
5237 (synopsis "Fast logging system")
5238 (description "This library provides a fast logging system for Haskell.")
3ac73271 5239 (license license:bsd-3)))
cc553d02 5240
cb2119e4
PW
5241(define-public ghc-doctest
5242 (package
5243 (name "ghc-doctest")
f9a97fb5 5244 (version "0.16.0")
cb2119e4
PW
5245 (source
5246 (origin
5247 (method url-fetch)
5248 (uri (string-append
612fddec 5249 "https://hackage.haskell.org/package/doctest/doctest-"
cb2119e4
PW
5250 version
5251 ".tar.gz"))
5252 (sha256
5253 (base32
f9a97fb5 5254 "0hkccch65s3kp0b36h7bqhilnpi4bx8kngncm7ma9vbd3dwacjdv"))))
cb2119e4
PW
5255 (build-system haskell-build-system)
5256 (arguments `(#:tests? #f)) ; FIXME: missing test framework
cb2119e4 5257 (inputs
2d47cee2
RW
5258 `(("ghc-syb" ,ghc-syb)
5259 ("ghc-paths" ,ghc-paths)
5260 ("ghc-base-compat" ,ghc-base-compat)
f9a97fb5 5261 ("ghc-code-page" ,ghc-code-page)
cb2119e4
PW
5262 ("ghc-hunit" ,ghc-hunit)
5263 ("ghc-hspec" ,ghc-hspec)
5264 ("ghc-quickcheck" ,ghc-quickcheck)
5265 ("ghc-stringbuilder" ,ghc-stringbuilder)
5266 ("ghc-silently" ,ghc-silently)
5267 ("ghc-setenv" ,ghc-setenv)))
5268 (home-page
5269 "https://github.com/sol/doctest#readme")
5270 (synopsis "Test interactive Haskell examples")
5271 (description "The doctest program checks examples in source code comments.
5272It is modeled after doctest for Python, see
98b90194 5273@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3ac73271 5274 (license license:expat)))
cb2119e4 5275
41faaff1
RW
5276(define-public ghc-doctest-0.12
5277 (package (inherit ghc-doctest)
5278 (name "ghc-doctest")
5279 (version "0.12.0")
5280 (source
5281 (origin
5282 (method url-fetch)
5283 (uri (string-append
5284 "https://hackage.haskell.org/package/doctest/doctest-"
5285 version
5286 ".tar.gz"))
5287 (sha256
5288 (base32
5289 "13h549cpgcvb7c54c7wif28g5wak84dxc3ais0hlqhzk1q6la91a"))))
5290 (inputs
5291 `(("ghc-code-page" ,ghc-code-page)
5292 ,@(package-inputs ghc-doctest)))))
5293
83d43619
RW
5294(define-public ghc-doctest-0.13
5295 (package (inherit ghc-doctest-0.12)
5296 (name "ghc-doctest")
5297 (version "0.13.0")
5298 (source
5299 (origin
5300 (method url-fetch)
5301 (uri (string-append "https://hackage.haskell.org/package/"
5302 "doctest/doctest-" version ".tar.gz"))
5303 (sha256
5304 (base32
5305 "08g3nmpqbnbkxc95d65hkhfabwax10qrq51vlynr342npn40mn2b"))))))
5306
6f5e312e
PW
5307(define-public ghc-lifted-base
5308 (package
5309 (name "ghc-lifted-base")
4a2100b8 5310 (version "0.2.3.12")
6f5e312e
PW
5311 (source
5312 (origin
5313 (method url-fetch)
5314 (uri (string-append
612fddec 5315 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6f5e312e
PW
5316 version
5317 ".tar.gz"))
5318 (sha256
5319 (base32
4a2100b8 5320 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6f5e312e
PW
5321 (build-system haskell-build-system)
5322 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6f5e312e 5323 (inputs
2d47cee2
RW
5324 `(("ghc-transformers-base" ,ghc-transformers-base)
5325 ("ghc-monad-control" ,ghc-monad-control)
5326 ("ghc-transformers-compat" ,ghc-transformers-compat)
6f5e312e
PW
5327 ("ghc-hunit" ,ghc-hunit)))
5328 (home-page "https://github.com/basvandijk/lifted-base")
5329 (synopsis "Lifted IO operations from the base library")
5330 (description "Lifted-base exports IO operations from the @code{base}
5331library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5332Note that not all modules from @code{base} are converted yet. The package
5333includes a copy of the @code{monad-peel} test suite written by Anders
5334Kaseorg.")
3ac73271 5335 (license license:bsd-3)))
6f5e312e 5336
281bc4fd
PW
5337(define-public ghc-word8
5338 (package
5339 (name "ghc-word8")
bc819cdf 5340 (version "0.1.3")
281bc4fd
PW
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
612fddec 5345 "https://hackage.haskell.org/package/word8/word8-"
281bc4fd
PW
5346 version
5347 ".tar.gz"))
5348 (sha256
5349 (base32
bc819cdf 5350 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
281bc4fd 5351 (build-system haskell-build-system)
2d47cee2
RW
5352 (native-inputs
5353 `(("ghc-hspec" ,ghc-hspec)
5354 ("hspec-discover" ,hspec-discover)))
612fddec 5355 (home-page "https://hackage.haskell.org/package/word8")
281bc4fd
PW
5356 (synopsis "Word8 library for Haskell")
5357 (description "Word8 library to be used with @code{Data.ByteString}.")
3ac73271 5358 (license license:bsd-3)))
281bc4fd 5359
fa709a2f
PW
5360(define-public ghc-stringsearch
5361 (package
5362 (name "ghc-stringsearch")
5363 (version "0.3.6.6")
5364 (source
5365 (origin
5366 (method url-fetch)
5367 (uri (string-append
612fddec 5368 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
fa709a2f
PW
5369 version
5370 ".tar.gz"))
5371 (sha256
5372 (base32
5373 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
5374 (build-system haskell-build-system)
5375 (home-page "https://bitbucket.org/dafis/stringsearch")
5376 (synopsis "Fast searching, splitting and replacing of ByteStrings")
5377 (description "This package provides several functions to quickly search
5378for substrings in strict or lazy @code{ByteStrings}. It also provides
5379functions for breaking or splitting on substrings and replacing all
5380occurrences of a substring (the first in case of overlaps) with another.")
3ac73271 5381 (license license:bsd-3)))
fa709a2f 5382
d0f4853a
RW
5383(define-public ghc-integer-logarithms
5384 (package
5385 (name "ghc-integer-logarithms")
7550f4b0 5386 (version "1.0.2.1")
d0f4853a
RW
5387 (source
5388 (origin
5389 (method url-fetch)
5390 (uri (string-append "https://hackage.haskell.org/package/"
5391 "integer-logarithms/integer-logarithms-"
5392 version ".tar.gz"))
5393 (sha256
5394 (base32
7550f4b0 5395 "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
d0f4853a 5396 (build-system haskell-build-system)
6300ba5b 5397 (arguments
6b05cfb4
TS
5398 `(#:phases
5399 (modify-phases %standard-phases
5400 (add-before 'configure 'update-constraints
5401 (lambda _
5402 (substitute* "integer-logarithms.cabal"
5403 (("tasty >= 0\\.10 && < 1\\.1")
5404 "tasty >= 0.10 && < 1.2")))))))
7550f4b0
AI
5405 (native-inputs
5406 `(("ghc-quickcheck" ,ghc-quickcheck)
5407 ("ghc-smallcheck" ,ghc-smallcheck)
5408 ("ghc-tasty" ,ghc-tasty)
d0f4853a 5409 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7550f4b0
AI
5410 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5411 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5412 (home-page "https://github.com/Bodigrim/integer-logarithms")
d0f4853a
RW
5413 (synopsis "Integer logarithms")
5414 (description
5415 "This package provides the following modules:
5416@code{Math.NumberTheory.Logarithms} and
5417@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5418@code{GHC.Integer.Logarithms.Compat} and
5419@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5420in migrated modules.")
5421 (license license:expat)))
5422
9d1944a4
TS
5423(define-public ghc-integer-logarithms-bootstrap
5424 (package
5425 (inherit ghc-integer-logarithms)
5426 (name "ghc-integer-logarithms-bootstrap")
5427 (arguments `(#:tests? #f))
5428 (native-inputs '())
5429 (properties '(hidden? #t))))
5430
a43a38a1
PW
5431(define-public ghc-scientific
5432 (package
5433 (name "ghc-scientific")
2cad58ca 5434 (version "0.3.6.2")
a43a38a1
PW
5435 (source
5436 (origin
5437 (method url-fetch)
5438 (uri (string-append
612fddec 5439 "https://hackage.haskell.org/package/scientific/scientific-"
a43a38a1
PW
5440 version
5441 ".tar.gz"))
5442 (sha256
5443 (base32
2cad58ca 5444 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
a43a38a1 5445 (build-system haskell-build-system)
a43a38a1 5446 (inputs
f9f4578b 5447 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
2d47cee2 5448 ("ghc-text" ,ghc-text)
a5044b6a 5449 ("ghc-hashable" ,ghc-hashable)
2cad58ca
AI
5450 ("ghc-primitive" ,ghc-primitive)))
5451 (native-inputs
5452 `(("ghc-tasty" ,ghc-tasty)
a43a38a1
PW
5453 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
5454 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5455 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5456 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5457 ("ghc-smallcheck" ,ghc-smallcheck)
5458 ("ghc-quickcheck" ,ghc-quickcheck)))
5459 (home-page "https://github.com/basvandijk/scientific")
5460 (synopsis "Numbers represented using scientific notation")
5461 (description "This package provides @code{Data.Scientific}, which provides
5462the number type @code{Scientific}. Scientific numbers are arbitrary precision
5463and space efficient. They are represented using
98b90194 5464@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
a43a38a1 5465notation}.")
3ac73271 5466 (license license:bsd-3)))
a43a38a1 5467
9d1944a4
TS
5468(define-public ghc-scientific-bootstrap
5469 (package
5470 (inherit ghc-scientific)
5471 (name "ghc-scientific-bootstrap")
5472 (arguments `(#:tests? #f))
5473 (inputs
5474 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
5475 ("ghc-text" ,ghc-text)
5476 ("ghc-hashable" ,ghc-hashable)
5477 ("ghc-primitive" ,ghc-primitive)))
5478 (native-inputs '())
5479 (properties '(hidden? #t))))
5480
3f8b8e73
AV
5481(define-public ghc-boxes
5482 (package
5483 (name "ghc-boxes")
50eff0d5 5484 (version "0.1.5")
3f8b8e73
AV
5485 (source
5486 (origin
5487 (method url-fetch)
5488 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
5489 version ".tar.gz"))
5490 (sha256
50eff0d5 5491 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
3f8b8e73
AV
5492 (build-system haskell-build-system)
5493 (inputs
5494 `(("ghc-split" ,ghc-split)
5495 ("ghc-quickcheck" ,ghc-quickcheck)))
5496 (home-page "https://hackage.haskell.org/package/boxes")
5497 (synopsis "2D text pretty-printing library")
5498 (description
5499 "Boxes is a pretty-printing library for laying out text in two dimensions,
5500using a simple box model.")
5501 (license license:bsd-3)))
2aa0bada 5502
4cbd9f59
RW
5503(define-public ghc-deepseq-generics
5504 (package
5505 (name "ghc-deepseq-generics")
59e08129 5506 (version "0.2.0.0")
4cbd9f59
RW
5507 (source (origin
5508 (method url-fetch)
612fddec 5509 (uri (string-append "https://hackage.haskell.org/package/"
4cbd9f59
RW
5510 "deepseq-generics/deepseq-generics-"
5511 version ".tar.gz"))
5512 (sha256
5513 (base32
59e08129 5514 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
4cbd9f59 5515 (build-system haskell-build-system)
5f4327df
TS
5516 (arguments
5517 `(#:cabal-revision
5518 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
4cbd9f59
RW
5519 (native-inputs
5520 `(("ghc-hunit" ,ghc-hunit)
5521 ("ghc-test-framework" ,ghc-test-framework)
5522 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5523 (home-page "https://github.com/hvr/deepseq-generics")
5524 (synopsis "Generic RNF implementation")
5525 (description
5526 "This package provides a @code{GHC.Generics}-based
5527@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5528providing an 'rnf' implementation.")
3ac73271 5529 (license license:bsd-3)))
4cbd9f59 5530
e0894701
RW
5531(define-public ghc-string-qq
5532 (package
5533 (name "ghc-string-qq")
5534 (version "0.0.2")
5535 (source
5536 (origin
5537 (method url-fetch)
5538 (uri (string-append
5539 "https://hackage.haskell.org/package/string-qq/string-qq-"
5540 version
5541 ".tar.gz"))
5542 (sha256
5543 (base32
5544 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
5545 (build-system haskell-build-system)
5546 (home-page "http://hackage.haskell.org/package/string-qq")
5547 (synopsis
5548 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
5549 (description
5550 "This package provides a quasiquoter for non-interpolated strings, texts
5551and bytestrings.")
5552 (license license:public-domain)))
5553
8164d58e
RW
5554(define-public ghc-pandoc-types
5555 (package
5556 (name "ghc-pandoc-types")
cdad36c3 5557 (version "1.17.5.1")
8164d58e
RW
5558 (source (origin
5559 (method url-fetch)
612fddec 5560 (uri (string-append "https://hackage.haskell.org/package/"
8164d58e
RW
5561 "pandoc-types/pandoc-types-"
5562 version ".tar.gz"))
5563 (sha256
5564 (base32
cdad36c3 5565 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
8164d58e 5566 (build-system haskell-build-system)
2d47cee2 5567 (inputs
8164d58e
RW
5568 `(("ghc-syb" ,ghc-syb)
5569 ("ghc-aeson" ,ghc-aeson)
9d087076
RW
5570 ("ghc-string-qq" ,ghc-string-qq)))
5571 (native-inputs
5572 `(("ghc-quickcheck" ,ghc-quickcheck)
5573 ("ghc-test-framework" ,ghc-test-framework)
5574 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5575 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5576 ("ghc-hunit" ,ghc-hunit)))
8164d58e
RW
5577 (home-page "http://johnmacfarlane.net/pandoc")
5578 (synopsis "Types for representing a structured document")
5579 (description
5580 "This module defines the @code{Pandoc} data structure, which is used by
5581pandoc to represent structured documents. It also provides functions for
5582building up, manipulating and serialising @code{Pandoc} structures.")
3ac73271 5583 (license license:bsd-3)))
8164d58e 5584
0f1fef71
RW
5585(define-public ghc-pandoc-types-for-pandoc-1
5586 (package (inherit ghc-pandoc-types)
5587 (version "1.17.0.5")
5588 (source (origin
5589 (method url-fetch)
5590 (uri (string-append "https://hackage.haskell.org/package/"
5591 "pandoc-types/pandoc-types-"
5592 version ".tar.gz"))
5593 (sha256
5594 (base32
5595 "1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8"))))
7ad3d4fd
RW
5596 (arguments
5597 `(#:configure-flags (list "--allow-newer=QuickCheck"
5598 "--allow-newer=HUnit")))
0f1fef71
RW
5599 (inputs
5600 `(("ghc-syb" ,ghc-syb)
5601 ("ghc-aeson" ,ghc-aeson-for-pandoc-1)
5602 ("ghc-string-qq" ,ghc-string-qq)))))
5603
ef2861b1
RW
5604(define-public ghc-texmath
5605 (package
5606 (name "ghc-texmath")
cfac79ba 5607 (version "0.11.0.1")
ef2861b1
RW
5608 (source (origin
5609 (method url-fetch)
612fddec 5610 (uri (string-append "https://hackage.haskell.org/package/"
ef2861b1
RW
5611 "texmath/texmath-" version ".tar.gz"))
5612 (sha256
5613 (base32
cfac79ba 5614 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
ef2861b1 5615 (build-system haskell-build-system)
2d47cee2 5616 (inputs
ef2861b1
RW
5617 `(("ghc-syb" ,ghc-syb)
5618 ("ghc-network-uri" ,ghc-network-uri)
5619 ("ghc-split" ,ghc-split)
5620 ("ghc-temporary" ,ghc-temporary)
5621 ("ghc-utf8-string" ,ghc-utf8-string)
5622 ("ghc-xml" ,ghc-xml)
5623 ("ghc-parsec" ,ghc-parsec)
ef2861b1 5624 ("ghc-pandoc-types" ,ghc-pandoc-types)))
612fddec 5625 (home-page "https://github.com/jgm/texmath")
ef2861b1
RW
5626 (synopsis "Conversion between formats used to represent mathematics")
5627 (description
5628 "The texmath library provides functions to read and write TeX math,
5629presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5630Office). Support is also included for converting math formats to pandoc's
5631native format (allowing conversion, via pandoc, to a variety of different
5632markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5633it can parse and apply LaTeX macros.")
3ac73271 5634 (license license:gpl2+)))
ef2861b1 5635
dcf8e2ab
RW
5636(define-public ghc-texmath-for-pandoc-1
5637 (package (inherit ghc-texmath)
5638 (version "0.9.4.4")
5639 (source (origin
5640 (method url-fetch)
5641 (uri (string-append "https://hackage.haskell.org/package/"
5642 "texmath/texmath-" version ".tar.gz"))
5643 (sha256
5644 (base32
5645 "129q33m56diiv35kdwfb07838wrg0mm88kxdqxfyl1zvf9nzkqkd"))))
5646 (inputs
f54f0475 5647 `(("ghc-network-uri" ,ghc-network-uri)
dcf8e2ab
RW
5648 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
5649 ("ghc-parsec" ,ghc-parsec)
5650 ("ghc-split" ,ghc-split)
5651 ("ghc-syb" ,ghc-syb)
5652 ("ghc-temporary" ,ghc-temporary)
5653 ("ghc-utf8-string" ,ghc-utf8-string)
5654 ("ghc-xml" ,ghc-xml)))))
5655
a54d11b5
RW
5656(define-public ghc-regex-pcre-builtin
5657 (package
5658 (name "ghc-regex-pcre-builtin")
5659 (version "0.94.4.8.8.35")
5660 (source (origin
5661 (method url-fetch)
612fddec 5662 (uri (string-append "https://hackage.haskell.org/package/"
a54d11b5
RW
5663 "regex-pcre-builtin/regex-pcre-builtin-"
5664 version ".tar.gz"))
5665 (sha256
5666 (base32
5667 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5668 (build-system haskell-build-system)
2d47cee2 5669 (inputs
a54d11b5 5670 `(("ghc-regex-base" ,ghc-regex-base)))
612fddec 5671 (home-page "https://hackage.haskell.org/package/regex-pcre")
a54d11b5
RW
5672 (synopsis "Enhancement of the builtin Text.Regex library")
5673 (description
5674 "This package is an enhancement of the @code{Text.Regex} library,
5675providing the PCRE backend to accompany regex-base, with bundled code from
98b90194 5676@url{https://www.pcre.org}.")
3ac73271 5677 (license license:bsd-3)))
a54d11b5 5678
05245dc9
RW
5679(define-public ghc-diff
5680 (package
5681 (name "ghc-diff")
307a0dce 5682 (version "0.3.4")
05245dc9
RW
5683 (source (origin
5684 (method url-fetch)
612fddec 5685 (uri (string-append "https://hackage.haskell.org/package/"
05245dc9
RW
5686 "Diff/Diff-" version ".tar.gz"))
5687 (sha256
5688 (base32
307a0dce 5689 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
05245dc9 5690 (build-system haskell-build-system)
307a0dce
RW
5691 (native-inputs
5692 `(("ghc-quickcheck" ,ghc-quickcheck)
5693 ("ghc-test-framework" ,ghc-test-framework)
5694 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 5695 (home-page "https://hub.darcs.net/sterlingclover/Diff")
05245dc9
RW
5696 (synopsis "O(ND) diff algorithm in Haskell")
5697 (description
5698 "This package provides an implementation of the standard diff algorithm,
5699and utilities for pretty printing.")
3ac73271 5700 (license license:bsd-3)))
05245dc9 5701
66c480b6
RW
5702(define-public ghc-highlighting-kate
5703 (package
5704 (name "ghc-highlighting-kate")
a9897365 5705 (version "0.6.4")
66c480b6
RW
5706 (source (origin
5707 (method url-fetch)
612fddec 5708 (uri (string-append "https://hackage.haskell.org/package/"
66c480b6
RW
5709 "highlighting-kate/highlighting-kate-"
5710 version ".tar.gz"))
5711 (sha256
5712 (base32
a9897365 5713 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
66c480b6 5714 (build-system haskell-build-system)
2d47cee2 5715 (inputs
66c480b6
RW
5716 `(("ghc-diff" ,ghc-diff)
5717 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5718 (native-inputs
5719 `(("ghc-parsec" ,ghc-parsec)
5720 ("ghc-blaze-html" ,ghc-blaze-html)
f54f0475 5721 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 5722 (home-page "https://github.com/jgm/highlighting-kate")
66c480b6
RW
5723 (synopsis "Syntax highlighting library")
5724 (description
5725 "Highlighting-kate is a syntax highlighting library with support for
5726nearly one hundred languages. The syntax parsers are automatically generated
98b90194 5727from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
66c480b6
RW
5728supported by Kate can be added. An (optional) command-line program is
5729provided, along with a utility for generating new parsers from Kate XML syntax
5730descriptions.")
3ac73271 5731 (license license:gpl2+)))
66c480b6 5732
31be270b
RW
5733(define-public ghc-cmark
5734 (package
5735 (name "ghc-cmark")
b8490856 5736 (version "0.5.6")
31be270b
RW
5737 (source (origin
5738 (method url-fetch)
b8490856
TGR
5739 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5740 ;; See cbits/cmark_version.h.
612fddec 5741 (uri (string-append "https://hackage.haskell.org/package/"
31be270b
RW
5742 "cmark/cmark-" version ".tar.gz"))
5743 (sha256
5744 (base32
b8490856 5745 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
31be270b 5746 (build-system haskell-build-system)
2d47cee2 5747 (inputs
31be270b
RW
5748 `(("ghc-text" ,ghc-text)))
5749 (native-inputs
5750 `(("ghc-hunit" ,ghc-hunit)))
5751 (home-page "https://github.com/jgm/commonmark-hs")
5752 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5753 (description
5754 "This package provides Haskell bindings for
5755@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
b8490856
TGR
5756CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5757sources, and does not require prior installation of the C library.")
3ac73271 5758 (license license:bsd-3)))
31be270b 5759
0ba94011
RW
5760(define-public ghc-cmark-gfm
5761 (package
5762 (name "ghc-cmark-gfm")
0ceaff6f 5763 (version "0.1.5")
0ba94011
RW
5764 (source
5765 (origin
5766 (method url-fetch)
5767 (uri (string-append "https://hackage.haskell.org/package/"
5768 "cmark-gfm/cmark-gfm-"
5769 version ".tar.gz"))
5770 (sha256
5771 (base32
0ceaff6f 5772 "13b0mqks5c1q989slgsa3ixr5vvkfyic4ynzgv00kgl5qrs7hqk7"))))
0ba94011
RW
5773 (build-system haskell-build-system)
5774 (inputs
5775 `(("ghc-text" ,ghc-text)))
5776 (native-inputs
5777 `(("ghc-hunit" ,ghc-hunit)))
5778 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5779 (synopsis
5780 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5781 (description
5782 "This package provides Haskell bindings for libcmark-gfm, the reference
5783parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5784It includes sources for libcmark-gfm and does not require prior installation
5785of the C library.")
5786 (license license:bsd-3)))
5787
25b20a9c
RW
5788(define-public ghc-executable-path
5789 (package
5790 (name "ghc-executable-path")
1c42bd13 5791 (version "0.0.3.1")
25b20a9c
RW
5792 (source (origin
5793 (method url-fetch)
612fddec 5794 (uri (string-append "https://hackage.haskell.org/package/"
25b20a9c
RW
5795 "executable-path/executable-path-"
5796 version ".tar.gz"))
5797 (sha256
5798 (base32
1c42bd13 5799 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
25b20a9c 5800 (build-system haskell-build-system)
612fddec 5801 (home-page "https://hackage.haskell.org/package/executable-path")
25b20a9c
RW
5802 (synopsis "Find out the full path of the executable")
5803 (description
5804 "The documentation of @code{System.Environment.getProgName} says that
5805\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5806instead, for maximum portability, we just return the leafname of the program
5807as invoked.\" This library tries to provide the missing path.")
3ac73271 5808 (license license:public-domain)))
25b20a9c 5809
5de6eedc
RW
5810(define-public ghc-enclosed-exceptions
5811 (package
5812 (name "ghc-enclosed-exceptions")
376a6df4 5813 (version "1.0.3")
5de6eedc
RW
5814 (source (origin
5815 (method url-fetch)
612fddec 5816 (uri (string-append "https://hackage.haskell.org/package/"
5de6eedc
RW
5817 "enclosed-exceptions/enclosed-exceptions-"
5818 version ".tar.gz"))
5819 (sha256
5820 (base32
376a6df4 5821 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
5de6eedc 5822 (build-system haskell-build-system)
376a6df4
RW
5823 ;; FIXME: one of the tests blocks forever:
5824 ;; "thread blocked indefinitely in an MVar operation"
5825 (arguments '(#:tests? #f))
2d47cee2 5826 (inputs
5de6eedc
RW
5827 `(("ghc-lifted-base" ,ghc-lifted-base)
5828 ("ghc-monad-control" ,ghc-monad-control)
5829 ("ghc-async" ,ghc-async)
5830 ("ghc-transformers-base" ,ghc-transformers-base)))
5831 (native-inputs
5832 `(("ghc-hspec" ,ghc-hspec)
5833 ("ghc-quickcheck" ,ghc-quickcheck)))
5834 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5835 (synopsis "Catch all exceptions from within an enclosed computation")
5836 (description
5837 "This library implements a technique to catch all exceptions raised
5838within an enclosed computation, while remaining responsive to (external)
5839asynchronous exceptions.")
3ac73271 5840 (license license:expat)))
5de6eedc 5841
74d9f72e
RW
5842(define-public ghc-packedstring
5843 (package
5844 (name "ghc-packedstring")
5845 (version "0.1.0.1")
5846 (source (origin
5847 (method url-fetch)
612fddec 5848 (uri (string-append "https://hackage.haskell.org/package/"
74d9f72e
RW
5849 "packedstring/packedstring-"
5850 version ".tar.gz"))
5851 (sha256
5852 (base32
5853 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5854 (build-system haskell-build-system)
5855 (arguments
5856 `(#:phases
5857 (modify-phases %standard-phases
5858 (add-after 'unpack 'enable-extension
5859 (lambda _
5860 ;; This package won't compile without the StandaloneDeriving
5861 ;; extension.
5862 (substitute* "packedstring.cabal"
5863 (("CPP") "CPP, StandaloneDeriving"))
5864 #t)))))
612fddec 5865 (home-page "https://hackage.haskell.org/package/packedstring")
74d9f72e
RW
5866 (synopsis "Library for packed strings")
5867 (description
5868 "This deprecated library provides an implementation of packed strings.")
3ac73271 5869 (license license:bsd-3)))
74d9f72e 5870
9dfc79b3
RW
5871(define-public ghc-th-abstraction
5872 (package
5873 (name "ghc-th-abstraction")
5fe52835 5874 (version "0.2.8.0")
9dfc79b3
RW
5875 (source
5876 (origin
5877 (method url-fetch)
5878 (uri (string-append "https://hackage.haskell.org/package/"
5879 "th-abstraction/th-abstraction-"
5880 version ".tar.gz"))
5881 (sha256
5882 (base32
5fe52835 5883 "0n17w4q2ykd0nica4sck2wng6md56rfad8x0icl0l8vnzb9nn4ya"))))
9dfc79b3
RW
5884 (build-system haskell-build-system)
5885 (home-page "https://github.com/glguy/th-abstraction")
5886 (synopsis "Nicer interface for reified information about data types")
5887 (description
5888 "This package normalizes variations in the interface for inspecting
5889datatype information via Template Haskell so that packages and support a
5890single, easier to use informational datatype while supporting many versions of
5891Template Haskell.")
5892 (license license:isc)))
5893
1777e1f2
RW
5894(define-public ghc-th-lift
5895 (package
5896 (name "ghc-th-lift")
08c3993f 5897 (version "0.7.11")
1777e1f2
RW
5898 (source (origin
5899 (method url-fetch)
612fddec 5900 (uri (string-append "https://hackage.haskell.org/package/"
1777e1f2
RW
5901 "th-lift/th-lift-" version ".tar.gz"))
5902 (sha256
5903 (base32
08c3993f 5904 "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m"))))
1777e1f2 5905 (build-system haskell-build-system)
08c3993f
TS
5906 (inputs
5907 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
612fddec 5908 (home-page "https://github.com/mboes/th-lift")
1777e1f2
RW
5909 (synopsis "Derive Template Haskell's Lift class for datatypes")
5910 (description
5911 "This is a Haskell library to derive Template Haskell's Lift class for
5912datatypes.")
3ac73271 5913 (license license:bsd-3)))
1777e1f2 5914
a6d1c4e7
RW
5915(define-public ghc-th-lift-instances
5916 (package
5917 (name "ghc-th-lift-instances")
5918 (version "0.1.11")
5919 (source
5920 (origin
5921 (method url-fetch)
5922 (uri (string-append "https://hackage.haskell.org/package/"
5923 "th-lift-instances/th-lift-instances-"
5924 version ".tar.gz"))
5925 (sha256
5926 (base32
5927 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
5928 (build-system haskell-build-system)
5929 (inputs
5930 `(("ghc-th-lift" ,ghc-th-lift)
5931 ("ghc-vector" ,ghc-vector)
5932 ("ghc-text" ,ghc-text)
5933 ("ghc-quickcheck" ,ghc-quickcheck)))
5934 (home-page "https://github.com/bennofs/th-lift-instances/")
5935 (synopsis "Lift instances for template-haskell for common data types.")
5936 (description "Most data types in the Haskell platform do not have Lift
5937instances. This package provides orphan instances for @code{containers},
5938@code{text}, @code{bytestring} and @code{vector}.")
5939 (license license:bsd-3)))
5940
25101be9
RW
5941(define-public ghc-th-expand-syns
5942 (package
5943 (name "ghc-th-expand-syns")
46f88981 5944 (version "0.4.4.0")
25101be9
RW
5945 (source (origin
5946 (method url-fetch)
612fddec 5947 (uri (string-append "https://hackage.haskell.org/package/"
25101be9
RW
5948 "th-expand-syns/th-expand-syns-"
5949 version ".tar.gz"))
5950 (sha256
5951 (base32
46f88981 5952 "01prlvh3py5hq5ccjidfyp9ixq2zd88dkbsidyjrpkja6v8m43yc"))))
25101be9 5953 (build-system haskell-build-system)
2d47cee2 5954 (inputs
25101be9 5955 `(("ghc-syb" ,ghc-syb)))
612fddec 5956 (home-page "https://hackage.haskell.org/package/th-expand-syns")
25101be9
RW
5957 (synopsis "Expands type synonyms in Template Haskell ASTs")
5958 (description
5959 "This package enables users to expand type synonyms in Template Haskell
5960@dfn{abstract syntax trees} (ASTs).")
3ac73271 5961 (license license:bsd-3)))
25101be9 5962
536b84a8
RW
5963(define-public ghc-th-reify-many
5964 (package
5965 (name "ghc-th-reify-many")
5209fc22 5966 (version "0.1.8")
536b84a8
RW
5967 (source (origin
5968 (method url-fetch)
612fddec 5969 (uri (string-append "https://hackage.haskell.org/package/"
536b84a8
RW
5970 "th-reify-many/th-reify-many-"
5971 version ".tar.gz"))
5972 (sha256
5973 (base32
5209fc22 5974 "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf"))))
536b84a8 5975 (build-system haskell-build-system)
2d47cee2 5976 (inputs
f54f0475 5977 `(("ghc-safe" ,ghc-safe)
536b84a8 5978 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
612fddec 5979 (home-page "https://github.com/mgsloan/th-reify-many")
536b84a8
RW
5980 (synopsis "Recurseively reify template haskell datatype info")
5981 (description
5982 "th-reify-many provides functions for recursively reifying top level
5983declarations. The main intended use case is for enumerating the names of
5984datatypes reachable from an initial datatype, and passing these names to some
5985function which generates instances.")
3ac73271 5986 (license license:bsd-3)))
536b84a8 5987
2e677251
RW
5988(define-public ghc-th-orphans
5989 (package
5990 (name "ghc-th-orphans")
7307a2f8 5991 (version "0.13.6")
2e677251
RW
5992 (source (origin
5993 (method url-fetch)
612fddec 5994 (uri (string-append "https://hackage.haskell.org/package/"
2e677251
RW
5995 "th-orphans/th-orphans-" version ".tar.gz"))
5996 (sha256
5997 (base32
7307a2f8 5998 "0sfl3pn9kq9da3ji3lsgzgzy82vz6yvsg80dmakc1jvk7awycibp"))))
2e677251 5999 (build-system haskell-build-system)
2d47cee2 6000 (inputs
2e677251 6001 `(("ghc-th-lift" ,ghc-th-lift)
080778a0 6002 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
2e677251 6003 ("ghc-th-reify-many" ,ghc-th-reify-many)
2e677251
RW
6004 ("ghc-generic-deriving" ,ghc-generic-deriving)))
6005 (native-inputs
6006 `(("ghc-hspec" ,ghc-hspec)))
612fddec 6007 (home-page "https://hackage.haskell.org/package/th-orphans")
2e677251
RW
6008 (synopsis "Orphan instances for TH datatypes")
6009 (description
6010 "This package provides orphan instances for Template Haskell datatypes. In particular,
6011instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
6012and @code{Eq} instances. These instances used to live in the haskell-src-meta
6013package, and that's where the version number started.")
3ac73271 6014 (license license:bsd-3)))
2e677251 6015
e0ca14c7
AV
6016(define-public ghc-geniplate-mirror
6017 (package
6018 (name "ghc-geniplate-mirror")
6b850af4 6019 (version "0.7.6")
e0ca14c7
AV
6020 (source
6021 (origin
6022 (method url-fetch)
6023 (uri (string-append "https://hackage.haskell.org/package"
6024 "/geniplate-mirror"
6025 "/geniplate-mirror-" version ".tar.gz"))
6026 (sha256
6b850af4 6027 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
e0ca14c7 6028 (build-system haskell-build-system)
e0ca14c7
AV
6029 (home-page "https://github.com/danr/geniplate")
6030 (synopsis "Use Template Haskell to generate Uniplate-like functions")
6031 (description
6032 "Use Template Haskell to generate Uniplate-like functions. This is a
6033maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
6034geniplate} package, written by Lennart Augustsson.")
6035 (license license:bsd-3)))
6036
af4db693
AV
6037(define-public ghc-gitrev
6038 (package
6039 (name "ghc-gitrev")
6040 (version "1.3.1")
6041 (source
6042 (origin
6043 (method url-fetch)
6044 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
6045 version ".tar.gz"))
6046 (sha256
6047 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
6048 (build-system haskell-build-system)
6049 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
6050 (home-page "https://github.com/acfoltzer/gitrev")
6051 (synopsis "Compile git revision info into Haskell projects")
6052 (description
6053 "This package provides some handy Template Haskell splices for including
6054the current git hash and branch in the code of your project. This is useful
6055for including in panic messages, @command{--version} output, or diagnostic
6056info for more informative bug reports.")
6057 (license license:bsd-3)))
6058
3611fc7b
RW
6059(define-public ghc-haskell-src-meta
6060 (package
6061 (name "ghc-haskell-src-meta")
dcfee7b6 6062 (version "0.8.0.3")
3611fc7b
RW
6063 (source (origin
6064 (method url-fetch)
612fddec 6065 (uri (string-append "https://hackage.haskell.org/package/"
3611fc7b
RW
6066 "haskell-src-meta/haskell-src-meta-"
6067 version ".tar.gz"))
6068 (sha256
6069 (base32
dcfee7b6 6070 "08jq156zv4m0fjq6712n99c1jwxnpa6kj6sq8ch0r1l0a1ay6ww4"))))
3611fc7b 6071 (build-system haskell-build-system)
2d47cee2 6072 (inputs
3611fc7b
RW
6073 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
6074 ("ghc-syb" ,ghc-syb)
6075 ("ghc-th-orphans" ,ghc-th-orphans)))
db6dbe19
RW
6076 (native-inputs
6077 `(("ghc-hunit" ,ghc-hunit)
6078 ("ghc-test-framework" ,ghc-test-framework)
6079 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
612fddec 6080 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
3611fc7b
RW
6081 (synopsis "Parse source to template-haskell abstract syntax")
6082 (description
6083 "This package provides tools to parse Haskell sources to the
6084template-haskell abstract syntax.")
3ac73271 6085 (license license:bsd-3)))
3611fc7b 6086
b55630a3
RW
6087(define-public ghc-conduit
6088 (package
6089 (name "ghc-conduit")
5cb46200 6090 (version "1.3.0.3")
b55630a3
RW
6091 (source (origin
6092 (method url-fetch)
612fddec 6093 (uri (string-append "https://hackage.haskell.org/package/"
b55630a3
RW
6094 "conduit/conduit-" version ".tar.gz"))
6095 (sha256
6096 (base32
5cb46200 6097 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
b55630a3 6098 (build-system haskell-build-system)
2d47cee2 6099 (inputs
b55630a3
RW
6100 `(("ghc-exceptions" ,ghc-exceptions)
6101 ("ghc-lifted-base" ,ghc-lifted-base)
5cb46200 6102 ("ghc-mono-traversable" ,ghc-mono-traversable)
b55630a3 6103 ("ghc-mmorph" ,ghc-mmorph)
b55630a3 6104 ("ghc-resourcet" ,ghc-resourcet)
5cb46200 6105 ("ghc-silently" ,ghc-silently)
b55630a3 6106 ("ghc-transformers-base" ,ghc-transformers-base)
5cb46200
RW
6107 ("ghc-unliftio" ,ghc-unliftio)
6108 ("ghc-unliftio-core" ,ghc-unliftio-core)
6109 ("ghc-vector" ,ghc-vector)
b55630a3
RW
6110 ("ghc-void" ,ghc-void)))
6111 (native-inputs
6112 `(("ghc-quickcheck" ,ghc-quickcheck)
6113 ("ghc-hspec" ,ghc-hspec)
7bc18f41 6114 ("ghc-safe" ,ghc-safe)
6115 ("ghc-split" ,ghc-split)))
b55630a3
RW
6116 (home-page "https://github.com/snoyberg/conduit")
6117 (synopsis "Streaming data library ")
6118 (description
463c39c3 6119 "The conduit package is a solution to the streaming data problem,
6120allowing for production, transformation, and consumption of streams of data
6121in constant memory. It is an alternative to lazy I/O which guarantees
6122deterministic resource handling, and fits in the same general solution
6123space as enumerator/iteratee and pipes.")
3ac73271 6124 (license license:expat)))
b55630a3 6125
1c17529f
RW
6126(define-public ghc-logging-facade
6127 (package
6128 (name "ghc-logging-facade")
1cf4f272 6129 (version "0.3.0")
1c17529f
RW
6130 (source (origin
6131 (method url-fetch)
612fddec 6132 (uri (string-append "https://hackage.haskell.org/package/"
1c17529f
RW
6133 "logging-facade/logging-facade-"
6134 version ".tar.gz"))
6135 (sha256
6136 (base32
1cf4f272 6137 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
1c17529f
RW
6138 (build-system haskell-build-system)
6139 (native-inputs
2d47cee2
RW
6140 `(("ghc-hspec" ,ghc-hspec)
6141 ("hspec-discover" ,hspec-discover)))
612fddec 6142 (home-page "https://hackage.haskell.org/package/logging-facade")
1c17529f
RW
6143 (synopsis "Simple logging abstraction that allows multiple back-ends")
6144 (description
6145 "This package provides a simple logging abstraction that allows multiple
6146back-ends.")
3ac73271 6147 (license license:expat)))
1c17529f 6148
9efdbb72
RW
6149(define-public ghc-mockery
6150 (package
6151 (name "ghc-mockery")
b3cd1712 6152 (version "0.3.5")
9efdbb72
RW
6153 (source (origin
6154 (method url-fetch)
612fddec 6155 (uri (string-append "https://hackage.haskell.org/package/"
9efdbb72
RW
6156 "mockery/mockery-" version ".tar.gz"))
6157 (sha256
6158 (base32
b3cd1712 6159 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
9efdbb72 6160 (build-system haskell-build-system)
2d47cee2 6161 (inputs
9efdbb72 6162 `(("ghc-temporary" ,ghc-temporary)
1e521705
RW
6163 ("ghc-logging-facade" ,ghc-logging-facade)
6164 ("ghc-base-compat" ,ghc-base-compat)))
9efdbb72 6165 (native-inputs
2d47cee2
RW
6166 `(("ghc-hspec" ,ghc-hspec)
6167 ("hspec-discover" ,hspec-discover)))
612fddec 6168 (home-page "https://hackage.haskell.org/package/mockery")
9efdbb72
RW
6169 (synopsis "Support functions for automated testing")
6170 (description
6171 "The mockery package provides support functions for automated testing.")
3ac73271 6172 (license license:expat)))
9efdbb72 6173
132133c1
RW
6174(define-public ghc-yaml
6175 (package
6176 (name "ghc-yaml")
1613ee19 6177 (version "0.8.32")
132133c1
RW
6178 (source (origin
6179 (method url-fetch)
612fddec 6180 (uri (string-append "https://hackage.haskell.org/package/"
132133c1
RW
6181 "yaml/yaml-" version ".tar.gz"))
6182 (sha256
6183 (base32
1613ee19 6184 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
132133c1 6185 (build-system haskell-build-system)
2d47cee2 6186 (inputs
132133c1
RW
6187 `(("ghc-conduit" ,ghc-conduit)
6188 ("ghc-resourcet" ,ghc-resourcet)
6189 ("ghc-aeson" ,ghc-aeson)
6190 ("ghc-unordered-containers" ,ghc-unordered-containers)
6191 ("ghc-vector" ,ghc-vector)
6192 ("ghc-text" ,ghc-text)
6193 ("ghc-attoparsec" ,ghc-attoparsec)
6194 ("ghc-scientific" ,ghc-scientific)
fe4f81bc
RW
6195 ("ghc-semigroups" ,ghc-semigroups)
6196 ("ghc-temporary" ,ghc-temporary)
132133c1 6197 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
132133c1
RW
6198 ("ghc-base-compat" ,ghc-base-compat)))
6199 (native-inputs
6200 `(("ghc-hspec" ,ghc-hspec)
6201 ("ghc-hunit" ,ghc-hunit)
2d47cee2 6202 ("hspec-discover" ,hspec-discover)
132133c1 6203 ("ghc-mockery" ,ghc-mockery)))
612fddec 6204 (home-page "https://github.com/snoyberg/yaml/")
132133c1
RW
6205 (synopsis "Parsing and rendering YAML documents")
6206 (description
6207 "This package provides a library to parse and render YAML documents.")
3ac73271 6208 (license license:bsd-3)))
132133c1 6209
8e3149ee
RW
6210(define-public ghc-yaml-for-pandoc-1
6211 (package (inherit ghc-yaml)
6212 (inputs
6213 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6214 ,@(alist-delete "ghc-aeson" (package-inputs ghc-yaml))))))
6215
fcacbec3
RW
6216(define-public ghc-filemanip
6217 (package
6218 (name "ghc-filemanip")
6219 (version "0.3.6.3")
6220 (source (origin
6221 (method url-fetch)
612fddec 6222 (uri (string-append "https://hackage.haskell.org/package/"
fcacbec3
RW
6223 "filemanip/filemanip-" version ".tar.gz"))
6224 (sha256
6225 (base32
6226 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
6227 (build-system haskell-build-system)
2d47cee2 6228 (inputs
f54f0475 6229 `(("ghc-unix-compat" ,ghc-unix-compat)))
fcacbec3
RW
6230 (home-page "https://github.com/bos/filemanip")
6231 (synopsis "File and directory manipulation for Haskell")
6232 (description
6233 "This package provides a Haskell library for working with files and
6234directories. It includes code for pattern matching, finding files, modifying
6235file contents, and more.")
3ac73271 6236 (license license:bsd-3)))
fcacbec3 6237
348519e1
RW
6238(define-public ghc-mmap
6239 (package
6240 (name "ghc-mmap")
6241 (version "0.5.9")
6242 (source (origin
6243 (method url-fetch)
612fddec 6244 (uri (string-append "https://hackage.haskell.org/package/"
348519e1
RW
6245 "mmap/mmap-" version ".tar.gz"))
6246 (sha256
6247 (base32
6248 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6249 (build-system haskell-build-system)
612fddec 6250 (home-page "https://hackage.haskell.org/package/mmap")
348519e1
RW
6251 (synopsis "Memory mapped files for Haskell")
6252 (description
6253 "This library provides a wrapper to @code{mmap}, allowing files or
6254devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6255@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6256do on-demand loading.")
3ac73271 6257 (license license:bsd-3)))
348519e1 6258
12676ce8
RW
6259(define-public ghc-juicypixels
6260 (package
6261 (name "ghc-juicypixels")
38f0d04e 6262 (version "3.2.9.5")
12676ce8
RW
6263 (source (origin
6264 (method url-fetch)
612fddec 6265 (uri (string-append "https://hackage.haskell.org/package/"
12676ce8
RW
6266 "JuicyPixels/JuicyPixels-"
6267 version ".tar.gz"))
6268 (sha256
6269 (base32
38f0d04e 6270 "0mf3ihr0xy2wc2wzb9a17g0n3p60x7pvm8akwpvhdy8klvs6r744"))))
12676ce8 6271 (build-system haskell-build-system)
2d47cee2 6272 (inputs
f54f0475 6273 `(("ghc-zlib" ,ghc-zlib)
12676ce8
RW
6274 ("ghc-vector" ,ghc-vector)
6275 ("ghc-primitive" ,ghc-primitive)
6276 ("ghc-mmap" ,ghc-mmap)))
6277 (home-page "https://github.com/Twinside/Juicy.Pixels")
6278 (synopsis "Picture loading and serialization library")
6279 (description
6280 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6281TIFF and GIF formats.")
3ac73271 6282 (license license:bsd-3)))
12676ce8 6283
ac5d633a
RW
6284(define-public ghc-hslua
6285 (package
6286 (name "ghc-hslua")
867ac7fe 6287 (version "0.9.5.2")
ac5d633a
RW
6288 (source (origin
6289 (method url-fetch)
612fddec 6290 (uri (string-append "https://hackage.haskell.org/package/"
ac5d633a
RW
6291 "hslua/hslua-" version ".tar.gz"))
6292 (sha256
6293 (base32
867ac7fe 6294 "1rdvv01p214zfjh6fcqjjgqwi8y42wad6cqzhlcv5gvclzw2ck8f"))))
ac5d633a 6295 (build-system haskell-build-system)
a231ef7e 6296 (arguments
ac5d633a
RW
6297 `(#:configure-flags '("-fsystem-lua")))
6298 (inputs
e045c014
RW
6299 `(("lua" ,lua)
6300 ("ghc-exceptions" ,ghc-exceptions)
6301 ("ghc-fail" ,ghc-fail)
2d47cee2 6302 ("ghc-text" ,ghc-text)))
ac5d633a 6303 (native-inputs
e045c014
RW
6304 `(("ghc-tasty" ,ghc-tasty)
6305 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6306 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6307 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
ac5d633a
RW
6308 ("ghc-quickcheck" ,ghc-quickcheck)
6309 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
612fddec 6310 (home-page "https://hackage.haskell.org/package/hslua")
ac5d633a 6311 (synopsis "Lua language interpreter embedding in Haskell")
a231ef7e 6312 (description
ac5d633a 6313 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
98b90194 6314described in @url{https://www.lua.org/}.")
3ac73271 6315 (license license:expat)))
ac5d633a 6316
f45c86b5
RW
6317(define-public ghc-hslua-for-pandoc-1
6318 (package (inherit ghc-hslua)
6319 (version "0.4.1")
6320 (source (origin
6321 (method url-fetch)
6322 (uri (string-append "https://hackage.haskell.org/package/"
6323 "hslua/hslua-" version ".tar.gz"))
6324 (sha256
6325 (base32
6326 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
6327 (inputs
6328 `(("lua" ,lua-5.1)
6329 ("ghc-text" ,ghc-text)))
6330 (native-inputs
6331 `(("ghc-quickcheck" ,ghc-quickcheck)
6332 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6333 ("ghc-hspec" ,ghc-hspec)
6334 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
6335 ("ghc-hunit" ,ghc-hunit)
6336 ("hspec-discover" ,hspec-discover)))))
6337
8045d84d
RW
6338(define-public ghc-hslua-module-text
6339 (package
6340 (name "ghc-hslua-module-text")
6341 (version "0.1.2.1")
6342 (source
6343 (origin
6344 (method url-fetch)
6345 (uri (string-append "https://hackage.haskell.org/package/"
6346 "hslua-module-text/hslua-module-text-"
6347 version ".tar.gz"))
6348 (sha256
6349 (base32
6350 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
6351 (build-system haskell-build-system)
085f26d1
TS
6352 (arguments
6353 `(#:cabal-revision
6354 ("1" "0vajlsd7y6pwa08635q0cx8z5c1c55bk7fvavw7g2vmyvxqjzx6n")))
8045d84d
RW
6355 (inputs
6356 `(("ghc-hslua" ,ghc-hslua)
6357 ("ghc-text" ,ghc-text)))
6358 (native-inputs
6359 `(("ghc-tasty" ,ghc-tasty)
6360 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6361 (home-page "https://github.com/hslua/hslua-module-text")
6362 (synopsis "Lua module for text")
6363 (description
6364 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6365for Haskell. The functions provided by this module are @code{upper},
6366@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6367 (license license:expat)))
6368
51c05fcf
RW
6369(define-public ghc-byteable
6370 (package
6371 (name "ghc-byteable")
6372 (version "0.1.1")
6373 (source (origin
6374 (method url-fetch)
612fddec 6375 (uri (string-append "https://hackage.haskell.org/package/"
51c05fcf
RW
6376 "byteable/byteable-" version ".tar.gz"))
6377 (sha256
6378 (base32
6379 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
6380 (build-system haskell-build-system)
612fddec 6381 (home-page "https://github.com/vincenthz/hs-byteable")
51c05fcf
RW
6382 (synopsis "Type class for sequence of bytes")
6383 (description
6384 "This package provides an abstract class to manipulate sequence of bytes.
6385The use case of this class is abstracting manipulation of types that are just
6386wrapping a bytestring with stronger and more meaniful name.")
3ac73271 6387 (license license:bsd-3)))
51c05fcf 6388
45813e67
RW
6389(define-public ghc-hourglass
6390 (package
6391 (name "ghc-hourglass")
bef2ee1c 6392 (version "0.2.12")
45813e67
RW
6393 (source (origin
6394 (method url-fetch)
612fddec 6395 (uri (string-append "https://hackage.haskell.org/package/"
45813e67
RW
6396 "hourglass/hourglass-" version ".tar.gz"))
6397 (sha256
6398 (base32
bef2ee1c 6399 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
45813e67 6400 (build-system haskell-build-system)
2d47cee2 6401 (inputs
f54f0475 6402 `(("ghc-old-locale" ,ghc-old-locale)))
45813e67
RW
6403 (native-inputs
6404 `(("ghc-tasty" ,ghc-tasty)
6405 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6406 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6407 (home-page "https://github.com/vincenthz/hs-hourglass")
6408 (synopsis "Simple time-related library for Haskell")
6409 (description
6410 "This is a simple time library providing a simple but powerful and
6411performant API. The backbone of the library are the @code{Timeable} and
6412@code{Time} type classes. Each @code{Timeable} instances can be converted to
6413a type that has a @code{Time} instances, and thus are different
6414representations of current time.")
3ac73271 6415 (license license:bsd-3)))
45813e67 6416
be04f802
AV
6417(define-public ghc-edit-distance
6418 (package
6419 (name "ghc-edit-distance")
6420 (version "0.2.2.1")
6421 (source
6422 (origin
6423 (method url-fetch)
6424 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
6425 "/edit-distance-" version ".tar.gz"))
6426 (sha256
6427 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
6428 (build-system haskell-build-system)
9f29ecc1 6429 (arguments
d340ee85
TS
6430 `(#:phases
6431 (modify-phases %standard-phases
6432 (add-before 'configure 'update-constraints
6433 (lambda _
6434 (substitute* "edit-distance.cabal"
6435 (("QuickCheck >= 2\\.4 && <2\\.9")
6436 "QuickCheck >= 2.4 && < 2.12")))))))
be04f802
AV
6437 (inputs
6438 `(("ghc-random" ,ghc-random)
6439 ("ghc-test-framework" ,ghc-test-framework)
6440 ("ghc-quickcheck" ,ghc-quickcheck)
6441 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6442 (home-page "https://github.com/phadej/edit-distance")
6443 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
6444 (description
6445 "This package provides optimized functions to determine the edit
6446distances for fuzzy matching, including Levenshtein and restricted
6447Damerau-Levenshtein algorithms.")
6448 (license license:bsd-3)))
6449
4dc2deb9
RW
6450(define-public ghc-memory
6451 (package
6452 (name "ghc-memory")
150e8e25 6453 (version "0.14.16")
4dc2deb9
RW
6454 (source (origin
6455 (method url-fetch)
612fddec 6456 (uri (string-append "https://hackage.haskell.org/package/"
4dc2deb9
RW
6457 "memory/memory-" version ".tar.gz"))
6458 (sha256
6459 (base32
150e8e25 6460 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
4dc2deb9 6461 (build-system haskell-build-system)
150e8e25
RW
6462 (inputs
6463 `(("ghc-basement" ,ghc-basement)
6464 ("ghc-foundation" ,ghc-foundation)))
4dc2deb9
RW
6465 (native-inputs
6466 `(("ghc-tasty" ,ghc-tasty)
6467 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6468 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6469 (home-page "https://github.com/vincenthz/hs-memory")
6470 (synopsis "Memory abstractions for Haskell")
6471 (description
6472 "This package provides memory abstractions, such as chunk of memory,
6473polymorphic byte array management and manipulation functions. It contains a
6474polymorphic byte array abstraction and functions similar to strict ByteString,
6475different type of byte array abstraction, raw memory IO operations (memory
6476set, memory copy, ..) and more")
3ac73271 6477 (license license:bsd-3)))
4dc2deb9 6478
dcc5cf1d
RW
6479(define-public ghc-socks
6480 (package
6481 (name "ghc-socks")
fd358b34 6482 (version "0.5.6")
dcc5cf1d
RW
6483 (source (origin
6484 (method url-fetch)
612fddec 6485 (uri (string-append "https://hackage.haskell.org/package/"
dcc5cf1d
RW
6486 "socks/socks-" version ".tar.gz"))
6487 (sha256
6488 (base32
fd358b34 6489 "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs"))))
dcc5cf1d 6490 (build-system haskell-build-system)
2d47cee2 6491 (inputs
dcc5cf1d
RW
6492 `(("ghc-cereal" ,ghc-cereal)
6493 ("ghc-network" ,ghc-network)))
612fddec 6494 (home-page "https://github.com/vincenthz/hs-socks")
66e07664 6495 (synopsis "SOCKS proxy (version 5) implementation")
dcc5cf1d
RW
6496 (description
6497 "This library provides a SOCKS proxy (version 5) implementation.")
3ac73271 6498 (license license:bsd-3)))
dcc5cf1d 6499
86dd2ce0
RW
6500(define-public ghc-connection
6501 (package
6502 (name "ghc-connection")
f4585fd1 6503 (version "0.2.8")
86dd2ce0
RW
6504 (source (origin
6505 (method url-fetch)
612fddec 6506 (uri (string-append "https://hackage.haskell.org/package/"
86dd2ce0
RW
6507 "connection/connection-"
6508 version ".tar.gz"))
6509 (sha256
6510 (base32
f4585fd1 6511 "1swkb9w5vx9ph7x55y51dc0srj2z27nd9ibgn8c0qcl6hx7g9cbh"))))
86dd2ce0 6512 (build-system haskell-build-system)
2d47cee2 6513 (inputs
86dd2ce0
RW
6514 `(("ghc-byteable" ,ghc-byteable)
6515 ("ghc-data-default-class" ,ghc-data-default-class)
6516 ("ghc-network" ,ghc-network)
6517 ("ghc-tls" ,ghc-tls)
6518 ("ghc-socks" ,ghc-socks)
6519 ("ghc-x509" ,ghc-x509)
6520 ("ghc-x509-store" ,ghc-x509-store)
6521 ("ghc-x509-system" ,ghc-x509-system)
6522 ("ghc-x509-validation" ,ghc-x509-validation)))
612fddec 6523 (home-page "https://github.com/vincenthz/hs-connection")
86dd2ce0
RW
6524 (synopsis "Simple and easy network connections API")
6525 (description
6526 "This package provides a simple network library for all your connection
6527needs. It provides a very simple API to create sockets to a destination with
6528the choice of SSL/TLS, and SOCKS.")
3ac73271 6529 (license license:bsd-3)))
86dd2ce0 6530
61849d42 6531(define-public ghc-skylighting-core
14e9a397 6532 (package
61849d42
TS
6533 (name "ghc-skylighting-core")
6534 (version "0.7.2")
14e9a397
RW
6535 (source (origin
6536 (method url-fetch)
61849d42
TS
6537 (uri (string-append "https://hackage.haskell.org/package/"
6538 "skylighting-core/skylighting-core-"
6539 version ".tar.gz"))
14e9a397
RW
6540 (sha256
6541 (base32
61849d42 6542 "066fwmwsd7xcvwlinfk2izlzq0xp8697i6lnbgsbl71jdybyackq"))))
14e9a397
RW
6543 (build-system haskell-build-system)
6544 (inputs
6545 `(("ghc-aeson" ,ghc-aeson)
6546 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6547 ("ghc-attoparsec" ,ghc-attoparsec)
6548 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6549 ("ghc-blaze-html" ,ghc-blaze-html)
6550 ("ghc-case-insensitive" ,ghc-case-insensitive)
6551 ("ghc-colour" ,ghc-colour)
14e9a397 6552 ("ghc-hxt" ,ghc-hxt)
14e9a397
RW
6553 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6554 ("ghc-safe" ,ghc-safe)
6555 ("ghc-text" ,ghc-text)
6556 ("ghc-utf8-string" ,ghc-utf8-string)))
6557 (native-inputs
61849d42
TS
6558 `(("ghc-diff" ,ghc-diff)
6559 ("ghc-hunit" ,ghc-hunit)
6560 ("ghc-pretty-show" ,ghc-pretty-show)
14e9a397
RW
6561 ("ghc-quickcheck" ,ghc-quickcheck)
6562 ("ghc-tasty" ,ghc-tasty)
6563 ("ghc-tasty-golden" ,ghc-tasty-golden)
6564 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6565 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
61849d42 6566 (home-page "https://github.com/jgm/skylighting")
14e9a397
RW
6567 (synopsis "Syntax highlighting library")
6568 (description "Skylighting is a syntax highlighting library with support
6569for over one hundred languages. It derives its tokenizers from XML syntax
6570definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
6571supported by that framework can be added. An optional command-line program is
6572provided. Skylighting is intended to be the successor to highlighting-kate.")
6573 (license license:gpl2)))
6574
61849d42
TS
6575(define-public ghc-skylighting
6576 (package
6577 (inherit ghc-skylighting-core)
6578 (name "ghc-skylighting")
6579 (version "0.7.2")
6580 (source (origin
6581 (method url-fetch)
6582 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
6583 version "/skylighting-" version ".tar.gz"))
6584 (sha256
6585 (base32
6586 "1rh3z1a7a4clvksdw1qlpmhxqkfahwypi70k91whgfamzsqpxdch"))))
6587 (inputs
6588 `(("ghc-skylighting-core" ,ghc-skylighting-core)
6589 ,@(package-inputs ghc-skylighting-core)))))
6590
08eaa0d8
RW
6591(define-public ghc-skylighting-for-pandoc-1
6592 (package (inherit ghc-skylighting)
6593 (version "0.1.1.5")
6594 (source (origin
6595 (method git-fetch)
6596 ;; We take the sources from Github, because the tarball on
6597 ;; hackage does not include the XML files.
6598 (uri (git-reference
6599 (url "https://github.com/jgm/skylighting.git")
6600 (commit version)))
6601 (file-name (string-append "ghc-skylighting-" version "-checkout"))
6602 (sha256
6603 (base32
6604 "0z3yv8v2fqqgv6lsf0ff3ld0h2vkg97b2jiry9wn2f1rizwdqmzl"))))
6605 (arguments
6606 `(#:configure-flags '("-fbootstrap")
6607 #:phases
6608 (modify-phases %standard-phases
6609 ;; After building the skylighting-extract tool we use it to generate
6610 ;; syntax source files from the included XML files. These are then
6611 ;; added to the skylighting.cabal file.
6612 (add-after 'build 'extract-xml
6613 (lambda _
6614 (make-file-writable "skylighting.cabal")
6615 (apply invoke "./dist/build/skylighting-extract/skylighting-extract"
6616 (find-files "xml" "\\.xml$"))
6617 #t))
6618 ;; Reconfigure without bootstrap flag
6619 (add-after 'extract-xml 'configure-again
6620 (lambda* (#:key outputs inputs tests? #:allow-other-keys)
6621 ((assoc-ref %standard-phases 'configure)
6622 #:outputs outputs
6623 #:inputs inputs
6624 #:tests? tests?
6625 #:configure-flags '("-f-bootstrap"))))
6626 (add-after 'configure-again 'build-again
6627 (assoc-ref %standard-phases 'build)))))
6628 (inputs
6629 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6630 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6631 ("ghc-blaze-html" ,ghc-blaze-html)
6632 ("ghc-case-insensitive" ,ghc-case-insensitive)
6633 ("ghc-diff" ,ghc-diff)
6634 ("ghc-hxt" ,ghc-hxt)
08eaa0d8
RW
6635 ("ghc-pretty-show" ,ghc-pretty-show)
6636 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6637 ("ghc-safe" ,ghc-safe)
6638 ("ghc-text" ,ghc-text)
6639 ("ghc-utf8-string" ,ghc-utf8-string)))))
6640
4012ea04
RW
6641(define-public ghc-doctemplates
6642 (package
6643 (name "ghc-doctemplates")
dfe5f60f 6644 (version "0.2.2.1")
4012ea04
RW
6645 (source
6646 (origin
6647 (method url-fetch)
6648 (uri (string-append "https://hackage.haskell.org/package/"
6649 "doctemplates/doctemplates-"
6650 version ".tar.gz"))
6651 (sha256
6652 (base32
dfe5f60f 6653 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
4012ea04
RW
6654 (build-system haskell-build-system)
6655 (inputs
6656 `(("ghc-aeson" ,ghc-aeson)
6657 ("ghc-blaze-markup" ,ghc-blaze-markup)
6658 ("ghc-blaze-html" ,ghc-blaze-html)
6659 ("ghc-text" ,ghc-text)
6660 ("ghc-vector" ,ghc-vector)
6661 ("ghc-parsec" ,ghc-parsec)
6662 ("ghc-unordered-containers" ,ghc-unordered-containers)
6663 ("ghc-scientific" ,ghc-scientific)))
6664 (native-inputs
6665 `(("ghc-hspec" ,ghc-hspec)))
6666 (home-page "https://github.com/jgm/doctemplates#readme")
6667 (synopsis "Pandoc-style document templates")
6668 (description
6669 "This package provides a simple text templating system used by pandoc.")
6670 (license license:bsd-3)))
6c055278
RW
6671
6672(define-public ghc-doctemplates-for-pandoc-1
6673 (package (inherit ghc-doctemplates)
6674 (version "0.1.0.2")
6675 (source
6676 (origin
6677 (method url-fetch)
6678 (uri (string-append "https://hackage.haskell.org/package/"
6679 "doctemplates/doctemplates-"
6680 version ".tar.gz"))
6681 (sha256
6682 (base32
6683 "0swal6rjya1293mwvl63jch5fx9ghpsil7qs4v7rpansa0izalmp"))))
6684 (build-system haskell-build-system)
6685 (inputs
6686 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6687 ("ghc-blaze-markup" ,ghc-blaze-markup)
6688 ("ghc-blaze-html" ,ghc-blaze-html)
6689 ("ghc-text" ,ghc-text)
6690 ("ghc-vector" ,ghc-vector)
6691 ("ghc-parsec" ,ghc-parsec)
6692 ("ghc-unordered-containers" ,ghc-unordered-containers)
6693 ("ghc-scientific" ,ghc-scientific)))))
4012ea04 6694
85538709
RW
6695(define-public ghc-pandoc
6696 (package
6697 (name "ghc-pandoc")
970481f1 6698 (version "2.2.1")
85538709
RW
6699 (source
6700 (origin
6701 (method url-fetch)
612fddec 6702 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
85538709
RW
6703 version ".tar.gz"))
6704 (sha256
6705 (base32
970481f1 6706 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
85538709 6707 (build-system haskell-build-system)
2d47cee2 6708 (inputs
1afa5abb
RW
6709 `(("ghc-aeson" ,ghc-aeson)
6710 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
85538709 6711 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
85538709
RW
6712 ("ghc-blaze-html" ,ghc-blaze-html)
6713 ("ghc-blaze-markup" ,ghc-blaze-markup)
1afa5abb
RW
6714 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
6715 ("ghc-data-default" ,ghc-data-default)
85538709 6716 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1afa5abb
RW
6717 ("ghc-diff" ,ghc-diff)
6718 ("ghc-doctemplates" ,ghc-doctemplates)
6719 ("ghc-executable-path" ,ghc-executable-path)
6720 ("ghc-glob" ,ghc-glob)
6721 ("ghc-haddock-library" ,ghc-haddock-library)
6722 ("ghc-hslua" ,ghc-hslua)
6723 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
6724 ("ghc-http" ,ghc-http)
85538709
RW
6725 ("ghc-http-client" ,ghc-http-client)
6726 ("ghc-http-client-tls" ,ghc-http-client-tls)
6727 ("ghc-http-types" ,ghc-http-types)
1afa5abb 6728 ("ghc-juicypixels" ,ghc-juicypixels)
1afa5abb
RW
6729 ("ghc-network" ,ghc-network)
6730 ("ghc-network-uri" ,ghc-network-uri)
6731 ("ghc-old-locale" ,ghc-old-locale)
6732 ("ghc-pandoc-types" ,ghc-pandoc-types)
6733 ("ghc-parsec" ,ghc-parsec)
6734 ("ghc-random" ,ghc-random)
6735 ("ghc-scientific" ,ghc-scientific)
6736 ("ghc-sha" ,ghc-sha)
6737 ("ghc-skylighting" ,ghc-skylighting)
6738 ("ghc-split" ,ghc-split)
6739 ("ghc-syb" ,ghc-syb)
6740 ("ghc-tagsoup" ,ghc-tagsoup)
6741 ("ghc-temporary" ,ghc-temporary)
6742 ("ghc-texmath" ,ghc-texmath)
6743 ("ghc-text" ,ghc-text)
6744 ("ghc-unordered-containers" ,ghc-unordered-containers)
6745 ("ghc-vector" ,ghc-vector)
6746 ("ghc-xml" ,ghc-xml)
6747 ("ghc-yaml" ,ghc-yaml)
6748 ("ghc-zip-archive" ,ghc-zip-archive)
6749 ("ghc-zlib" ,ghc-zlib)))
85538709 6750 (native-inputs
1afa5abb
RW
6751 `(("ghc-tasty" ,ghc-tasty)
6752 ("ghc-tasty-golden" ,ghc-tasty-golden)
6753 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6754 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
85538709
RW
6755 ("ghc-quickcheck" ,ghc-quickcheck)
6756 ("ghc-hunit" ,ghc-hunit)))
98b90194 6757 (home-page "https://pandoc.org")
85538709
RW
6758 (synopsis "Conversion between markup formats")
6759 (description
6760 "Pandoc is a Haskell library for converting from one markup format to
6761another, and a command-line tool that uses this library. It can read and
6762write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6763LaTeX, DocBook, and many more.
6764
6765Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6766definition lists, tables, and other features. A compatibility mode is
6767provided for those who need a drop-in replacement for Markdown.pl.")
3ac73271 6768 (license license:gpl2+)))
85538709 6769
8b1e1e4c
RW
6770;; This is the last version of Pandoc 1.x, which is preferred for Rmarkdown.
6771(define-public ghc-pandoc-1
6772 (package (inherit ghc-pandoc)
6773 (version "1.19.2.4")
6774 (source
6775 (origin
6776 (method url-fetch)
6777 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6778 version ".tar.gz"))
6779 (sha256
6780 (base32
6781 "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v"))))
6782 (arguments
6783 `(#:configure-flags (list "--allow-newer=skylighting")))
6784 (inputs
6785 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6786 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6787 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6788 ("ghc-blaze-html" ,ghc-blaze-html)
6789 ("ghc-blaze-markup" ,ghc-blaze-markup)
6790 ("ghc-cmark" ,ghc-cmark)
6791 ("ghc-data-default" ,ghc-data-default)
6792 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6793 ("ghc-diff" ,ghc-diff)
6794 ("ghc-doctemplates" ,ghc-doctemplates-for-pandoc-1)
6795 ("ghc-executable-path" ,ghc-executable-path)
6796 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6797 ("ghc-filemanip" ,ghc-filemanip)
6798 ("ghc-haddock-library" ,ghc-haddock-library)
6799 ("ghc-hslua" ,ghc-hslua-for-pandoc-1)
6800 ("ghc-http" ,ghc-http)
6801 ("ghc-http-client" ,ghc-http-client)
6802 ("ghc-http-client-tls" ,ghc-http-client-tls)
6803 ("ghc-http-types" ,ghc-http-types)
6804 ("ghc-juicypixels" ,ghc-juicypixels)
8b1e1e4c
RW
6805 ("ghc-network" ,ghc-network)
6806 ("ghc-network-uri" ,ghc-network-uri)
6807 ("ghc-old-time" ,ghc-old-time)
6808 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
6809 ("ghc-parsec" ,ghc-parsec)
6810 ("ghc-random" ,ghc-random)
6811 ("ghc-scientific" ,ghc-scientific)
6812 ("ghc-sha" ,ghc-sha)
6813 ("ghc-skylighting" ,ghc-skylighting-for-pandoc-1)
6814 ("ghc-syb" ,ghc-syb)
6815 ("ghc-tagsoup" ,ghc-tagsoup)
6816 ("ghc-temporary" ,ghc-temporary)
6817 ("ghc-texmath" ,ghc-texmath-for-pandoc-1)
6818 ("ghc-text" ,ghc-text)
6819 ("ghc-unordered-containers" ,ghc-unordered-containers)
6820 ("ghc-vector" ,ghc-vector)
6821 ("ghc-xml" ,ghc-xml)
6822 ("ghc-yaml" ,ghc-yaml-for-pandoc-1)
6823 ("ghc-zip-archive" ,ghc-zip-archive)
6824 ("ghc-zlib" ,ghc-zlib)))
6825 (native-inputs
6826 `(("ghc-test-framework" ,ghc-test-framework)
6827 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6828 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))))
6829
37e02bf6
RW
6830(define-public ghc-hs-bibutils
6831 (package
6832 (name "ghc-hs-bibutils")
568cafd5 6833 (version "6.6.0.0")
37e02bf6
RW
6834 (source
6835 (origin
6836 (method url-fetch)
6837 (uri (string-append
6838 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6839 version ".tar.gz"))
6840 (sha256
6841 (base32
568cafd5 6842 "0n2sz2zl4naspryd49ii858qkjp2lapns5a2gr8zm6vvn5sh1f0l"))))
37e02bf6
RW
6843 (build-system haskell-build-system)
6844 (inputs `(("ghc-syb" ,ghc-syb)))
6845 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6846 (synopsis "Haskell bindings to bibutils")
6847 (description
6848 "This package provides Haskell bindings to @code{bibutils}, a library
6849that interconverts between various bibliography formats using a common
6850MODS-format XML intermediate.")
6851 (license license:gpl2+)))
6852
9ce764b6
RW
6853(define-public ghc-rfc5051
6854 (package
6855 (name "ghc-rfc5051")
6856 (version "0.1.0.3")
6857 (source
6858 (origin
6859 (method url-fetch)
6860 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6861 "rfc5051-" version ".tar.gz"))
6862 (sha256
6863 (base32
6864 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6865 (build-system haskell-build-system)
98b90194 6866 (home-page "https://hackage.haskell.org/package/rfc5051")
9ce764b6
RW
6867 (synopsis "Simple unicode collation as per RFC5051")
6868 (description
6869 "This library implements @code{unicode-casemap}, the simple, non
6870locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6871unicode collation can be done using @code{text-icu}, but that is a big
6872dependency that depends on a large C library, and @code{rfc5051} might be
6873better for some purposes.")
6874 (license license:bsd-3)))
6875
d5040b44
RW
6876(define-public ghc-typed-process
6877 (package
6878 (name "ghc-typed-process")
10ae7345 6879 (version "0.2.3.0")
d5040b44
RW
6880 (source
6881 (origin
6882 (method url-fetch)
6883 (uri (string-append "https://hackage.haskell.org/package/"
6884 "typed-process/typed-process-"
6885 version ".tar.gz"))
6886 (sha256
6887 (base32
10ae7345 6888 "0j36vrc9w841m5qbwqra1lwiznx31xfnhin1sm8x2c2739csbpn0"))))
d5040b44
RW
6889 (build-system haskell-build-system)
6890 (inputs
6891 `(("ghc-async" ,ghc-async)
6892 ("ghc-stm" ,ghc-stm)))
6893 (native-inputs
6894 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
6895 ("ghc-hspec" ,ghc-hspec)
6896 ("hspec-discover" ,hspec-discover)
6897 ("ghc-temporary" ,ghc-temporary)))
6898 (home-page "https://haskell-lang.org/library/typed-process")
6899 (synopsis "Run external processes with strong typing of streams")
6900 (description
6901 "This library provides the ability to launch and interact with external
6902processes. It wraps around the @code{process} library, and intends to improve
6903upon it.")
6904 (license license:expat)))
6905
1aa45bbf
RW
6906(define-public ghc-conduit-extra
6907 (package
6908 (name "ghc-conduit-extra")
c106c48e 6909 (version "1.3.0")
1aa45bbf
RW
6910 (source
6911 (origin
6912 (method url-fetch)
6913 (uri (string-append "https://hackage.haskell.org/package/"
6914 "conduit-extra/conduit-extra-"
6915 version ".tar.gz"))
6916 (sha256
6917 (base32
c106c48e 6918 "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
1aa45bbf
RW
6919 (build-system haskell-build-system)
6920 (inputs
6921 `(("ghc-conduit" ,ghc-conduit)
6922 ("ghc-exceptions" ,ghc-exceptions)
6923 ("ghc-monad-control" ,ghc-monad-control)
6924 ("ghc-text" ,ghc-text)
6925 ("ghc-transformers-base" ,ghc-transformers-base)
c106c48e 6926 ("ghc-typed-process" ,ghc-typed-process)
1aa45bbf
RW
6927 ("ghc-async" ,ghc-async)
6928 ("ghc-attoparsec" ,ghc-attoparsec)
6929 ("ghc-blaze-builder" ,ghc-blaze-builder)
6930 ("ghc-network" ,ghc-network)
6931 ("ghc-primitive" ,ghc-primitive)
6932 ("ghc-resourcet" ,ghc-resourcet)
6933 ("ghc-stm" ,ghc-stm)
6934 ("ghc-streaming-commons" ,ghc-streaming-commons)
6935 ("ghc-hspec" ,ghc-hspec)
6936 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6937 ("ghc-quickcheck" ,ghc-quickcheck)))
6938 (native-inputs
6939 `(("hspec-discover" ,hspec-discover)))
7bf837fd 6940 (home-page "https://github.com/snoyberg/conduit")
1aa45bbf
RW
6941 (synopsis "Conduit adapters for common libraries")
6942 (description
6943 "The @code{conduit} package itself maintains relative small dependencies.
6944The purpose of this package is to collect commonly used utility functions
6945wrapping other library dependencies, without depending on heavier-weight
6946dependencies. The basic idea is that this package should only depend on
6947@code{haskell-platform} packages and @code{conduit}.")
6948 (license license:expat)))
6949
e9ef2c51
RW
6950(define-public ghc-xml-types
6951 (package
6952 (name "ghc-xml-types")
6953 (version "0.3.6")
6954 (source
6955 (origin
6956 (method url-fetch)
6957 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6958 "xml-types-" version ".tar.gz"))
6959 (sha256
6960 (base32
6961 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6962 (build-system haskell-build-system)
6963 (inputs `(("ghc-text" ,ghc-text)))
6964 (home-page "https://john-millikin.com/software/haskell-xml/")
6965 (synopsis "Basic types for representing XML")
6966 (description "This package provides basic types for representing XML
6967documents.")
6968 (license license:expat)))
6969
bfdfb0f6
RW
6970(define-public ghc-xml-conduit
6971 (package
6972 (name "ghc-xml-conduit")
e30397dd 6973 (version "1.8.0.1")
bfdfb0f6
RW
6974 (source
6975 (origin
6976 (method url-fetch)
6977 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6978 "xml-conduit-" version ".tar.gz"))
6979 (sha256
6980 (base32
e30397dd 6981 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
bfdfb0f6
RW
6982 (build-system haskell-build-system)
6983 (inputs
6984 `(("ghc-conduit" ,ghc-conduit)
6985 ("ghc-conduit-extra" ,ghc-conduit-extra)
e30397dd 6986 ("ghc-doctest" ,ghc-doctest)
bfdfb0f6
RW
6987 ("ghc-resourcet" ,ghc-resourcet)
6988 ("ghc-text" ,ghc-text)
6989 ("ghc-xml-types" ,ghc-xml-types)
6990 ("ghc-attoparsec" ,ghc-attoparsec)
29a26386 6991 ("ghc-data-default-class" ,ghc-data-default-class)
bfdfb0f6
RW
6992 ("ghc-blaze-markup" ,ghc-blaze-markup)
6993 ("ghc-blaze-html" ,ghc-blaze-html)
bfdfb0f6
RW
6994 ("ghc-monad-control" ,ghc-monad-control)
6995 ("ghc-hspec" ,ghc-hspec)
6996 ("ghc-hunit" ,ghc-hunit)))
7bf837fd 6997 (home-page "https://github.com/snoyberg/xml")
bfdfb0f6
RW
6998 (synopsis "Utilities for dealing with XML with the conduit package")
6999 (description
7000 "This package provides pure-Haskell utilities for dealing with XML with
7001the @code{conduit} package.")
7002 (license license:expat)))
7003
eb0ff8a3
RW
7004(define-public ghc-pandoc-citeproc
7005 (package
7006 (name "ghc-pandoc-citeproc")
a235ea4f 7007 (version "0.14.3.1")
eb0ff8a3
RW
7008 (source
7009 (origin
7010 (method url-fetch)
7011 (uri (string-append "https://hackage.haskell.org/package/"
7012 "pandoc-citeproc/pandoc-citeproc-"
7013 version ".tar.gz"))
7014 (sha256
7015 (base32
a235ea4f 7016 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
eb0ff8a3
RW
7017 (build-system haskell-build-system)
7018 (arguments
7019 `(#:phases
7020 (modify-phases %standard-phases
7021 ;; Tests need to be run after installation.
7022 (delete 'check)
7023 (add-after 'install 'post-install-check
7024 (assoc-ref %standard-phases 'check)))))
7025 (inputs
f54f0475 7026 `(("ghc-pandoc-types" ,ghc-pandoc-types)
eb0ff8a3
RW
7027 ("ghc-pandoc" ,ghc-pandoc)
7028 ("ghc-tagsoup" ,ghc-tagsoup)
7029 ("ghc-aeson" ,ghc-aeson)
7030 ("ghc-text" ,ghc-text)
7031 ("ghc-vector" ,ghc-vector)
7032 ("ghc-xml-conduit" ,ghc-xml-conduit)
7033 ("ghc-unordered-containers" ,ghc-unordered-containers)
7034 ("ghc-data-default" ,ghc-data-default)
7035 ("ghc-setenv" ,ghc-setenv)
7036 ("ghc-split" ,ghc-split)
7037 ("ghc-yaml" ,ghc-yaml)
7038 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7039 ("ghc-rfc5051" ,ghc-rfc5051)
7040 ("ghc-syb" ,ghc-syb)
7041 ("ghc-parsec" ,ghc-parsec)
7042 ("ghc-old-locale" ,ghc-old-locale)
7043 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7044 ("ghc-attoparsec" ,ghc-attoparsec)
7045 ("ghc-temporary" ,ghc-temporary)))
7046 (home-page "https://github.com/jgm/pandoc-citeproc")
7047 (synopsis "Library for using pandoc with citeproc")
7048 (description
7049 "The @code{pandoc-citeproc} library exports functions for using the
7050citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7051rendering bibliographic reference citations into a variety of styles using a
7052macro language called @dfn{Citation Style Language} (CSL). This package also
7053contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7054and also has a mode for converting bibliographic databases a YAML format
7055suitable for inclusion in pandoc YAML metadata.")
7056 (license license:bsd-3)))
7057
8c6117ee
RW
7058(define-public ghc-pandoc-citeproc-with-pandoc-1
7059 (let ((for-pandoc-1
7060 (package-input-rewriting
7061 `((,ghc-aeson . ,ghc-aeson-for-pandoc-1)
7062 (,ghc-yaml . ,ghc-yaml-for-pandoc-1)
7063 (,ghc-texmath . ,ghc-texmath-for-pandoc-1)
7064 (,ghc-pandoc-types . ,ghc-pandoc-types-for-pandoc-1)
7065 (,ghc-hslua . ,ghc-hslua-for-pandoc-1)
7066 (,ghc-skylighting . ,ghc-skylighting-for-pandoc-1)
7067 (,ghc-doctemplates . ,ghc-doctemplates-for-pandoc-1)
7068 (,ghc-pandoc . ,ghc-pandoc-1)))))
7069 (for-pandoc-1 ghc-pandoc-citeproc)))
7070
abbf2623
LC
7071(define-public ghc-union-find
7072 (package
7073 (name "ghc-union-find")
7074 (version "0.2")
7075 (source (origin
7076 (method url-fetch)
7077 (uri (string-append
612fddec 7078 "https://hackage.haskell.org/package/union-find/union-find-"
abbf2623
LC
7079 version ".tar.gz"))
7080 (sha256
7081 (base32
7082 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
7083 (build-system haskell-build-system)
612fddec 7084 (home-page "https://github.com/nominolo/union-find")
abbf2623
LC
7085 (synopsis "Efficient union and equivalence testing of sets")
7086 (description
7087 "The Union/Find algorithm implements these operations in (effectively)
7088constant-time:
7089@enumerate
7090@item Check whether two elements are in the same equivalence class.
7091@item Create a union of two equivalence classes.
7092@item Look up the descriptor of the equivalence class.
7093@end enumerate\n")
7094 (license license:bsd-3)))
7095
cc5e16a7 7096(define-public ghc-base16-bytestring
7097 (package
7098 (name "ghc-base16-bytestring")
7099 (version "0.1.1.6")
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append
7104 "https://hackage.haskell.org/package/base16-bytestring/"
7105 "base16-bytestring-" version ".tar.gz"))
7106 (sha256
7107 (base32
7108 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
7109 (build-system haskell-build-system)
7bf837fd 7110 (home-page "https://github.com/bos/base16-bytestring")
cc5e16a7 7111 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
7112 (description
7113 "This package provides a Haskell library for working with base16-encoded
7114data quickly and efficiently, using the ByteString type.")
7115 (license license:bsd-3)))
7116
7c14128d 7117(define-public ghc-data-ordlist
7118 (package
7119 (name "ghc-data-ordlist")
7120 (version "0.4.7.0")
7121 (source
7122 (origin
7123 (method url-fetch)
7124 (uri (string-append
7125 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
7126 version ".tar.gz"))
7127 (sha256
7128 (base32
7129 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
7130 (build-system haskell-build-system)
98b90194 7131 (home-page "https://hackage.haskell.org/package/data-ordlist")
7c14128d 7132 (synopsis "Set and bag operations on ordered lists")
7133 (description
7134 "This module provides set and multiset operations on ordered lists.")
7135 (license license:bsd-3)))
7136
d58dc851 7137(define-public ghc-regex-applicative
7138 (package
7139 (name "ghc-regex-applicative")
7140 (version "0.3.3")
7141 (source
7142 (origin
7143 (method url-fetch)
7144 (uri (string-append
7145 "https://hackage.haskell.org/package/regex-applicative/"
7146 "regex-applicative-" version ".tar.gz"))
7147 (sha256
7148 (base32
7149 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
7150 (build-system haskell-build-system)
7151 (inputs
7152 `(("ghc-smallcheck" ,ghc-smallcheck)
7153 ("ghc-tasty" ,ghc-tasty)
7154 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
7155 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7156 (home-page "https://github.com/feuerbach/regex-applicative")
7157 (synopsis "Regex-based parsing with applicative interface")
7158 (description
7159 "@code{regex-applicative} is a Haskell library for parsing using
7160regular expressions. Parsers can be built using Applicative interface.")
7161 (license license:expat)))
7162
7e444dba 7163(define-public ghc-regex-tdfa
7164 (package
7165 (name "ghc-regex-tdfa")
3e6fe51f 7166 (version "1.2.3.1")
7e444dba 7167 (source
7168 (origin
7169 (method url-fetch)
7170 (uri (string-append
7171 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
7172 version ".tar.gz"))
7173 (sha256
7174 (base32
3e6fe51f 7175 "0l7ajnh4hpgggf2a1r9dg0hx2fy679vd2kada5y7r02hy3nfxala"))))
7e444dba 7176 (build-system haskell-build-system)
7177 (inputs
f54f0475 7178 `(("ghc-parsec" ,ghc-parsec)
7e444dba 7179 ("ghc-regex-base" ,ghc-regex-base)))
7180 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
7181 (synopsis "POSIX extended regular expressions in Haskell.")
7182 (description
7183 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
7184extended regular expressions. It is a \"tagged\" DFA regex engine. It is
7185inspired by libtre.")
7186 (license license:bsd-3)))
7187
fe3c62c7 7188(define-public ghc-regex-compat-tdfa
7189 (package
7190 (name "ghc-regex-compat-tdfa")
7191 (version "0.95.1.4")
7192 (source
7193 (origin
7194 (method url-fetch)
7195 (uri (string-append
7196 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
7197 version ".tar.gz"))
7198 (sha256
7199 (base32
7200 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
7201 (build-system haskell-build-system)
7202 (inputs
7203 `(("ghc-regex-base" ,ghc-regex-base)
7204 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
98b90194 7205 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
fe3c62c7 7206 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
7207 (description
7208 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
7209@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
7210This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
7211this problem.")
7212 (license license:bsd-3)))
7213
e9e519be 7214(define-public ghc-sandi
7215 (package
7216 (name "ghc-sandi")
66dbe158 7217 (version "0.4.2")
e9e519be 7218 (source
7219 (origin
7220 (method url-fetch)
7221 (uri (string-append
7222 "https://hackage.haskell.org/package/sandi/sandi-"
7223 version ".tar.gz"))
7224 (sha256
7225 (base32
66dbe158 7226 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
e9e519be 7227 (build-system haskell-build-system)
7228 (inputs
7229 `(("ghc-stringsearch" ,ghc-stringsearch)
7230 ("ghc-conduit" ,ghc-conduit)
7231 ("ghc-exceptions" ,ghc-exceptions)
7232 ("ghc-hunit" ,ghc-hunit)
7233 ("ghc-tasty" ,ghc-tasty)
7234 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7235 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7236 ("ghc-tasty-th" ,ghc-tasty-th)))
98b90194 7237 (home-page "https://hackage.haskell.org/package/sandi")
e9e519be 7238 (synopsis "Data encoding library")
7239 (description "Reasonably fast data encoding library.")
7240 (license license:bsd-3)))
7241
a71f8617 7242(define-public ghc-bytestring-handle
7243 (package
7244 (name "ghc-bytestring-handle")
39bcc932 7245 (version "0.1.0.6")
a71f8617 7246 (source
7247 (origin
7248 (method url-fetch)
7249 (uri (string-append
7250 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
7251 version ".tar.gz"))
7252 (sha256
7253 (base32
39bcc932 7254 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
a71f8617 7255 (build-system haskell-build-system)
5e4058ad
TS
7256 (arguments
7257 `(#:phases
7258 (modify-phases %standard-phases
7259 (add-before 'configure 'update-constraints
7260 (lambda _
7261 (substitute* "bytestring-handle.cabal"
7262 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
7263 "QuickCheck >= 2.1.2 && < 2.12")
7264 (("base >= 4\\.2 && < 4\\.11")
7265 "base >= 4.2 && < 4.12")))))))
a71f8617 7266 (inputs
6bfcb59d
TGR
7267 `(("ghc-hunit" ,ghc-hunit)
7268 ("ghc-quickcheck" ,ghc-quickcheck)
7269 ("ghc-test-framework" ,ghc-test-framework)
a71f8617 7270 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6bfcb59d 7271 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 7272 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
a71f8617 7273 (synopsis "ByteString-backed Handles")
7274 (description "ByteString-backed Handles") ; There is no description
7275 (license license:bsd-3)))
7276
f8270331 7277(define-public ghc-tar
7278 (package
7279 (name "ghc-tar")
221c3563 7280 (version "0.5.1.0")
f8270331 7281 (source
7282 (origin
7283 (method url-fetch)
7284 (uri (string-append
7285 "https://hackage.haskell.org/package/tar/tar-"
7286 version ".tar.gz"))
7287 (sha256
7288 (base32
221c3563 7289 "0s2brvaxg5fki2jdkccmnpssiy6a3wjh24p6a3dkkdvjcixnk7f8"))))
f8270331 7290 (build-system haskell-build-system)
f25c95d3
RW
7291 ;; FIXME: 2/24 tests fail.
7292 (arguments `(#:tests? #f))
f8270331 7293 (inputs
7294 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
7295 ("ghc-quickcheck" ,ghc-quickcheck)
7296 ("ghc-tasty" ,ghc-tasty)
473cd277 7297 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 7298 (home-page "https://hackage.haskell.org/package/tar")
f8270331 7299 (synopsis "Reading, writing and manipulating \".tar\" archive files")
7300 (description
7301 "This library is for working with \\\"@.tar@\\\" archive files.
7302It can read and write a range of common variations of the tar archive format
7303including V7, POSIX USTAR and GNU formats. It provides support for packing and
7304unpacking portable archives. This makes it suitable for distribution but not
7305backup because details like file ownership and exact permissions are not
7306preserved. It also provides features for random access to archive content using
7307an index.")
7308 (license license:bsd-3)))
7309
867ed977
AV
7310(define-public ghc-stmonadtrans
7311 (package
7312 (name "ghc-stmonadtrans")
7313 (version "0.4.3")
7314 (source
7315 (origin
7316 (method url-fetch)
7317 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
7318 "/STMonadTrans-" version ".tar.gz"))
7319 (sha256
7320 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
7321 (build-system haskell-build-system)
867ed977
AV
7322 (home-page "https://hackage.haskell.org/package/STMonadTrans")
7323 (synopsis "Monad transformer version of the ST monad")
7324 (description
7325 "This package provides a monad transformer version of the @code{ST} monad
7326for strict state threads.")
7327 (license license:bsd-3)))
7328
027b7976 7329(define-public ghc-findbin
7330 (package
7331 (name "ghc-findbin")
7332 (version "0.0.5")
7333 (source
7334 (origin
7335 (method url-fetch)
7336 (uri (string-append
7337 "https://hackage.haskell.org/package/FindBin/FindBin-"
7338 version ".tar.gz"))
7339 (sha256
7340 (base32
7341 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
7342 (build-system haskell-build-system)
7343 (home-page "https://github.com/audreyt/findbin")
7344 (synopsis "Get the absolute path of the running program")
7345 (description
7346 "This module locates the full directory of the running program, to allow
7347the use of paths relative to it. FindBin supports invocation of Haskell
7348programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
7349an executable.")
7350 (license license:bsd-3)))
7351
d52ca22a 7352(define-public ghc-patience
7353 (package
7354 (name "ghc-patience")
7355 (version "0.1.1")
7356 (source
7357 (origin
7358 (method url-fetch)
7359 (uri (string-append
7360 "https://hackage.haskell.org/package/patience/patience-"
7361 version ".tar.gz"))
7362 (sha256
7363 (base32
7364 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
7365 (build-system haskell-build-system)
98b90194 7366 (home-page "https://hackage.haskell.org/package/patience")
d52ca22a 7367 (synopsis "Patience diff and longest increasing subsequence")
7368 (description
7369 "This library implements the 'patience diff' algorithm, as well as the
7370patience algorithm for the longest increasing subsequence problem.
7371Patience diff computes the difference between two lists, for example the lines
7372of two versions of a source file. It provides a good balance between
7373performance, nice output for humans, and simplicity of implementation.")
7374 (license license:bsd-3)))
7375
41167bd2 7376(define-public ghc-monads-tf
7377 (package
7378 (name "ghc-monads-tf")
7379 (version "0.1.0.3")
7380 (source
7381 (origin
7382 (method url-fetch)
7383 (uri (string-append
7384 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7385 version ".tar.gz"))
7386 (sha256
7387 (base32
7388 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7389 (build-system haskell-build-system)
98b90194 7390 (home-page "https://hackage.haskell.org/package/monads-tf")
41167bd2 7391 (synopsis "Monad classes, using type families")
7392 (description
7393 "Monad classes using type families, with instances for various monad transformers,
7394inspired by the paper 'Functional Programming with Overloading and Higher-Order
7395Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7396the @code{mtl-tf} package.")
7397 (license license:bsd-3)))
7398
e1a56bb2 7399(define-public ghc-colour
7400(package
7401 (name "ghc-colour")
d05d03dd 7402 (version "2.3.4")
e1a56bb2 7403 (source
7404 (origin
7405 (method url-fetch)
7406 (uri (string-append
7407 "https://hackage.haskell.org/package/colour/colour-"
7408 version ".tar.gz"))
7409 (sha256
7410 (base32
d05d03dd
TS
7411 "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg"))))
7412 (arguments
7413 ;; The tests for this package have the following dependency cycle:
7414 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
7415 `(#:tests? #f))
e1a56bb2 7416 (build-system haskell-build-system)
98b90194 7417 (home-page "https://www.haskell.org/haskellwiki/Colour")
e1a56bb2 7418 (synopsis "Model for human colour perception")
7419 (description
7420 "This package provides a data type for colours and transparency.
7421Colours can be blended and composed. Various colour spaces are
7422supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7423 (license license:expat)))
7424
6e0741f7 7425(define-public ghc-wl-pprint-text
7426 (package
7427 (name "ghc-wl-pprint-text")
e173a95f 7428 (version "1.2.0.0")
6e0741f7 7429 (source
7430 (origin
7431 (method url-fetch)
7432 (uri (string-append
7433 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7434 version ".tar.gz"))
7435 (sha256
7436 (base32
e173a95f 7437 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
6e0741f7 7438 (build-system haskell-build-system)
7439 (inputs
e173a95f
AI
7440 `(("ghc-base-compat" ,ghc-base-compat)
7441 ("ghc-text" ,ghc-text)))
98b90194 7442 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
6e0741f7 7443 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7444 (description
7445 "A clone of wl-pprint for use with the text library.")
7446 (license license:bsd-3)))
7447
d4cca6b0 7448(define-public ghc-fgl-arbitrary
7449 (package
7450 (name "ghc-fgl-arbitrary")
d4fd8ee4 7451 (version "0.2.0.3")
d4cca6b0 7452 (source
7453 (origin
7454 (method url-fetch)
7455 (uri (string-append
7456 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7457 version ".tar.gz"))
7458 (sha256
7459 (base32
d4fd8ee4 7460 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
d4cca6b0 7461 (build-system haskell-build-system)
54afb52e 7462 (arguments
11afd13d
TS
7463 `(#:phases
7464 (modify-phases %standard-phases
7465 (add-before 'configure 'update-constraints
7466 (lambda _
7467 (substitute* "fgl-arbitrary.cabal"
7468 (("QuickCheck >= 2\\.3 && < 2\\.10")
7469 "QuickCheck >= 2.3 && < 2.12")
7470 (("hspec >= 2\\.1 && < 2\\.5")
7471 "hspec >= 2.1 && < 2.6")))))))
d4cca6b0 7472 (inputs
7473 `(("ghc-fgl" ,ghc-fgl)
7474 ("ghc-quickcheck" ,ghc-quickcheck)
7475 ("ghc-hspec" ,ghc-hspec)))
98b90194 7476 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
d4cca6b0 7477 (synopsis "QuickCheck support for fgl")
7478 (description
7479 "Provides Arbitrary instances for fgl graphs to avoid adding a
7480QuickCheck dependency for fgl whilst still making the instances
7481available to others. Also available are non-fgl-specific functions
7482for generating graph-like data structures.")
7483 (license license:bsd-3)))
7484
3db88277 7485(define-public ghc-graphviz
7486 (package
7487 (name "ghc-graphviz")
f797a0e9 7488 (version "2999.20.0.2")
3db88277 7489 (source (origin
7490 (method url-fetch)
7491 (uri (string-append "https://hackage.haskell.org/package/"
7492 "graphviz/graphviz-" version ".tar.gz"))
7493 (sha256
7494 (base32
f797a0e9 7495 "0kj7ap0gnliviq2p8lscw1m06capnsa90vpvcys24nqy5nw2wrp7"))))
3db88277 7496 (build-system haskell-build-system)
7497 (inputs
7498 `(("ghc-quickcheck" ,ghc-quickcheck)
7499 ("ghc-colour" ,ghc-colour)
7500 ("ghc-dlist" ,ghc-dlist)
7501 ("ghc-fgl" ,ghc-fgl)
7502 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7503 ("ghc-polyparse" ,ghc-polyparse)
7504 ("ghc-temporary" ,ghc-temporary)
7505 ("ghc-text" ,ghc-text)
7506 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
f797a0e9
AI
7507 (native-inputs
7508 `(("ghc-hspec" ,ghc-hspec)
7509 ("graphviz" ,graphviz)
7510 ("hspec-discover" ,hspec-discover)))
3db88277 7511 (home-page "https://hackage.haskell.org/package/graphviz")
7512 (synopsis "Bindings to Graphviz for graph visualisation")
7513 (description
7514 "This library provides bindings for the Dot language used by
98b90194 7515the @uref{https://graphviz.org/, Graphviz} suite of programs for
3db88277 7516visualising graphs, as well as functions to call those programs.
7517Main features of the graphviz library include:
7518
7519@enumerate
7520@item Almost complete coverage of all Graphviz attributes and syntax
7521@item Support for specifying clusters
7522@item The ability to use a custom node type
7523@item Functions for running a Graphviz layout tool with all specified output types
7524@item Generate and parse Dot code with two options: strict and liberal
7525@item Functions to convert FGL graphs and other graph-like data structures
7526@item Round-trip support for passing an FGL graph through Graphviz to augment node
7527and edge labels with positional information, etc.
7528@end enumerate\n")
7529 (license license:bsd-3)))
7530
6aab9ba6 7531(define-public ghc-constraints
7532 (package
7533 (name "ghc-constraints")
3ff7232a 7534 (version "0.10.1")
6aab9ba6 7535 (source
7536 (origin
7537 (method url-fetch)
7538 (uri (string-append
7539 "https://hackage.haskell.org/package/constraints/constraints-"
7540 version ".tar.gz"))
7541 (sha256
7542 (base32
3ff7232a 7543 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
6aab9ba6 7544 (build-system haskell-build-system)
7545 (inputs
7546 `(("ghc-hashable" ,ghc-hashable)
3ff7232a 7547 ("ghc-semigroups" ,ghc-semigroups)
6aab9ba6 7548 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3ff7232a
TS
7549 (native-inputs
7550 `(("ghc-hspec" ,ghc-hspec)
7551 ("hspec-discover" ,hspec-discover)))
7bf837fd 7552 (home-page "https://github.com/ekmett/constraints/")
6aab9ba6 7553 (synopsis "Constraint manipulation")
7554 (description
7555 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7556They stopped crashing the compiler in GHC 7.6. This package provides
7557a vocabulary for working with them.")
7558 (license license:bsd-3)))
7559
2b41f4af 7560(define-public ghc-lifted-async
7561 (package
7562 (name "ghc-lifted-async")
a57c91a1 7563 (version "0.10.0.2")
2b41f4af 7564 (source
7565 (origin
7566 (method url-fetch)
7567 (uri (string-append
7568 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7569 version ".tar.gz"))
7570 (sha256
7571 (base32
a57c91a1 7572 "1073r512c1x2m1v0jar9bwqg656slg7jd1jhsyj6m8awgx1l1mwf"))))
2b41f4af 7573 (build-system haskell-build-system)
7574 (inputs
7575 `(("ghc-async" ,ghc-async)
7576 ("ghc-lifted-base" ,ghc-lifted-base)
7577 ("ghc-transformers-base" ,ghc-transformers-base)
7578 ("ghc-monad-control" ,ghc-monad-control)
7579 ("ghc-constraints" ,ghc-constraints)
7580 ("ghc-hunit" ,ghc-hunit)
2b41f4af 7581 ("ghc-tasty" ,ghc-tasty)
a57c91a1 7582 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
2b41f4af 7583 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7584 ("ghc-tasty-th" ,ghc-tasty-th)))
7585 (home-page "https://github.com/maoe/lifted-async")
7586 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7587 (description
7588 "This package provides IO operations from @code{async} package lifted to any
7589instance of @code{MonadBase} or @code{MonadBaseControl}.")
7590 (license license:bsd-3)))
7591
ddd5955b 7592;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7593;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7594;; which depends on ghc-chell and ghc-chell-quickcheck.
7595;; Therefore we bootstrap it with tests disabled.
7596(define ghc-system-filepath-bootstrap
7597 (package
7598 (name "ghc-system-filepath-bootstrap")
343c2398 7599 (version "0.4.14")
ddd5955b 7600 (source
7601 (origin
7602 (method url-fetch)
7603 (uri (string-append
7604 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7605 version ".tar.gz"))
7606 (sha256
7607 (base32
343c2398 7608 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
ddd5955b 7609 (build-system haskell-build-system)
7610 (arguments
7611 `(#:tests? #f))
7612 (inputs
7613 `(("ghc-text" ,ghc-text)
7614 ("ghc-quickcheck" ,ghc-quickcheck)))
7615 (home-page "https://github.com/fpco/haskell-filesystem")
7616 (synopsis "High-level, byte-based file and directory path manipulations")
7617 (description
7618 "Provides a FilePath datatype and utility functions for operating on it.
7619Unlike the filepath package, this package does not simply reuse String,
7620increasing type safety.")
7621 (license license:expat)))
7622
3f7aa102 7623;; See ghc-system-filepath-bootstrap. In addition this package depends on
7624;; ghc-system-filepath.
7625(define ghc-system-fileio-bootstrap
7626 (package
7627 (name "ghc-system-fileio-bootstrap")
7628 (version "0.3.16.3")
7629 (source
7630 (origin
7631 (method url-fetch)
7632 (uri (string-append
7633 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7634 version ".tar.gz"))
7635 (sha256
7636 (base32
7637 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7638 (build-system haskell-build-system)
7639 (arguments
7640 `(#:tests? #f))
7641 (inputs
7642 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7643 ("ghc-text" ,ghc-text)
7644 ("ghc-temporary" ,ghc-temporary)))
7645 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7646 (synopsis "Consistent file system interaction across GHC versions")
3f7aa102 7647 (description
7648 "This is a small wrapper around the directory, unix, and Win32 packages,
7649for use with system-filepath. It provides a consistent API to the various
7650versions of these packages distributed with different versions of GHC.
7651In particular, this library supports working with POSIX files that have paths
7652which can't be decoded in the current locale encoding.")
7653 (license license:expat)))
7654
25b3bdb5 7655(define-public ghc-shelly
7656 (package
7657 (name "ghc-shelly")
c4348ca7 7658 (version "1.8.1")
25b3bdb5 7659 (source
7660 (origin
7661 (method url-fetch)
7662 (uri (string-append
7663 "https://hackage.haskell.org/package/shelly/shelly-"
7664 version ".tar.gz"))
7665 (sha256
7666 (base32
c4348ca7 7667 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
25b3bdb5 7668 (build-system haskell-build-system)
7669 (inputs
f54f0475 7670 `(("ghc-unix-compat" ,ghc-unix-compat)
25b3bdb5 7671 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7672 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7673 ("ghc-monad-control" ,ghc-monad-control)
7674 ("ghc-lifted-base" ,ghc-lifted-base)
7675 ("ghc-lifted-async" ,ghc-lifted-async)
7676 ("ghc-exceptions" ,ghc-exceptions)
7677 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7678 ("ghc-text" ,ghc-text)
7679 ("ghc-async" ,ghc-async)
7680 ("ghc-transformers-base" ,ghc-transformers-base)
7681 ("ghc-hunit" ,ghc-hunit)
c4348ca7
AI
7682 ("ghc-hspec" ,ghc-hspec)
7683 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
25b3bdb5 7684 (home-page "https://github.com/yesodweb/Shelly.hs")
7685 (synopsis "Shell-like (systems) programming in Haskell")
7686 (description
7687 "Shelly provides convenient systems programming in Haskell, similar in
7688spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7689 (license license:bsd-3)))
7690
7e06c4aa 7691;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7692(define ghc-options-bootstrap
7693 (package
7694 (name "ghc-options-bootstrap")
7695 (version "1.2.1.1")
7696 (source
7697 (origin
7698 (method url-fetch)
7699 (uri (string-append
7700 "https://hackage.haskell.org/package/options/options-"
7701 version ".tar.gz"))
7702 (sha256
7703 (base32
7704 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7705 (build-system haskell-build-system)
7706 (arguments
7707 `(#:tests? #f))
7708 (inputs
7709 `(("ghc-monads-tf" ,ghc-monads-tf)))
7710 (home-page "https://john-millikin.com/software/haskell-options/")
7711 (synopsis "Powerful and easy-to-use command-line option parser")
7712 (description
7713 "The @code{options} package lets library and application developers
7714easily work with command-line options.")
7715 (license license:expat)))
7716
8ea94489 7717(define-public ghc-chell
7718 (package
7719 (name "ghc-chell")
6a9730a0 7720 (version "0.4.0.2")
8ea94489 7721 (source
7722 (origin
7723 (method url-fetch)
7724 (uri (string-append
7725 "https://hackage.haskell.org/package/chell/chell-"
7726 version ".tar.gz"))
7727 (sha256
7728 (base32
6a9730a0 7729 "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9"))))
8ea94489 7730 (build-system haskell-build-system)
7731 (inputs
7732 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7733 ("ghc-patience" ,ghc-patience)
7734 ("ghc-random" ,ghc-random)
7735 ("ghc-text" ,ghc-text)
7736 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7737 (home-page "https://john-millikin.com/software/chell/")
7738 (synopsis "Simple and intuitive library for automated testing")
7739 (description
7740 "Chell is a simple and intuitive library for automated testing.
7741It natively supports assertion-based testing, and can use companion
7742libraries such as @code{chell-quickcheck} to support more complex
7743testing strategies.")
7744 (license license:expat)))
7745
475d3668 7746(define ghc-chell-quickcheck-bootstrap
7747 (package
7748 (name "ghc-chell-quickcheck-bootstrap")
a9717a52 7749 (version "0.2.5.1")
475d3668 7750 (source
7751 (origin
7752 (method url-fetch)
7753 (uri (string-append
a9717a52
TGR
7754 "https://hackage.haskell.org/package/chell-quickcheck/"
7755 "chell-quickcheck-" version ".tar.gz"))
475d3668 7756 (sha256
7757 (base32
a9717a52 7758 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
475d3668 7759 (build-system haskell-build-system)
7760 (inputs
7761 `(("ghc-chell" ,ghc-chell)
7762 ("ghc-random" ,ghc-random)
7763 ("ghc-quickcheck" ,ghc-quickcheck)))
7764 (arguments
4a3f50e3
TS
7765 `(#:tests? #f
7766 #:phases
7767 (modify-phases %standard-phases
7768 (add-before 'configure 'update-constraints
7769 (lambda _
7770 (substitute* "chell-quickcheck.cabal"
7771 (("QuickCheck >= 2\\.3 && < 2\\.11")
7772 "QuickCheck >= 2.3 && < 2.12")))))))
475d3668 7773 (home-page "https://john-millikin.com/software/chell/")
7774 (synopsis "QuickCheck support for the Chell testing library")
7775 (description "More complex tests for @code{chell}.")
7776 (license license:expat)))
7777
c92d944c 7778(define-public ghc-chell-quickcheck
7779 (package
7780 (name "ghc-chell-quickcheck")
a9717a52 7781 (version "0.2.5.1")
c92d944c 7782 (source
7783 (origin
7784 (method url-fetch)
7785 (uri (string-append
a9717a52
TGR
7786 "https://hackage.haskell.org/package/chell-quickcheck/"
7787 "chell-quickcheck-" version ".tar.gz"))
c92d944c 7788 (sha256
7789 (base32
a9717a52 7790 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
c92d944c 7791 (build-system haskell-build-system)
4a3f50e3
TS
7792 (arguments
7793 `(#:phases
7794 (modify-phases %standard-phases
7795 (add-before 'configure 'update-constraints
7796 (lambda _
7797 (substitute* "chell-quickcheck.cabal"
7798 (("QuickCheck >= 2\\.3 && < 2\\.11")
7799 "QuickCheck >= 2.3 && < 2.12")))))))
c92d944c 7800 (inputs
7801 `(("ghc-chell" ,ghc-chell)
7802 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7803 ("ghc-random" ,ghc-random)
7804 ("ghc-quickcheck" ,ghc-quickcheck)))
7805 (home-page "https://john-millikin.com/software/chell/")
7806 (synopsis "QuickCheck support for the Chell testing library")
7807 (description "More complex tests for @code{chell}.")
7808 (license license:expat)))
7809
58c85b1f 7810(define-public ghc-options
7811 (package
7812 (name "ghc-options")
7813 (version "1.2.1.1")
7814 (source
7815 (origin
7816 (method url-fetch)
7817 (uri (string-append
7818 "https://hackage.haskell.org/package/options/options-"
7819 version ".tar.gz"))
7820 (sha256
7821 (base32
7822 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7823 (build-system haskell-build-system)
7824 (inputs
7825 `(("ghc-monads-tf" ,ghc-monads-tf)
7826 ("ghc-chell" ,ghc-chell)
7827 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7828 (home-page "https://john-millikin.com/software/haskell-options/")
7829 (synopsis "Powerful and easy-to-use command-line option parser")
7830 (description
7831 "The @code{options} package lets library and application developers
7832easily work with command-line options.")
7833 (license license:expat)))
7834
23feb6e4 7835(define-public ghc-system-filepath
7836 (package
7837 (name "ghc-system-filepath")
1b58d289 7838 (version "0.4.14")
23feb6e4 7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append
7843 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7844 version ".tar.gz"))
7845 (sha256
7846 (base32
1b58d289 7847 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
23feb6e4 7848 (build-system haskell-build-system)
1b58d289
RW
7849 ;; FIXME: One of the tests fails:
7850 ;; [ FAIL ] tests.validity.posix
7851 ;; note: seed=7310214548328823169
7852 ;; *** Failed! Falsifiable (after 24 tests):
7853 ;; 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"
7854 (arguments `(#:tests? #f))
23feb6e4 7855 (inputs
7856 `(("ghc-text" ,ghc-text)
7857 ("ghc-chell" ,ghc-chell)
7858 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7859 ("ghc-quickcheck" ,ghc-quickcheck)))
7860 (home-page "https://github.com/fpco/haskell-filesystem")
7861 (synopsis "High-level, byte-based file and directory path manipulations")
7862 (description
7863 "Provides a FilePath datatype and utility functions for operating on it.
7864Unlike the filepath package, this package does not simply reuse String,
7865increasing type safety.")
7866 (license license:expat)))
7867
10a03d66 7868(define-public ghc-system-fileio
7869 (package
7870 (name "ghc-system-fileio")
7871 (version "0.3.16.3")
7872 (source
7873 (origin
7874 (method url-fetch)
7875 (uri (string-append
7876 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7877 version ".tar.gz"))
7878 (sha256
7879 (base32
7880 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7881 (build-system haskell-build-system)
7882 (inputs
7883 `(("ghc-system-filepath" ,ghc-system-filepath)
7884 ("ghc-text" ,ghc-text)
7885 ("ghc-chell" ,ghc-chell)
7886 ("ghc-temporary" ,ghc-temporary)))
7887 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7888 (synopsis "Consistent file system interaction across GHC versions")
10a03d66 7889 (description
7890 "This is a small wrapper around the directory, unix, and Win32 packages,
7891for use with system-filepath. It provides a consistent API to the various
7892versions of these packages distributed with different versions of GHC.
7893In particular, this library supports working with POSIX files that have paths
7894which can't be decoded in the current locale encoding.")
7895 (license license:expat)))
725dddd7
FB
7896
7897(define-public ghc-storable-complex
7898 (package
7899 (name "ghc-storable-complex")
7900 (version "0.2.2")
7901 (source
7902 (origin
7903 (method url-fetch)
7904 (uri (string-append
98b90194 7905 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
725dddd7
FB
7906 version ".tar.gz"))
7907 (sha256
7908 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7909 (build-system haskell-build-system)
7910 (home-page "https://github.com/cartazio/storable-complex")
7911 (synopsis "Haskell Storable instance for Complex")
7912 (description "This package provides a Haskell library including a
7913Storable instance for Complex which is binary compatible with C99, C++
7914and Fortran complex data types.")
7915 (license license:bsd-3)))
7916
95595618
FB
7917(define-public ghc-hmatrix
7918 (package
7919 (name "ghc-hmatrix")
c839da85 7920 (version "0.19.0.0")
95595618
FB
7921 (source
7922 (origin
7923 (method url-fetch)
7924 (uri (string-append
98b90194 7925 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
95595618
FB
7926 version ".tar.gz"))
7927 (sha256
c839da85 7928 (base32 "10jd69nby29dggghcyjk6ykyr5wrn97nrv1dkpyrp0y5xm12xssj"))))
95595618
FB
7929 (build-system haskell-build-system)
7930 (inputs
7931 `(("ghc-random" ,ghc-random)
7932 ("ghc-split" ,ghc-split)
7933 ("ghc-storable-complex" ,ghc-storable-complex)
c839da85 7934 ("ghc-semigroups" ,ghc-semigroups)
95595618
FB
7935 ("ghc-vector" ,ghc-vector)
7936 ;;("openblas" ,openblas)
7937 ("lapack" ,lapack)))
7938 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7939 ;; disables inclusion of the LAPACK functions.
7940 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7941 (home-page "https://github.com/albertoruiz/hmatrix")
7942 (synopsis "Haskell numeric linear algebra library")
7943 (description "The HMatrix package provices a Haskell library for
7944dealing with linear systems, matrix decompositions, and other
7945numerical computations based on BLAS and LAPACK.")
7946 (license license:bsd-3)))
7947
932104ab
FB
7948(define-public ghc-hmatrix-gsl
7949 (package
7950 (name "ghc-hmatrix-gsl")
3c00bc13 7951 (version "0.19.0.1")
932104ab
FB
7952 (source
7953 (origin
7954 (method url-fetch)
7955 (uri (string-append
98b90194 7956 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
932104ab
FB
7957 version ".tar.gz"))
7958 (sha256
3c00bc13 7959 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
932104ab
FB
7960 (build-system haskell-build-system)
7961 (inputs
7962 `(("ghc-hmatrix" ,ghc-hmatrix)
7963 ("ghc-vector" ,ghc-vector)
7964 ("ghc-random" ,ghc-random)
7965 ("gsl" ,gsl)))
7966 (native-inputs `(("pkg-config" ,pkg-config)))
7967 (home-page "https://github.com/albertoruiz/hmatrix")
7968 (synopsis "Haskell GSL binding")
7969 (description "This Haskell library provides a purely functional
7970interface to selected numerical computations, internally implemented
7971using GSL.")
7972 (license license:gpl3+)))
7973
271a5365
FB
7974(define-public ghc-hmatrix-special
7975 (package
7976 (name "ghc-hmatrix-special")
722d3bd8 7977 (version "0.19.0.0")
271a5365
FB
7978 (source
7979 (origin
7980 (method url-fetch)
7981 (uri
7982 (string-append
98b90194 7983 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
271a5365
FB
7984 version ".tar.gz"))
7985 (sha256
722d3bd8 7986 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
271a5365
FB
7987 (build-system haskell-build-system)
7988 (inputs
7989 `(("ghc-hmatrix" ,ghc-hmatrix)
7990 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7991 (home-page "https://github.com/albertoruiz/hmatrix")
7992 (synopsis "Haskell interface to GSL special functions")
7993 (description "This library provides an interface to GSL special
7994functions for Haskell.")
7995 (license license:gpl3+)))
7996
4225c711
FB
7997(define-public ghc-hmatrix-gsl-stats
7998 (package
7999 (name "ghc-hmatrix-gsl-stats")
26d6539b 8000 (version "0.4.1.7")
4225c711
FB
8001 (source
8002 (origin
8003 (method url-fetch)
8004 (uri
8005 (string-append
98b90194 8006 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4225c711
FB
8007 version ".tar.gz"))
8008 (sha256
26d6539b 8009 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4225c711
FB
8010 (build-system haskell-build-system)
8011 (inputs
8012 `(("ghc-vector" ,ghc-vector)
8013 ("ghc-storable-complex" ,ghc-storable-complex)
8014 ("ghc-hmatrix" ,ghc-hmatrix)
8015 ("gsl" ,gsl)))
8016 (native-inputs `(("pkg-config" ,pkg-config)))
8017 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
8018 (synopsis "GSL Statistics interface for Haskell")
8019 (description "This Haskell library provides a purely functional
8020interface for statistics based on hmatrix and GSL.")
8021 (license license:bsd-3)))
8022
db61a009
FB
8023(define-public ghc-easyplot
8024 (package
8025 (name "ghc-easyplot")
8026 (version "1.0")
8027 (source
8028 (origin
8029 (method url-fetch)
8030 (uri (string-append
98b90194 8031 "https://hackage.haskell.org/package/easyplot/easyplot-"
db61a009
FB
8032 version ".tar.gz"))
8033 (sha256
8034 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
8035 (build-system haskell-build-system)
8036 (propagated-inputs `(("gnuplot" ,gnuplot)))
8037 (arguments
8038 `(#:phases (modify-phases %standard-phases
8039 (add-after 'unpack 'fix-setup-suffix
8040 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
98b90194 8041 (home-page "https://hub.darcs.net/scravy/easyplot")
db61a009
FB
8042 (synopsis "Haskell plotting library based on gnuplot")
8043 (description "This package provides a plotting library for
8044Haskell, using gnuplot for rendering.")
8045 (license license:expat)))
8046
1bd00f17
FB
8047(define-public ghc-hashtables
8048 (package
8049 (name "ghc-hashtables")
fef71dbc 8050 (version "1.2.3.1")
1bd00f17
FB
8051 (source
8052 (origin
8053 (method url-fetch)
8054 (uri (string-append
98b90194 8055 "https://hackage.haskell.org/package/hashtables/hashtables-"
1bd00f17
FB
8056 version ".tar.gz"))
8057 (sha256
fef71dbc 8058 (base32 "1giw9caajr07slf09j7zry9b0kvm4yj9q78zy1mawzi6gk3wglcg"))))
1bd00f17
FB
8059 (build-system haskell-build-system)
8060 (inputs
8061 `(("ghc-hashable" ,ghc-hashable)
8062 ("ghc-primitive" ,ghc-primitive)
8063 ("ghc-vector" ,ghc-vector)))
7bf837fd 8064 (home-page "https://github.com/gregorycollins/hashtables")
1bd00f17
FB
8065 (synopsis "Haskell Mutable hash tables in the ST monad")
8066 (description "This package provides a Haskell library including a
8067couple of different implementations of mutable hash tables in the ST
8068monad, as well as a typeclass abstracting their common operations, and
8069a set of wrappers to use the hash tables in the IO monad.")
8070 (license license:bsd-3)))
8071
505e0150
FB
8072(define-public ghc-data-accessor
8073 (package
8074 (name "ghc-data-accessor")
8075 (version "0.2.2.7")
8076 (source
8077 (origin
8078 (method url-fetch)
8079 (uri (string-append
6846f084 8080 "mirror://hackage/package/data-accessor/data-accessor-"
505e0150
FB
8081 version ".tar.gz"))
8082 (sha256
8083 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
8084 (build-system haskell-build-system)
98b90194 8085 (home-page "https://www.haskell.org/haskellwiki/Record_access")
505e0150
FB
8086 (synopsis
8087 "Haskell utilities for accessing and manipulating fields of records")
8088 (description "This package provides Haskell modules for accessing and
8089manipulating fields of records.")
8090 (license license:bsd-3)))
8091
81a11919
FB
8092(define-public ghc-data-accessor-transformers
8093 (package
8094 (name "ghc-data-accessor-transformers")
8095 (version "0.2.1.7")
8096 (source
8097 (origin
8098 (method url-fetch)
8099 (uri (string-append
6846f084
EF
8100 "mirror://hackage/package/data-accessor-transformers/"
8101 "data-accessor-transformers-" version ".tar.gz"))
81a11919
FB
8102 (sha256
8103 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
8104 (build-system haskell-build-system)
8105 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
98b90194 8106 (home-page "https://www.haskell.org/haskellwiki/Record_access")
81a11919
FB
8107 (synopsis "Use Accessor to access state in transformers State monad")
8108 (description "This package provides Haskell modules to allow use of
8109Accessor to access state in transformers State monad.")
8110 (license license:bsd-3)))
8111
a5cbef03
FB
8112(define-public ghc-utility-ht
8113 (package
8114 (name "ghc-utility-ht")
9e3e6ee0 8115 (version "0.0.14")
a5cbef03
FB
8116 (home-page "https://hackage.haskell.org/package/utility-ht")
8117 (source
8118 (origin
8119 (method url-fetch)
8120 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
8121 (sha256
9e3e6ee0 8122 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
a5cbef03
FB
8123 (build-system haskell-build-system)
8124 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
8125 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
8126 (description "This package includes Hakell modules providing various
8127helper functions for Lists, Maybes, Tuples, Functions.")
8128 (license license:bsd-3)))
8129
1a86b671
FB
8130(define-public ghc-gnuplot
8131 (package
8132 (name "ghc-gnuplot")
f9f2877d 8133 (version "0.5.5.2")
1a86b671
FB
8134 (source
8135 (origin
8136 (method url-fetch)
8137 (uri (string-append
6846f084 8138 "mirror://hackage/package/gnuplot/gnuplot-"
1a86b671
FB
8139 version ".tar.gz"))
8140 (sha256
f9f2877d 8141 (base32 "1mlppnc13ygjzmf6ldydys4wvy35yb3xjwwfgf9rbi7nfcqjr6mn"))))
1a86b671
FB
8142 (build-system haskell-build-system)
8143 (inputs
8144 `(("ghc-temporary" ,ghc-temporary)
8145 ("ghc-utility-ht" ,ghc-utility-ht)
8146 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
8147 ("ghc-data-accessor" ,ghc-data-accessor)
8148 ("gnuplot" ,gnuplot)))
8149 (arguments
8150 `(#:phases
8151 (modify-phases %standard-phases
8152 (add-before 'configure 'fix-path-to-gnuplot
8153 (lambda* (#:key inputs #:allow-other-keys)
8154 (let ((gnuplot (assoc-ref inputs "gnuplot")))
8155 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
8156 (("(gnuplotName = ).*$" all cmd)
8157 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
98b90194 8158 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
1a86b671
FB
8159 (synopsis "2D and 3D plots using gnuplot")
8160 (description "This package provides a Haskell module for creating 2D and
81613D plots using gnuplot.")
8162 (license license:bsd-3)))
8163
f63981de
DC
8164(define-public ghc-hinotify
8165 (package
8166 (name "ghc-hinotify")
e59983ec 8167 (version "0.3.10")
f63981de
DC
8168 (source (origin
8169 (method url-fetch)
8170 (uri (string-append
8171 "https://hackage.haskell.org/package/hinotify/"
8172 "hinotify-" version ".tar.gz"))
8173 (sha256
8174 (base32
e59983ec 8175 "17ax3n68a5c2ddazp86aciliskrh6znd3bnry0wcllmb6dbpsaxg"))))
f63981de 8176 (build-system haskell-build-system)
e59983ec
TS
8177 (inputs
8178 `(("ghc-async" ,ghc-async)))
f63981de
DC
8179 (home-page "https://github.com/kolmodin/hinotify.git")
8180 (synopsis "Haskell binding to inotify")
8181 (description "This library provides a wrapper to the Linux kernel's inotify
8182feature, allowing applications to subscribe to notifications when a file is
8183accessed or modified.")
8184 (license license:bsd-3)))
8185
b7f96285
DC
8186(define-public ghc-fsnotify
8187 (package
8188 (name "ghc-fsnotify")
b5875189 8189 (version "0.3.0.1")
b7f96285
DC
8190 (source (origin
8191 (method url-fetch)
8192 (uri (string-append
8193 "https://hackage.haskell.org/package/fsnotify/"
8194 "fsnotify-" version ".tar.gz"))
8195 (sha256
8196 (base32
b5875189 8197 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
b7f96285
DC
8198 (build-system haskell-build-system)
8199 (inputs
8200 `(("ghc-text" ,ghc-text)
8201 ("ghc-async" ,ghc-async)
8202 ("ghc-unix-compat" ,ghc-unix-compat)
8203 ("ghc-hinotify" ,ghc-hinotify)
8204 ("ghc-tasty" ,ghc-tasty)
8205 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
b5875189
TS
8206 ("ghc-random" ,ghc-random)
8207 ("ghc-shelly" ,ghc-shelly)
8208 ("ghc-temporary" ,ghc-temporary)))
b7f96285
DC
8209 (home-page "https://github.com/haskell-fswatch/hfsnotify")
8210 (synopsis "Cross platform library for file change notification.")
8211 (description "Cross platform library for file creation, modification, and
8212deletion notification. This library builds upon existing libraries for platform
162a1374 8213specific Windows, Mac, and Linux file system event notification.")
b7f96285
DC
8214 (license license:bsd-3)))
8215
5e6cafe1
DC
8216(define-public ghc-ieee754
8217 (package
8218 (name "ghc-ieee754")
99596250 8219 (version "0.8.0")
5e6cafe1
DC
8220 (source (origin
8221 (method url-fetch)
8222 (uri (string-append
8223 "https://hackage.haskell.org/package/ieee754/"
8224 "ieee754-" version ".tar.gz"))
8225 (sha256
8226 (base32
99596250 8227 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5e6cafe1 8228 (build-system haskell-build-system)
7bf837fd 8229 (home-page "https://github.com/patperry/hs-ieee754")
5e6cafe1
DC
8230 (synopsis "Utilities for dealing with IEEE floating point numbers")
8231 (description "Utilities for dealing with IEEE floating point numbers,
8232ported from the Tango math library; approximate and exact equality comparisons
8233for general types.")
8234 (license license:bsd-3)))
8235
4e05c326
DC
8236(define-public ghc-terminal-size
8237 (package
8238 (name "ghc-terminal-size")
8239 (version "0.3.2.1")
8240 (source (origin
8241 (method url-fetch)
8242 (uri (string-append
8243 "https://hackage.haskell.org/package/terminal-size/"
8244 "terminal-size-" version ".tar.gz"))
8245 (sha256
8246 (base32
8247 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
8248 (build-system haskell-build-system)
98b90194 8249 (home-page "https://hackage.haskell.org/package/terminal-size")
4e05c326
DC
8250 (synopsis "Get terminal window height and width")
8251 (description "Get terminal window height and width without ncurses
8252dependency.")
8253 (license license:bsd-3)))
8254
2d2388e2
DM
8255(define-public ghc-language-c
8256 (package
de793e9a 8257 (name "ghc-language-c")
19b29882 8258 (version "0.8.1")
de793e9a 8259 (source
2d2388e2
DM
8260 (origin
8261 (method url-fetch)
de793e9a
RW
8262 (uri (string-append "https://hackage.haskell.org/package/"
8263 "language-c/language-c-" version ".tar.gz"))
2d2388e2 8264 (sha256
de793e9a 8265 (base32
19b29882 8266 "0sdkjj0hq8p69fcdm6ljbjkjvrsrb8a6rl5dq6dj6byj32ajrm3d"))))
de793e9a
RW
8267 (build-system haskell-build-system)
8268 (inputs `(("ghc-syb" ,ghc-syb)))
8269 (native-inputs
2d2388e2
DM
8270 `(("ghc-happy" ,ghc-happy)
8271 ("ghc-alex" ,ghc-alex)))
98b90194 8272 (home-page "https://visq.github.io/language-c/")
de793e9a
RW
8273 (synopsis "Analysis and generation of C code")
8274 (description
8275 "Language C is a Haskell library for the analysis and generation of C code.
8276It features a complete, well-tested parser and pretty printer for all of C99
2d2388e2 8277and a large set of GNU extensions.")
de793e9a 8278 (license license:bsd-3)))
2d2388e2 8279
6c8a387a
DM
8280(define-public ghc-markdown-unlit
8281 (package
8282 (name "ghc-markdown-unlit")
a1541117 8283 (version "0.5.0")
6c8a387a
DM
8284 (source (origin
8285 (method url-fetch)
8286 (uri (string-append
8287 "mirror://hackage/package/markdown-unlit/"
8288 "markdown-unlit-" version ".tar.gz"))
8289 (sha256
8290 (base32
a1541117 8291 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6c8a387a
DM
8292 (build-system haskell-build-system)
8293 (inputs
8294 `(("ghc-base-compat" ,ghc-base-compat)
8295 ("ghc-hspec" ,ghc-hspec)
8296 ("ghc-quickcheck" ,ghc-quickcheck)
8297 ("ghc-silently" ,ghc-silently)
8298 ("ghc-stringbuilder" ,ghc-stringbuilder)
8299 ("ghc-temporary" ,ghc-temporary)
8300 ("hspec-discover" ,hspec-discover)))
8301 (home-page "https://github.com/sol/markdown-unlit#readme")
8302 (synopsis "Literate Haskell support for Markdown")
8303 (description "This package allows you to have a README.md that at the
8304same time is a literate Haskell program.")
8305 (license license:expat)))
8306
ee719fba
DM
8307(define-public corrode
8308 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
8309 (package
8310 (name "corrode")
8311 (version (string-append "0.0.1-" (string-take commit 7)))
8312 (source
8313 (origin
8314 (method git-fetch)
8315 (uri (git-reference
8316 (url "https://github.com/jameysharp/corrode.git")
8317 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
8318 (file-name
8319 (string-append name "-" version "-checkout"))
8320 (sha256
8321 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
8322 (build-system haskell-build-system)
8323 (inputs
8324 `(("ghc-language-c" ,ghc-language-c)
8325 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
8326 (home-page "https://github.com/jameysharp/corrode")
8327 (synopsis "Automatic semantics-preserving translation from C to Rust")
8328 (description
8329 "This program reads a C source file and prints an equivalent module in
8330Rust syntax. It is intended to be useful for two different purposes:
8331
8332@enumerate
8333@item Partial automation for migrating legacy code that was implemented in C.
8334@item A new, complementary approach to static analysis for C programs.
8335@end enumerate\n")
8336 (license license:gpl2+))))
8337
90762815
DM
8338(define-public ghc-wave
8339 (package
8340 (name "ghc-wave")
0618a71b 8341 (version "0.1.5")
90762815
DM
8342 (source (origin
8343 (method url-fetch)
8344 (uri (string-append
8345 "https://hackage.haskell.org/package/wave/wave-"
8346 version
8347 ".tar.gz"))
8348 (sha256
8349 (base32
0618a71b 8350 "03zycmwrchhqvi37fdvlzz2d1vl4hy0i8xyys1zznw38qfq0h2i5"))))
90762815
DM
8351 (build-system haskell-build-system)
8352 (inputs
8353 `(("ghc-cereal" ,ghc-cereal)
8354 ("ghc-data-default-class"
8355 ,ghc-data-default-class)
8356 ("ghc-quickcheck" ,ghc-quickcheck)
8357 ("ghc-temporary" ,ghc-temporary)))
8358 (native-inputs
8359 `(("hspec-discover" ,hspec-discover)
8360 ("ghc-hspec" ,ghc-hspec)))
8361 (home-page "https://github.com/mrkkrp/wave")
8362 (synopsis "Work with WAVE and RF64 files in Haskell")
8363 (description "This package allows you to work with WAVE and RF64
8364files in Haskell.")
8365 (license license:bsd-3)))
8366
5f622de1 8367(define-public ghc-hslogger
8368 (package
8369 (name "ghc-hslogger")
8370 (version "1.2.10")
8371 (source
8372 (origin
8373 (method url-fetch)
8374 (uri (string-append "https://hackage.haskell.org/package/"
8375 "hslogger-" version "/" "hslogger-"
8376 version ".tar.gz"))
8377 (sha256 (base32
8378 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
8379 (build-system haskell-build-system)
8380 (inputs
f54f0475 8381 `(("ghc-network" ,ghc-network)
831cb419 8382 ("ghc-old-locale" ,ghc-old-locale)))
5f622de1 8383 (native-inputs
8384 `(("ghc-hunit" ,ghc-hunit)))
98b90194 8385 (home-page "https://software.complete.org/hslogger")
5f622de1 8386 (synopsis "Logging framework for Haskell, similar to Python's logging module")
8387 (description "Hslogger lets each log message have a priority and source be
8388associated with it. The programmer can then define global handlers that route
8389or filter messages based on the priority and source. It also has a syslog
8390handler built in.")
8391 (license license:bsd-3)))
8392
a1563803 8393(define-public ghc-unexceptionalio
8394 (package
8395 (name "ghc-unexceptionalio")
06dae8ff 8396 (version "0.4.0")
a1563803 8397 (source
8398 (origin
8399 (method url-fetch)
8400 (uri (string-append "https://hackage.haskell.org/package/"
8401 "unexceptionalio-" version "/" "unexceptionalio-"
8402 version ".tar.gz"))
06dae8ff 8403 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
a1563803 8404 (build-system haskell-build-system)
8405 (home-page "https://github.com/singpolyma/unexceptionalio")
8406 (synopsis "IO without any non-error, synchronous exceptions")
8407 (description "When you've caught all the exceptions that can be
8408handled safely, this is what you're left with.")
8409 (license license:isc)))
8410
6f8016f4
DM
8411(define-public ghc-json
8412 (package
8413 (name "ghc-json")
1a8f5eb2 8414 (version "0.9.2")
6f8016f4
DM
8415 (source
8416 (origin
8417 (method url-fetch)
8418 (uri (string-append "https://hackage.haskell.org/package/json/"
8419 "json-" version ".tar.gz"))
8420 (sha256
8421 (base32
1a8f5eb2 8422 "13kkfgx58z18jphbg56jn08jn72wi3kvfndlwwx87hqwg7x1dfz6"))))
6f8016f4
DM
8423 (build-system haskell-build-system)
8424 (inputs
8425 `(("ghc-syb" ,ghc-syb)
6f8016f4
DM
8426 ("ghc-text" ,ghc-text)
8427 ("ghc-parsec" ,ghc-parsec)))
98b90194 8428 (home-page "https://hackage.haskell.org/package/json")
6f8016f4
DM
8429 (synopsis "Serializes Haskell data to and from JSON")
8430 (description "This package provides a parser and pretty printer for
8431converting between Haskell values and JSON.
8432JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
8433 (license license:bsd-3)))
8434
92c2097b
TS
8435(define-public ghc-esqueleto
8436 (package
8437 (name "ghc-esqueleto")
8438 (version "2.5.3")
8439 (source
8440 (origin
8441 (method url-fetch)
8442 (uri (string-append "https://hackage.haskell.org/package/"
8443 "esqueleto/esqueleto-" version ".tar.gz"))
8444 (sha256
8445 (base32
8446 "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x"))))
8447 (build-system haskell-build-system)
8448 (inputs
8449 `(("ghc-blaze-html" ,ghc-blaze-html)
8450 ("ghc-conduit" ,ghc-conduit)
8451 ("ghc-monad-logger" ,ghc-monad-logger)
8452 ("ghc-persistent" ,ghc-persistent)
8453 ("ghc-resourcet" ,ghc-resourcet)
8454 ("ghc-tagged" ,ghc-tagged)
8455 ("ghc-text" ,ghc-text)
8456 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8457 (native-inputs
8458 `(("ghc-hspec" ,ghc-hspec)
8459 ("ghc-hunit" ,ghc-hunit)
8460 ("ghc-monad-control" ,ghc-monad-control)
8461 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
8462 ("ghc-persistent-template" ,ghc-persistent-template)
8463 ("ghc-quickcheck" ,ghc-quickcheck)))
8464 (home-page "https://github.com/bitemyapp/esqueleto")
8465 (synopsis "Type-safe embedded domain specific language for SQL queries")
8466 (description "This library provides a type-safe embedded domain specific
8467language (EDSL) for SQL queries that works with SQL backends as provided by
8468@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
8469to learn new concepts, just new syntax, and it's fairly easy to predict the
8470generated SQL and optimize it for your backend.")
8471 (license license:bsd-3)))
8472
7e58cbbb
DM
8473(define-public shellcheck
8474 (package
8475 (name "shellcheck")
49d3d1d9 8476 (version "0.4.6")
7e58cbbb
DM
8477 (source
8478 (origin
8479 (method url-fetch)
8480 (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
8481 "v" version ".tar.gz"))
8482 (sha256
8483 (base32
49d3d1d9 8484 "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w"))
7e58cbbb
DM
8485 (file-name (string-append name "-" version ".tar.gz"))))
8486 (build-system haskell-build-system)
8487 (inputs
8488 `(("ghc-quickcheck" ,ghc-quickcheck)
8489 ("ghc-json" ,ghc-json)
7e58cbbb
DM
8490 ("ghc-parsec" ,ghc-parsec)
8491 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8492 (home-page "https://github.com/koalaman/shellcheck")
8493 (synopsis "Static analysis for shell scripts")
8494 (description "@code{shellcheck} provides static analysis for
8495@command{bash} and @command{sh} shell scripts.
8496It gives warnings and suggestions in order to:
8497
8498@enumerate
8499@item Point out and clarify typical beginner's syntax issues that cause
8500a shell to give cryptic error messages.
8501@item Point out and clarify typical intermediate level semantic problems
8502that cause a shell to behave strangely and counter-intuitively.
8503@item Point out subtle caveats, corner cases and pitfalls that may cause an
8504advanced user's otherwise working script to fail under future circumstances.
8505@end enumerate")
8506 (license license:gpl3+)))
8507
789dc568 8508(define-public ghc-simple-sendfile
8509 (package
8510 (name "ghc-simple-sendfile")
23aa12fc 8511 (version "0.2.27")
789dc568 8512 (source
8513 (origin
8514 (method url-fetch)
8515 (uri (string-append "https://hackage.haskell.org/package/"
8516 "simple-sendfile-" version "/"
8517 "simple-sendfile-" version ".tar.gz"))
8518 (sha256
8519 (base32
23aa12fc 8520 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
789dc568 8521 (build-system haskell-build-system)
8522 (inputs
8523 `(("ghc-conduit" ,ghc-conduit)
8524 ("ghc-conduit-extra" ,ghc-conduit-extra)
8525 ("ghc-network" ,ghc-network)
8526 ("ghc-resourcet" ,ghc-resourcet)))
8527 (native-inputs
8528 `(("ghc-hspec" ,ghc-hspec)
8529 ("hspec-discover" ,hspec-discover)))
8530 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
8531 (synopsis "Cross platform library for the sendfile system call")
8532 (description "This library tries to call minimum system calls which
8533are the bottleneck of web servers.")
8534 (license license:bsd-3)))
8535
59b340a5 8536(define-public ghc-hex
8537 (package
8538 (name "ghc-hex")
8539 (version "0.1.2")
8540 (source
8541 (origin
8542 (method url-fetch)
8543 (uri (string-append "https://hackage.haskell.org/package/"
8544 "hex-" version "/"
8545 "hex-" version ".tar.gz"))
8546 (sha256
8547 (base32
8548 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
8549 (build-system haskell-build-system)
98b90194 8550 (home-page "https://hackage.haskell.org/package/hex")
59b340a5 8551 (synopsis "Convert strings into hexadecimal and back")
8552 (description "This package provides conversion functions between
8553bytestrings and their hexademical representation.")
8554 (license license:bsd-3)))
8555
aba85f8c 8556(define-public ghc-psqueues
8557 (package
8558 (name "ghc-psqueues")
6062c461 8559 (version "0.2.7.0")
aba85f8c 8560 (source
8561 (origin
8562 (method url-fetch)
8563 (uri (string-append "https://hackage.haskell.org/package/"
8564 "psqueues-" version "/"
8565 "psqueues-" version ".tar.gz"))
8566 (sha256
8567 (base32
6062c461 8568 "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc"))))
aba85f8c 8569 (build-system haskell-build-system)
8570 (inputs
8571 `(("ghc-hashable" ,ghc-hashable)))
8572 (native-inputs
8573 `(("ghc-hunit" ,ghc-hunit)
8574 ("ghc-quickcheck" ,ghc-quickcheck)
8575 ("ghc-tagged" ,ghc-tagged)
8576 ("ghc-test-framework" ,ghc-test-framework)
8577 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8578 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
20c902f0 8579 (home-page "https://github.com/jaspervdj/psqueues")
aba85f8c 8580 (synopsis "Pure priority search queues")
8581 (description "The psqueues package provides
98b90194 8582@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
aba85f8c 8583three different flavors:
8584
8585@itemize
8586@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8587fast insertion, deletion and lookup. This implementation is based on Ralf
8588Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8589Implementation Technique for Priority Search Queues}.
8590
98b90194 8591Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
aba85f8c 8592PSQueue} library, although it is considerably faster and provides a slightly
8593different API.
8594
8595@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8596key type to @code{Int} and uses a
98b90194 8597@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
a5f89a63 8598with an additional min-heap property.
aba85f8c 8599
8600@item @code{HashPSQ k p v} is a fairly straightforward extension
8601of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8602@code{IntPSQ}. If there are any hash collisions, it uses an
8603@code{OrdPSQ} to resolve those. The performance of this implementation
8604is comparable to that of @code{IntPSQ}, but it is more widely
8605applicable since the keys are not restricted to @code{Int},
8606but rather to any @code{Hashable} datatype.
8607@end itemize
8608
8609Each of the three implementations provides the same API, so they can
8610be used interchangeably.
8611
8612Typical applications of Priority Search Queues include:
8613
8614@itemize
8615@item Caches, and more specifically LRU Caches;
8616@item Schedulers;
8617@item Pathfinding algorithms, such as Dijkstra's and A*.
8618@end itemize")
8619 (license license:bsd-3)))
8620
4031fb60 8621(define-public ghc-glob
8622 (package
8623 (name "ghc-glob")
29273431 8624 (version "0.9.2")
4031fb60 8625 (source
8626 (origin
8627 (method url-fetch)
8628 (uri (string-append "https://hackage.haskell.org/package/"
8629 "Glob-" version "/"
8630 "Glob-" version ".tar.gz"))
8631 (sha256
8632 (base32
29273431 8633 "1rbwcq9w9951qsnp13vqcm9r01yax2yh1wk8s4zxa3ckk9717iwg"))))
4031fb60 8634 (build-system haskell-build-system)
8635 (inputs
8636 `(("ghc-dlist" ,ghc-dlist)
8637 ("ghc-semigroups" ,ghc-semigroups)
8638 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8639 (native-inputs
8640 `(("ghc-hunit" ,ghc-hunit)
8641 ("ghc-quickcheck" ,ghc-quickcheck)
8642 ("ghc-test-framework" ,ghc-test-framework)
8643 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8644 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8645 (home-page "http://iki.fi/matti.niemenmaa/glob/")
8646 (synopsis "Haskell library matching glob patterns against file paths")
581a006b 8647 (description "This package provides a Haskell library for @dfn{globbing}:
4031fb60 8648matching patterns against file paths.")
8649 (license license:bsd-3)))
8650
78d8b8f3 8651(define-public ghc-errors
8652 (package
8653 (name "ghc-errors")
24e18bf9 8654 (version "2.3.0")
78d8b8f3 8655 (source
8656 (origin
8657 (method url-fetch)
8658 (uri (string-append "https://hackage.haskell.org/package/"
8659 "errors-" version "/"
8660 "errors-" version ".tar.gz"))
8661 (sha256
8662 (base32
24e18bf9 8663 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
78d8b8f3 8664 (build-system haskell-build-system)
8665 (inputs
8666 `(("ghc-exceptions" ,ghc-exceptions)
8667 ("ghc-text" ,ghc-text)
8668 ("ghc-transformers-compat" ,ghc-transformers-compat)
8669 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
8670 ("ghc-safe" ,ghc-safe)))
8671 (home-page "https://github.com/gabriel439/haskell-errors-library")
8672 (synopsis "Error handling library for Haskell")
8673 (description "This library encourages an error-handling style that
8674directly uses the type system, rather than out-of-band exceptions.")
8675 (license license:bsd-3)))
8676
c1274a0b 8677(define-public ghc-vector-th-unbox
8678 (package
8679 (name "ghc-vector-th-unbox")
8680 (version "0.2.1.6")
8681 (source
8682 (origin
8683 (method url-fetch)
8684 (uri (string-append "https://hackage.haskell.org/package/"
8685 "vector-th-unbox-" version "/"
8686 "vector-th-unbox-" version ".tar.gz"))
8687 (sha256
8688 (base32
8689 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
8690 (build-system haskell-build-system)
8691 (inputs
8692 `(("ghc-vector" ,ghc-vector)
8693 ("ghc-data-default" ,ghc-data-default)))
8694 (home-page "https://github.com/liyang/vector-th-unbox")
8695 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
8696 (description "This Haskell library provides a Template Haskell
8697deriver for unboxed vectors, given a pair of coercion functions to
8698and from some existing type with an Unbox instance.")
8699 (license license:bsd-3)))
8700
bdd7e395 8701(define-public ghc-erf
8702 (package
8703 (name "ghc-erf")
8704 (version "2.0.0.0")
8705 (source
8706 (origin
8707 (method url-fetch)
8708 (uri (string-append "https://hackage.haskell.org/package/"
8709 "erf-" version "/"
8710 "erf-" version ".tar.gz"))
8711 (sha256
8712 (base32
8713 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
8714 (build-system haskell-build-system)
8715 (home-page "https://hackage.haskell.org/package/erf")
8716 (synopsis "The error function, erf, and related functions for Haskell")
8717 (description "This Haskell library provides a type class for the
8718error function, erf, and related functions. Instances for Float and
8719Double.")
8720 (license license:bsd-3)))
8721
a51ba897 8722(define-public ghc-math-functions
8723 (package
8724 (name "ghc-math-functions")
8725 (version "0.2.1.0")
8726 (source
8727 (origin
8728 (method url-fetch)
8729 (uri (string-append "https://hackage.haskell.org/package/"
8730 "math-functions-" version "/"
8731 "math-functions-" version ".tar.gz"))
8732 (sha256
8733 (base32
8734 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
8735 (build-system haskell-build-system)
fc3ef1e2 8736 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
a51ba897 8737 (inputs
8738 `(("ghc-vector" ,ghc-vector)
8739 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
8740 (native-inputs
8741 `(("ghc-hunit" ,ghc-hunit)
8742 ("ghc-quickcheck" ,ghc-quickcheck)
8743 ("ghc-erf" ,ghc-erf)
8744 ("ghc-test-framework" ,ghc-test-framework)
8745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8746 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8747 (home-page "https://github.com/bos/math-functions")
8748 (synopsis "Special functions and Chebyshev polynomials for Haskell")
8749 (description "This Haskell library provides implementations of
8750special mathematical functions and Chebyshev polynomials. These
8751functions are often useful in statistical and numerical computing.")
8752 (license license:bsd-3)))
8753
1a2a247b 8754(define-public ghc-mwc-random
8755 (package
8756 (name "ghc-mwc-random")
8757 (version "0.13.6.0")
8758 (source
8759 (origin
8760 (method url-fetch)
8761 (uri (string-append "https://hackage.haskell.org/package/"
8762 "mwc-random-" version "/"
8763 "mwc-random-" version ".tar.gz"))
8764 (sha256
8765 (base32
8766 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
8767 (build-system haskell-build-system)
8768 (inputs
8769 `(("ghc-primitive" ,ghc-primitive)
8770 ("ghc-vector" ,ghc-vector)
8771 ("ghc-math-functions" ,ghc-math-functions)))
8772 (arguments
8773 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8774 (native-inputs
8775 `(("ghc-hunit" ,ghc-hunit)
8776 ("ghc-quickcheck" ,ghc-quickcheck)
8777 ("ghc-test-framework" ,ghc-test-framework)
8778 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8779 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8780 (home-page "https://github.com/bos/mwc-random")
8781 (synopsis "Random number generation library for Haskell")
8782 (description "This Haskell package contains code for generating
8783high quality random numbers that follow either a uniform or normal
8784distribution. The generated numbers are suitable for use in
8785statistical applications.
8786
8787The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8788multiply-with-carry generator, which has a period of 2^{8222} and
8789fares well in tests of randomness. It is also extremely fast,
8790between 2 and 3 times faster than the Mersenne Twister.")
8791 (license license:bsd-3)))
8792
30aede1b 8793(define-public ghc-vector-algorithms
8794 (package
8795 (name "ghc-vector-algorithms")
d9404fc1 8796 (version "0.7.0.4")
30aede1b 8797 (source
8798 (origin
8799 (method url-fetch)
8800 (uri (string-append "https://hackage.haskell.org/package/"
8801 "vector-algorithms-" version "/"
8802 "vector-algorithms-" version ".tar.gz"))
8803 (sha256
8804 (base32
d9404fc1 8805 "0mfa8ig9v69l41p2vb5jl4qmaln5y1rlzarr2mlgm8g1nvq8qqdg"))))
30aede1b 8806 (build-system haskell-build-system)
8807 (inputs
d9404fc1 8808 `(("ghc-vector" ,ghc-vector)))
30aede1b 8809 (native-inputs
8810 `(("ghc-quickcheck" ,ghc-quickcheck)))
8811 (home-page "https://github.com/bos/math-functions")
8812 (synopsis "Algorithms for vector arrays in Haskell")
8813 (description "This Haskell library algorithms for vector arrays.")
8814 (license license:bsd-3)))
8815
897d4f28 8816(define-public ghc-language-haskell-extract
8817 (package
8818 (name "ghc-language-haskell-extract")
8819 (version "0.2.4")
8820 (source
8821 (origin
8822 (method url-fetch)
8823 (uri (string-append "https://hackage.haskell.org/package/"
8824 "language-haskell-extract-" version "/"
8825 "language-haskell-extract-" version ".tar.gz"))
8826 (sha256
8827 (base32
8828 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8829 (build-system haskell-build-system)
8830 (inputs
8831 `(("ghc-regex-posix" ,ghc-regex-posix)))
8832 (home-page "https://github.com/finnsson/template-helper")
8833 (synopsis "Haskell module to automatically extract functions from
8834the local code")
8835 (description "This package contains helper functions on top of
8836Template Haskell.
8837
8838For example, @code{functionExtractor} extracts all functions after a
8839regexp-pattern, which can be useful if you wish to extract all functions
8840beginning with @code{test} (for a test framework) or all functions beginning
8841with @code{wc} (for a web service).")
8842 (license license:bsd-3)))
8843
97b26920 8844(define-public ghc-abstract-par
8845 (package
8846 (name "ghc-abstract-par")
8847 (version "0.3.3")
8848 (source
8849 (origin
8850 (method url-fetch)
8851 (uri (string-append "https://hackage.haskell.org/package/"
8852 "abstract-par-" version "/"
8853 "abstract-par-" version ".tar.gz"))
8854 (sha256
8855 (base32
8856 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8857 (build-system haskell-build-system)
8858 (home-page "https://github.com/simonmar/monad-par")
8859 (synopsis "Abstract parallelization interface for Haskell")
8860 (description "This Haskell package is an abstract interface
8861only. It provides a number of type clasess, but not an
8862implementation. The type classes separate different levels
8863of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8864module for more details.")
8865 (license license:bsd-3)))
8866
59551881 8867(define-public ghc-monad-par-extras
8868 (package
8869 (name "ghc-monad-par-extras")
8870 (version "0.3.3")
8871 (source
8872 (origin
8873 (method url-fetch)
8874 (uri (string-append "https://hackage.haskell.org/package/"
8875 "monad-par-extras-" version "/"
8876 "monad-par-extras-" version ".tar.gz"))
8877 (sha256
8878 (base32
8879 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8880 (build-system haskell-build-system)
8881 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8882 ("ghc-cereal" ,ghc-cereal)
f54f0475 8883 ("ghc-random" ,ghc-random)))
59551881 8884 (home-page "https://github.com/simonmar/monad-par")
8885 (synopsis "Combinators and extra features for Par monads for Haskell")
8886 (description "This Haskell package provides additional data structures,
8887and other added capabilities layered on top of the @code{Par} monad.")
8888 (license license:bsd-3)))
8889
f978e2ac 8890(define-public ghc-abstract-deque
8891 (package
8892 (name "ghc-abstract-deque")
8893 (version "0.3")
8894 (source
8895 (origin
8896 (method url-fetch)
8897 (uri (string-append "https://hackage.haskell.org/package/"
8898 "abstract-deque-" version "/"
8899 "abstract-deque-" version ".tar.gz"))
8900 (sha256
8901 (base32
8902 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8903 (build-system haskell-build-system)
8904 (inputs `(("ghc-random" ,ghc-random)))
8905 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8906 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8907 (description "This Haskell package provides an abstract interface to
8908highly-parameterizable queues/deques.
8909
8910Background: There exists a feature space for queues that extends between:
8911
8912@itemize
8913@item Simple, single-ended, non-concurrent, bounded queues
8914
467834d5
TGR
8915@item Double-ended, thread-safe, growable queues with important points
8916in between (such as the queues used for work stealing).
f978e2ac 8917@end itemize
8918
8919This package includes an interface for Deques that allows the programmer
467834d5 8920to use a single API for all of the above, while using the type system to
f978e2ac 8921select an efficient implementation given the requirements (using type families).
8922
8923This package also includes a simple reference implementation based on
8924@code{IORef} and @code{Data.Sequence}.")
8925 (license license:bsd-3)))
8926
608bf276 8927(define-public ghc-monad-par
8928 (package
8929 (name "ghc-monad-par")
8930 (version "0.3.4.8")
8931 (source
8932 (origin
8933 (method url-fetch)
8934 (uri (string-append "https://hackage.haskell.org/package/"
8935 "monad-par-" version "/"
8936 "monad-par-" version ".tar.gz"))
8937 (sha256
8938 (base32
8939 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8940 (build-system haskell-build-system)
8941 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8942 ("ghc-abstract-deque" ,ghc-abstract-deque)
8943 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8944 ("ghc-mwc-random" ,ghc-mwc-random)
f54f0475 8945 ("ghc-parallel" ,ghc-parallel)))
608bf276 8946 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8947 ("ghc-hunit" ,ghc-hunit)
8948 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8949 ("ghc-test-framework-quickcheck2"
8950 ,ghc-test-framework-quickcheck2)
8951 ("ghc-test-framework" ,ghc-test-framework)
8952 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8953 (home-page "https://github.com/simonmar/monad-par")
8954 (synopsis "Haskell library for parallel programming based on a monad")
8955 (description "The @code{Par} monad offers an API for parallel
8956programming. The library works for parallelising both pure and @code{IO}
8957computations, although only the pure version is deterministic. The default
8958implementation provides a work-stealing scheduler and supports forking tasks
8959that are much lighter weight than IO-threads.")
8960 (license license:bsd-3)))
8961
0c717284 8962(define-public ghc-statistics
8963 (package
8964 (name "ghc-statistics")
8965 (version "0.14.0.2")
8966 (source
8967 (origin
8968 (method url-fetch)
8969 (uri (string-append "https://hackage.haskell.org/package/"
8970 "statistics-" version "/"
8971 "statistics-" version ".tar.gz"))
8972 (sha256
8973 (base32
8974 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
8975 (build-system haskell-build-system)
8976 (inputs
8977 `(("ghc-aeson" ,ghc-aeson)
8978 ("ghc-base-orphans" ,ghc-base-orphans)
8979 ("ghc-erf" ,ghc-erf)
8980 ("ghc-math-functions" ,ghc-math-functions)
8981 ("ghc-monad-par" ,ghc-monad-par)
8982 ("ghc-mwc-random" ,ghc-mwc-random)
8983 ("ghc-primitive" ,ghc-primitive)
8984 ("ghc-vector" ,ghc-vector)
8985 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8986 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
8987 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
8988 (native-inputs
8989 `(("ghc-hunit" ,ghc-hunit)
8990 ("ghc-quickcheck" ,ghc-quickcheck)
c695fb76 8991 ("ghc-ieee754" ,ghc-ieee754)
0c717284 8992 ("ghc-test-framework" ,ghc-test-framework)
8993 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8994 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8995 (arguments
8996 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8997 (home-page "https://github.com/bos/mwc-random")
8998 (synopsis "Haskell library of statistical types, data, and functions")
8999 (description "This library provides a number of common functions
9000and types useful in statistics. We focus on high performance, numerical
9001robustness, and use of good algorithms. Where possible, we provide references
9002to the statistical literature.
9003
9004The library's facilities can be divided into four broad categories:
9005
9006@itemize
9007@item Working with widely used discrete and continuous probability
9008distributions. (There are dozens of exotic distributions in use; we focus
9009on the most common.)
9010
9011@item Computing with sample data: quantile estimation, kernel density
9012estimation, histograms, bootstrap methods, significance testing,
9013and regression and autocorrelation analysis.
9014
9015@item Random variate generation under several different distributions.
9016
9017@item Common statistical tests for significant differences between samples.
9018@end itemize")
9019 (license license:bsd-2)))
9020
371ad40c 9021(define-public ghc-chunked-data
9022 (package
9023 (name "ghc-chunked-data")
48f8ba91 9024 (version "0.3.1")
371ad40c 9025 (source
9026 (origin
9027 (method url-fetch)
9028 (uri (string-append "https://hackage.haskell.org/package/"
9029 "chunked-data-" version "/"
9030 "chunked-data-" version ".tar.gz"))
9031 (sha256
9032 (base32
48f8ba91 9033 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
371ad40c 9034 (build-system haskell-build-system)
9035 (inputs `(("ghc-vector" ,ghc-vector)
d6e559ab 9036 ("ghc-semigroups" ,ghc-semigroups)
9037 ("ghc-text" ,ghc-text)))
371ad40c 9038 (home-page "https://github.com/snoyberg/mono-traversable")
9039 (synopsis "Typeclasses for dealing with various chunked data
9040representations for Haskell")
9041 (description "This Haskell package was originally present in
9042classy-prelude.")
9043 (license license:expat)))
9044
ac4cb8fd 9045(define-public ghc-base-prelude
9046 (package
9047 (name "ghc-base-prelude")
d3cc0eb2 9048 (version "1.3")
ac4cb8fd 9049 (source
9050 (origin
9051 (method url-fetch)
9052 (uri (string-append "https://hackage.haskell.org/package/"
9053 "base-prelude-" version "/"
9054 "base-prelude-" version ".tar.gz"))
9055 (sha256
9056 (base32
d3cc0eb2 9057 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
ac4cb8fd 9058 (build-system haskell-build-system)
9059 (home-page "https://github.com/nikita-volkov/base-prelude")
9060 (synopsis "The most complete prelude formed solely from the Haskell's base
9061package")
9062 (description "This Haskell package aims to reexport all the non-conflicting
9063and most general definitions from the \"base\" package.
9064
9065This includes APIs for applicatives, arrows, monoids, foldables, traversables,
9066exceptions, generics, ST, MVars and STM.
9067
9068This package will never have any dependencies other than \"base\".
9069
9070Versioning policy:
9071
9072The versioning policy of this package deviates from PVP in the sense
9073that its exports in part are transitively determined by the version of \"base\".
9074Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
9075the bounds of \"base\" as well.")
9076 (license license:expat)))
9077
e329bacb 9078(define-public ghc-tuple-th
9079 (package
9080 (name "ghc-tuple-th")
9081 (version "0.2.5")
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append "https://hackage.haskell.org/package/"
9086 "tuple-th-" version "/"
9087 "tuple-th-" version ".tar.gz"))
9088 (sha256
9089 (base32
9090 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
9091 (build-system haskell-build-system)
9092 (home-page "https://github.com/DanielSchuessler/tuple-th")
9093 (synopsis "Generate utility functions for tuples of statically known size
9094for Haskell")
9095 (description "This Haskell package contains Template Haskell functions for
9096generating functions similar to those in @code{Data.List} for tuples of
9097statically known size.")
9098 (license license:bsd-3)))
9099
4562c8c8 9100(define-public ghc-contravariant-extras
9101 (package
9102 (name "ghc-contravariant-extras")
c1cf4c70 9103 (version "0.3.4")
4562c8c8 9104 (source
9105 (origin
9106 (method url-fetch)
9107 (uri (string-append "https://hackage.haskell.org/package/"
9108 "contravariant-extras-" version "/"
9109 "contravariant-extras-" version ".tar.gz"))
9110 (sha256
9111 (base32
c1cf4c70 9112 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
4562c8c8 9113 (build-system haskell-build-system)
c1cf4c70
TS
9114 (inputs
9115 `(("ghc-tuple-th" ,ghc-tuple-th)
9116 ("ghc-contravariant" ,ghc-contravariant)
9117 ("ghc-base-prelude" ,ghc-base-prelude)
9118 ("ghc-semigroups" ,ghc-semigroups)))
4562c8c8 9119 (home-page "https://github.com/nikita-volkov/contravariant-extras")
9120 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
9121 (description "This Haskell package provides extras for the
9122@code{ghc-contravariant} package.")
9123 (license license:expat)))
9124
87129984 9125(define-public ghc-monadrandom
9126 (package
9127 (name "ghc-monadrandom")
d58fda7d 9128 (version "0.5.1.1")
87129984 9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (string-append "https://hackage.haskell.org/package/"
9133 "MonadRandom-" version "/"
9134 "MonadRandom-" version ".tar.gz"))
9135 (sha256
9136 (base32
d58fda7d 9137 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
87129984 9138 (build-system haskell-build-system)
9139 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
87129984 9140 ("ghc-primitive" ,ghc-primitive)
9141 ("ghc-fail" ,ghc-fail)
9142 ("ghc-random" ,ghc-random)))
9143 (home-page "https://github.com/byorgey/MonadRandom")
9144 (synopsis "Random-number generation monad for Haskell")
9145 (description "This Haskell package provides support for computations
9146which consume random values.")
9147 (license license:bsd-3)))
9148
16d4125e 9149(define-public ghc-either
9150 (package
9151 (name "ghc-either")
751a8c0b 9152 (version "5.0.1")
16d4125e 9153 (source
9154 (origin
9155 (method url-fetch)
9156 (uri (string-append "https://hackage.haskell.org/package/"
9157 "either-" version "/"
9158 "either-" version ".tar.gz"))
9159 (sha256
9160 (base32
751a8c0b 9161 "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc"))))
16d4125e 9162 (build-system haskell-build-system)
9163 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
9164 ("ghc-exceptions" ,ghc-exceptions)
9165 ("ghc-free" ,ghc-free)
9166 ("ghc-monad-control" ,ghc-monad-control)
9167 ("ghc-manodrandom" ,ghc-monadrandom)
16d4125e 9168 ("ghc-mmorph" ,ghc-mmorph)
9169 ("ghc-profunctors" ,ghc-profunctors)
9170 ("ghc-semigroups" ,ghc-semigroups)
9171 ("ghc-semigroupoids" ,ghc-semigroupoids)
9172 ("ghc-transformers-base" ,ghc-transformers-base)))
751a8c0b
TS
9173 (native-inputs
9174 `(("ghc-quickcheck" ,ghc-quickcheck)
9175 ("ghc-test-framework" ,ghc-test-framework)
9176 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
16d4125e 9177 (home-page "https://github.com/ekmett/either")
9178 (synopsis "Provides an either monad transformer for Haskell")
9179 (description "This Haskell package provides an either monad transformer.")
9180 (license license:bsd-3)))
933e7804 9181
f78ed5d5 9182(define-public ghc-pretty-hex
9183 (package
9184 (name "ghc-pretty-hex")
9185 (version "1.0")
9186 (source
9187 (origin
9188 (method url-fetch)
9189 (uri (string-append "https://hackage.haskell.org/package/"
9190 "pretty-hex-" version "/"
9191 "pretty-hex-" version ".tar.gz"))
9192 (sha256
9193 (base32
9194 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9195 (build-system haskell-build-system)
9196 (home-page "https://github.com/GaloisInc/hexdump")
9197 (synopsis "Haskell library for hex dumps of ByteStrings")
9198 (description "This Haskell library generates pretty hex dumps of
9199ByteStrings in the style of other common *nix hex dump tools.")
9200 (license license:bsd-3)))
9201
6eda2635 9202(define-public ghc-network-info
9203 (package
9204 (name "ghc-network-info")
e433898d 9205 (version "0.2.0.10")
6eda2635 9206 (source
9207 (origin
9208 (method url-fetch)
9209 (uri (string-append "https://hackage.haskell.org/package/"
9210 "network-info-" version "/"
9211 "network-info-" version ".tar.gz"))
9212 (sha256
9213 (base32
e433898d 9214 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6eda2635 9215 (build-system haskell-build-system)
9216 (home-page "https://github.com/jystic/network-info")
9217 (synopsis "Access the local computer's basic network configuration")
9218 (description "This Haskell library provides simple read-only access to the
9219local computer's networking configuration. It is currently capable of
9220getting a list of all the network interfaces and their respective
9221IPv4, IPv6 and MAC addresses.")
9222 (license license:bsd-3)))
9223
b999b009 9224(define-public ghc-uuid-types
9225 (package
9226 (name "ghc-uuid-types")
9227 (version "1.0.3")
9228 (source
9229 (origin
9230 (method url-fetch)
9231 (uri (string-append "https://hackage.haskell.org/package/"
9232 "uuid-types-" version "/"
9233 "uuid-types-" version ".tar.gz"))
9234 (sha256
9235 (base32
9236 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
9237 (build-system haskell-build-system)
b1c5c8de 9238 (arguments
fe3ecc30
TS
9239 `(#:phases
9240 (modify-phases %standard-phases
9241 (add-before 'configure 'strip-test-framework-constraints
9242 (lambda _
9243 (substitute* "uuid-types.cabal"
9244 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
9245 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
9246 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
9247 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
9248 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
b999b009 9249 (inputs `(("ghc-hashable" ,ghc-hashable)
9250 ("ghc-random" ,ghc-random)
9251 ("ghc-text" ,ghc-text)))
9252 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9253 ("ghc-quickcheck" ,ghc-quickcheck)
9254 ("ghc-tasty" ,ghc-tasty)
9255 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9256 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9257 (home-page "https://github.com/hvr/uuid")
9258 (synopsis "Haskell type definitions for UUIDs")
9259 (description "This Haskell library contains type definitions for
9260@dfn{Universally Unique Identifiers} or
98b90194 9261@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
b999b009 9262functions.")
9263 (license license:bsd-3)))
9264
24535a3d 9265(define-public ghc-uuid
9266 (package
9267 (name "ghc-uuid")
9268 (version "1.3.13")
9269 (source
9270 (origin
9271 (method url-fetch)
9272 (uri (string-append "https://hackage.haskell.org/package/"
9273 "uuid-" version "/"
9274 "uuid-" version ".tar.gz"))
9275 (sha256
9276 (base32
9277 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
9278 (build-system haskell-build-system)
1debc5b9 9279 (arguments
a11ce106
TS
9280 `(#:cabal-revision
9281 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
9282 #:phases
9283 (modify-phases %standard-phases
9284 (add-before 'configure 'strip-test-framework-constraints
9285 (lambda _
9286 (substitute* "uuid.cabal"
9287 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
9288 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
9289 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
9290 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
9291 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
24535a3d 9292 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
9293 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
9294 ("ghc-entropy" ,ghc-entropy)
9295 ("ghc-network-info" ,ghc-network-info)
9296 ("ghc-random" ,ghc-random)
9297 ("ghc-text" ,ghc-text)
9298 ("ghc-uuid-types" ,ghc-uuid-types)))
9299 (native-inputs `(("ghc-hunit" ,ghc-hunit)
9300 ("ghc-quickcheck" ,ghc-quickcheck)
9301 ("ghc-tasty" ,ghc-tasty)
9302 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9303 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9304 (home-page "https://github.com/hvr/uuid")
9305 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
9306 (description "This Haskell library provides utilities creating, comparing,
9307parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
9308 (license license:bsd-3)))
9309
33109c82 9310(define-public ghc-rebase
9311 (package
9312 (name "ghc-rebase")
6d2fd200 9313 (version "1.2.4")
33109c82 9314 (source
9315 (origin
9316 (method url-fetch)
9317 (uri (string-append "https://hackage.haskell.org/package/"
9318 "rebase-" version "/"
9319 "rebase-" version ".tar.gz"))
9320 (sha256
9321 (base32
6d2fd200 9322 "1gah2qwfpzwamnikbc5h4nv6dgvv9h16di9ka7946za3nibyasya"))))
33109c82 9323 (build-system haskell-build-system)
9324 (inputs `(("ghc-stm" ,ghc-stm)
9325 ("ghc-hashable" ,ghc-hashable)
9326 ("ghc-vector" ,ghc-vector)
9327 ("ghc-unordered-containers" ,ghc-unordered-containers)
9328 ("ghc-text" ,ghc-text)
9329 ("ghc-scientific" ,ghc-scientific)
9330 ("ghc-uuid" ,ghc-uuid)
9331 ("ghc-dlist" ,ghc-dlist)
9332 ("ghc-void" ,ghc-void)
9333 ("ghc-bifunctors" ,ghc-bifunctors)
9334 ("ghc-profunctors" ,ghc-profunctors)
9335 ("ghc-contravariant" ,ghc-contravariant)
9336 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9337 ("ghc-semigroups" ,ghc-semigroups)
33109c82 9338 ("ghc-either" ,ghc-either)
9339 ("ghc-fail" ,ghc-fail)
9340 ("ghc-base-prelude" ,ghc-base-prelude)))
9341 (home-page "https://github.com/nikita-volkov/rebase")
9342 (synopsis "Progressive alternative to the base package
9343for Haskell")
9344 (description "This Haskell package is intended for those who are
9345tired of keeping long lists of dependencies to the same essential libraries
9346in each package as well as the endless imports of the same APIs all over again.
9347
9348It also supports the modern tendencies in the language.
9349
9350To solve those problems this package does the following:
9351
9352@itemize
9353@item Reexport the original APIs under the @code{Rebase} namespace.
9354
9355@item Export all the possible non-conflicting symbols from the
9356@code{Rebase.Prelude} module.
9357
9358@item Give priority to the modern practices in the conflicting cases.
9359@end itemize
9360
9361The policy behind the package is only to reexport the non-ambiguous and
9362non-controversial APIs, which the community has obviously settled on.
9363The package is intended to rapidly evolve with the contribution from
9364the community, with the missing features being added with pull-requests.")
9365 (license license:expat)))
9516ef4f
TS
9366
9367(define-public ghc-rerebase
9368 (package
9369 (name "ghc-rerebase")
9370 (version "1.2.2")
9371 (source
9372 (origin
9373 (method url-fetch)
9374 (uri (string-append
9375 "https://hackage.haskell.org/package/rerebase/rerebase-"
9376 version ".tar.gz"))
9377 (sha256
9378 (base32
9379 "11v6rmz7ql2rdx6mhb3lsal952lwihclfhh0m7fcnii5br0906ks"))))
9380 (build-system haskell-build-system)
9381 (inputs
9382 `(("ghc-rebase" ,ghc-rebase)))
9383 (home-page "https://github.com/nikita-volkov/rerebase")
9384 (synopsis "Reexports from ``base'' with many other standard libraries")
9385 (description "A rich drop-in replacement for ``base''. For details and
9386documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9387the project's home page}.")
9388 (license license:expat)))
33109c82 9389
1896a252 9390(define-public ghc-vector-builder
9391 (package
9392 (name "ghc-vector-builder")
c237721e 9393 (version "0.3.6")
1896a252 9394 (source
9395 (origin
9396 (method url-fetch)
9397 (uri (string-append "https://hackage.haskell.org/package/"
9398 "vector-builder-" version "/"
9399 "vector-builder-" version ".tar.gz"))
9400 (sha256
9401 (base32
c237721e 9402 "06d2pa1fb3ydrl7l6rjazqyxv5i73v65x2f5fp0ypjxfbm6jsmn8"))))
1896a252 9403 (build-system haskell-build-system)
9404 (inputs `(("ghc-vector" ,ghc-vector)
9405 ("ghc-semigroups" ,ghc-semigroups)
9406 ("ghc-base-prelude" ,ghc-base-prelude)))
c237721e
TS
9407 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9408 ("ghc-tasty" ,ghc-tasty)
1896a252 9409 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9410 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9411 ("ghc-hunit" ,ghc-hunit)
9412 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
c237721e 9413 ("ghc-rerebase" ,ghc-rerebase)))
1896a252 9414 (home-page "https://github.com/nikita-volkov/vector-builder")
9415 (synopsis "Vector builder for Haskell")
9416 (description "This Haskell package provides an API for constructing vectors.
9417It provides the composable @code{Builder} abstraction, which has instances of the
9418@code{Monoid} and @code{Semigroup} classes.
9419
9420You would first use the @code{Builder} abstraction to specify the structure of
9421the vector; then you can execute the builder to actually produce the
9422vector. ")
9423 (license license:expat)))
9424
f6094850 9425(define-public ghc-foldl
9426 (package
9427 (name "ghc-foldl")
ca96ba99 9428 (version "1.4.3")
f6094850 9429 (source
9430 (origin
9431 (method url-fetch)
9432 (uri (string-append "https://hackage.haskell.org/package/"
9433 "foldl-" version "/"
9434 "foldl-" version ".tar.gz"))
9435 (sha256
9436 (base32
ca96ba99 9437 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
f6094850 9438 (build-system haskell-build-system)
9439 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
9440 ("ghc-primitive" ,ghc-primitive)
9441 ("ghc-text" ,ghc-text)
9442 ("ghc-vector" ,ghc-vector)
9443 ("ghc-unordered-containers" ,ghc-unordered-containers)
9444 ("ghc-hashable" ,ghc-hashable)
9445 ("ghc-contravariant" ,ghc-contravariant)
ca96ba99 9446 ("ghc-semigroups" ,ghc-semigroups)
f6094850 9447 ("ghc-profunctors" ,ghc-profunctors)
ca96ba99 9448 ("ghc-semigroupoids" ,ghc-semigroupoids)
f6094850 9449 ("ghc-comonad" ,ghc-comonad)
9450 ("ghc-vector-builder" ,ghc-vector-builder)))
9451 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
9452 (synopsis "Composable, streaming, and efficient left folds for Haskell")
9453 (description "This Haskell library provides strict left folds that stream
9454in constant memory, and you can combine folds using @code{Applicative} style
9455to derive new folds. Derived folds still traverse the container just once
9456and are often as efficient as hand-written folds.")
9457 (license license:bsd-3)))
9458
ed4cc0c5 9459(define-public ghc-mono-traversable
9460 (package
9461 (name "ghc-mono-traversable")
74b30be0 9462 (version "1.0.9.0")
ed4cc0c5 9463 (source
9464 (origin
9465 (method url-fetch)
9466 (uri (string-append "https://hackage.haskell.org/package/"
9467 "mono-traversable-" version "/"
9468 "mono-traversable-" version ".tar.gz"))
9469 (sha256
9470 (base32
74b30be0 9471 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
ed4cc0c5 9472 (build-system haskell-build-system)
9473 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9474 ("ghc-hashable" ,ghc-hashable)
9475 ("ghc-text" ,ghc-text)
9476 ("ghc-vector" ,ghc-vector)
9477 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9478 ("ghc-split" ,ghc-split)))
9479 (native-inputs `(("ghc-hspec" ,ghc-hspec)
c695fb76 9480 ("ghc-hunit" ,ghc-hunit)
ed4cc0c5 9481 ("ghc-quickcheck" ,ghc-quickcheck)
9482 ("ghc-semigroups" ,ghc-semigroups)
9483 ("ghc-foldl" ,ghc-foldl)))
9484 (home-page "https://github.com/snoyberg/mono-traversable")
9485 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
9486containers")
9487 (description "This Haskell package provides Monomorphic variants of the
9488Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
9489basic typeclasses, you understand mono-traversable. In addition to what
9490you are used to, it adds on an IsSequence typeclass and has code for marking
9491data structures as non-empty.")
9492 (license license:expat)))
9493
95fb25bf 9494(define-public ghc-conduit-combinators
9495 (package
9496 (name "ghc-conduit-combinators")
37d79707 9497 (version "1.3.0")
95fb25bf 9498 (source
9499 (origin
9500 (method url-fetch)
9501 (uri (string-append "https://hackage.haskell.org/package/"
9502 "conduit-combinators-" version "/"
9503 "conduit-combinators-" version ".tar.gz"))
9504 (sha256
9505 (base32
37d79707 9506 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
95fb25bf 9507 (build-system haskell-build-system)
9508 (inputs `(("ghc-conduit" ,ghc-conduit)
9509 ("ghc-conduit-extra" ,ghc-conduit-extra)
9510 ("ghc-transformers-base" ,ghc-transformers-base)
9511 ("ghc-primitive" ,ghc-primitive)
9512 ("ghc-vector" ,ghc-vector)
9513 ("ghc-text" ,ghc-text)
9514 ("ghc-void" ,ghc-void)
9515 ("ghc-mwc-random" ,ghc-mwc-random)
9516 ("ghc-unix-compat" ,ghc-unix-compat)
9517 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9518 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9519 ("ghc-resourcet" ,ghc-resourcet)
9520 ("ghc-monad-control" ,ghc-monad-control)
9521 ("ghc-chunked-data" ,ghc-chunked-data)
9522 ("ghc-mono-traversable" ,ghc-mono-traversable)))
9523 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9524 ("ghc-silently" ,ghc-silently)
95fb25bf 9525 ("ghc-safe" ,ghc-safe)
9526 ("ghc-quickcheck" ,ghc-quickcheck)))
9527 (home-page "https://github.com/snoyberg/mono-traversable")
9528 (synopsis "Commonly used conduit functions, for both chunked and
9529unchunked data")
9530 (description "This Haskell package provides a replacement for Data.Conduit.List,
9531as well as a convenient Conduit module.")
9532 (license license:expat)))
9533
3a784700 9534(define-public ghc-aws
9535 (package
9536 (name "ghc-aws")
0faddfc3 9537 (version "0.18")
3a784700 9538 (source
9539 (origin
9540 (method url-fetch)
9541 (uri (string-append "https://hackage.haskell.org/package/"
9542 "aws-" version "/aws-" version ".tar.gz"))
9543 (sha256 (base32
0faddfc3 9544 "0h7473wkvc5xjzx5fd5k5fp70rjq5gqmn1cpy95mswvvfsq3irxj"))))
3a784700 9545 (build-system haskell-build-system)
9546 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
9547 (inputs
9548 `(("ghc-aeson" ,ghc-aeson)
9549 ("ghc-attoparsec" ,ghc-attoparsec)
9550 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9551 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9552 ("ghc-blaze-builder" ,ghc-blaze-builder)
9553 ("ghc-byteable" ,ghc-byteable)
9554 ("ghc-case-insensitive" ,ghc-case-insensitive)
9555 ("ghc-cereal" ,ghc-cereal)
9556 ("ghc-conduit" ,ghc-conduit)
9557 ("ghc-conduit-extra" ,ghc-conduit-extra)
0faddfc3 9558 ("ghc-cryptonite" ,ghc-cryptonite)
3a784700 9559 ("ghc-data-default" ,ghc-data-default)
9560 ("ghc-http-conduit" ,ghc-http-conduit)
9561 ("ghc-http-types" ,ghc-http-types)
9562 ("ghc-monad-control" ,ghc-monad-control)
3a784700 9563 ("ghc-network" ,ghc-network)
9564 ("ghc-old-locale" ,ghc-old-locale)
9565 ("ghc-safe" ,ghc-safe)
9566 ("ghc-scientific" ,ghc-scientific)
9567 ("ghc-tagged" ,ghc-tagged)
9568 ("ghc-text" ,ghc-text)
9569 ("ghc-unordered-containers" ,ghc-unordered-containers)
9570 ("ghc-utf8-string" ,ghc-utf8-string)
9571 ("ghc-vector" ,ghc-vector)
9572 ("ghc-xml-conduit" ,ghc-xml-conduit)))
9573 (native-inputs
9574 `(("ghc-quickcheck" ,ghc-quickcheck)
9575 ("ghc-errors" ,ghc-errors)
9576 ("ghc-http-client" ,ghc-http-client)
9577 ("ghc-http-client-tls" ,ghc-http-client-tls)
9578 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9579 ("ghc-tasty" ,ghc-tasty)
9580 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9581 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9582 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
9583 (home-page "https://github.com/aristidb/aws")
9584 (synopsis "Amazon Web Services for Haskell")
9585 (description "This package attempts to provide support for using
9586Amazon Web Services like S3 (storage), SQS (queuing) and others to
9587Haskell programmers. The ultimate goal is to support all Amazon
9588Web Services.")
9589 (license license:bsd-3)))
9590
da5fe92a
RW
9591(define-public ghc-basement
9592 (package
9593 (name "ghc-basement")
6bacde7c 9594 (version "0.0.8")
da5fe92a
RW
9595 (source
9596 (origin
9597 (method url-fetch)
9598 (uri (string-append "https://hackage.haskell.org/package/"
9599 "basement/basement-" version ".tar.gz"))
9600 (sha256
9601 (base32
6bacde7c 9602 "194jw567di4q2758943q9rrwkbf9gl261my7qc21i9xhyabipx67"))))
da5fe92a
RW
9603 (build-system haskell-build-system)
9604 (home-page "https://github.com/haskell-foundation/foundation")
9605 (synopsis "Basic primitives for Foundation starter pack")
9606 (description
9607 "This package contains basic primitives for the Foundation set of
9608packages.")
9609 (license license:bsd-3)))
9610
635cc8fe
RW
9611(define-public ghc-foundation
9612 (package
9613 (name "ghc-foundation")
95415545 9614 (version "0.0.21")
635cc8fe
RW
9615 (source
9616 (origin
9617 (method url-fetch)
9618 (uri (string-append "https://hackage.haskell.org/package/"
9619 "foundation/foundation-" version ".tar.gz"))
9620 (sha256
9621 (base32
95415545 9622 "1q43y8wfj0wf9gdq2kzphwjwq6m5pvryy1lqgk954aq5z3ks1lsf"))))
635cc8fe 9623 (build-system haskell-build-system)
95415545
TS
9624 (arguments
9625 `(#:phases
9626 (modify-phases %standard-phases
9627 (add-after 'unpack 'add-setup-script
9628 (lambda _
9629 ;; The usual "Setup.hs" script is missing from the source.
9630 (with-output-to-file "Setup.hs"
9631 (lambda ()
9632 (format #t "import Distribution.Simple~%")
9633 (format #t "main = defaultMain~%"))))))))
635cc8fe
RW
9634 (inputs `(("ghc-basement" ,ghc-basement)))
9635 (home-page "https://github.com/haskell-foundation/foundation")
9636 (synopsis "Alternative prelude with batteries and no dependencies")
9637 (description
9638 "This package provides a custom prelude with no dependencies apart from
9639the base package.
9640
9641Foundation has the following goals:
9642
9643@enumerate
9644@item provide a base like sets of modules that provide a consistent set of
9645 features and bugfixes across multiple versions of GHC (unlike base).
9646@item provide a better and more efficient prelude than base's prelude.
9647@item be self-sufficient: no external dependencies apart from base;
9648@item provide better data-types: packed unicode string by default, arrays;
9649@item Numerical classes that better represent mathematical things (no more
9650 all-in-one @code{Num});
9651@item I/O system with less lazy IO.
9652@end enumerate\n")
9653 (license license:bsd-3)))
9654
bb87be09 9655(define-public ghc-stm-chans
9656 (package
9657 (name "ghc-stm-chans")
9658 (version "3.0.0.4")
9659 (source
9660 (origin
9661 (method url-fetch)
9662 (uri (string-append "https://hackage.haskell.org/package/"
9663 "stm-chans-" version "/"
9664 "stm-chans-" version ".tar.gz"))
9665 (sha256
9666 (base32
9667 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9668 (build-system haskell-build-system)
9669 (inputs `(("ghc-stm" ,ghc-stm)))
9670 (home-page "https://hackage.haskell.org/package/stm-chans")
9671 (synopsis "Additional types of channels for ghc-stm")
9672 (description "This Haskell package offers a collection of channel types,
9673similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9674features.")
9675 (license license:bsd-3)))
9676
fddb41f2 9677(define-public ghc-monad-loops
9678 (package
9679 (name "ghc-monad-loops")
9680 (version "0.4.3")
9681 (source
9682 (origin
9683 (method url-fetch)
9684 (uri (string-append "https://hackage.haskell.org/package/"
9685 "monad-loops-" version "/"
9686 "monad-loops-" version ".tar.gz"))
9687 (sha256
9688 (base32
9689 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
9690 (build-system haskell-build-system)
9691 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9693 (home-page "https://github.com/mokus0/monad-loops")
9694 (synopsis "Monadic loops for Haskell")
9695 (description "This Haskell package provides some useful control
9696operators for looping.")
9697 (license license:public-domain)))
9698
fe9b5eff 9699(define-public ghc-monad-logger
9700 (package
9701 (name "ghc-monad-logger")
6f7280b0 9702 (version "0.3.29")
fe9b5eff 9703 (source
9704 (origin
9705 (method url-fetch)
9706 (uri (string-append "https://hackage.haskell.org/package/"
9707 "monad-logger-" version "/"
9708 "monad-logger-" version ".tar.gz"))
9709 (sha256
9710 (base32
6f7280b0 9711 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
fe9b5eff 9712 (build-system haskell-build-system)
9713 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
9714 ("ghc-text" ,ghc-text)
9715 ("ghc-stm" ,ghc-stm)
9716 ("ghc-stm-chans" ,ghc-stm-chans)
9717 ("ghc-lifted-base" ,ghc-lifted-base)
9718 ("ghc-resourcet" ,ghc-resourcet)
9719 ("ghc-conduit" ,ghc-conduit)
9720 ("ghc-conduit-extra" ,ghc-conduit-extra)
9721 ("ghc-fast-logger" ,ghc-fast-logger)
9722 ("ghc-transformers-base" ,ghc-transformers-base)
9723 ("ghc-monad-control" ,ghc-monad-control)
9724 ("ghc-monad-loops" ,ghc-monad-loops)
fe9b5eff 9725 ("ghc-blaze-builder" ,ghc-blaze-builder)
9726 ("ghc-exceptions" ,ghc-exceptions)))
9727 (home-page "https://github.com/kazu-yamamoto/logger")
9728 (synopsis "Provides a class of monads which can log messages for Haskell")
9729 (description "This Haskell package uses a monad transformer approach
9730for logging.
9731
9732This package provides Template Haskell functions for determining source
9733code locations of messages.")
9734 (license license:expat)))
9735
b2b4575d 9736(define-public ghc-shakespeare
9737 (package
9738 (name "ghc-shakespeare")
01a67f89 9739 (version "2.0.15")
b2b4575d 9740 (source
9741 (origin
9742 (method url-fetch)
9743 (uri (string-append "https://hackage.haskell.org/package/"
9744 "shakespeare-" version "/"
9745 "shakespeare-" version ".tar.gz"))
9746 (sha256
9747 (base32
01a67f89 9748 "1vk4b19zvwy4mpwaq9z3l3kfmz75gfyf7alhh0y112gspgpccm23"))))
b2b4575d 9749 (build-system haskell-build-system)
9750 (inputs `(("ghc-parsec" ,ghc-parsec)
9751 ("ghc-text" ,ghc-text)
9752 ("ghc-aeson" ,ghc-aeson)
9753 ("ghc-blaze-markup" ,ghc-blaze-markup)
9754 ("ghc-blaze-html" ,ghc-blaze-html)
9755 ("ghc-exceptions" ,ghc-exceptions)
9756 ("ghc-vector" ,ghc-vector)
9757 ("ghc-unordered-containers" ,ghc-unordered-containers)
9758 ("ghc-scientific" ,ghc-scientific)))
9759 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9760 ("ghc-hunit" ,ghc-hunit)
9761 ("hspec-discover" ,hspec-discover)))
9762 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9763 (synopsis "Family of type-safe template languages for Haskell")
9764 (description "This Haskell package provides a family of type-safe
9765templates with simple variable interpolation. Shakespeare templates can
9766be used inline with a quasi-quoter or in an external file and it
9767interpolates variables according to the type being inserted.")
9768 (license license:expat)))
9769
54f3536d 9770(define-public ghc-securemem
9771 (package
9772 (name "ghc-securemem")
4828f040 9773 (version "0.1.10")
54f3536d 9774 (source
9775 (origin
9776 (method url-fetch)
9777 (uri (string-append "https://hackage.haskell.org/package/"
9778 "securemem-" version "/"
9779 "securemem-" version ".tar.gz"))
9780 (sha256
9781 (base32
4828f040 9782 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
54f3536d 9783 (build-system haskell-build-system)
9784 (inputs `(("ghc-byteable" ,ghc-byteable)
9785 ("ghc-memory" ,ghc-memory)))
9786 (home-page "https://github.com/vincenthz/hs-securemem")
9787 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9788Haskell")
9789 (description "SecureMem is similar to ByteString, except that it provides
9790a memory chunk that will be auto-scrubbed after it run out of scope.")
9791 (license license:bsd-3)))
9792
d96a1bfe 9793(define-public ghc-resource-pool
9794 (package
9795 (name "ghc-resource-pool")
9796 (version "0.2.3.2")
9797 (source
9798 (origin
9799 (method url-fetch)
9800 (uri (string-append "https://hackage.haskell.org/package/"
9801 "resource-pool-" version "/"
9802 "resource-pool-" version ".tar.gz"))
9803 (sha256
9804 (base32
9805 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9806 (build-system haskell-build-system)
9807 (inputs `(("ghc-hashable" ,ghc-hashable)
9808 ("ghc-monad-control" ,ghc-monad-control)
9809 ("ghc-transformers-base" ,ghc-transformers-base)
9810 ("ghc-stm" ,ghc-stm)
9811 ("ghc-vector" ,ghc-vector)))
9812 (home-page "https://github.com/bos/pool")
9813 (synopsis "Striped resource pooling implementation in Haskell")
9814 (description "This Haskell package provides striped pooling abstraction
9815for managing flexibly-sized collections of resources such as database
9816connections.")
9817 (license license:bsd-3)))
9818
ac7cdb40 9819(define-public ghc-attoparsec-iso8601
9820 (package
9821 (name "ghc-attoparsec-iso8601")
9822 (version "1.0.0.0")
9823 (source
9824 (origin
9825 (method url-fetch)
9826 (uri (string-append "https://hackage.haskell.org/package/"
9827 "attoparsec-iso8601-" version "/"
9828 "attoparsec-iso8601-" version ".tar.gz"))
9829 (sha256
9830 (base32
9831 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
9832 (build-system haskell-build-system)
8e4394a5
TS
9833 (arguments
9834 `(#:cabal-revision
9835 ("1" "06f7pgmmc8456p3hc1y23kz1y127gfczy7s00wz1rls9g2sm2vi4")))
ac7cdb40 9836 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9837 ("ghc-base-compat" ,ghc-base-compat)
9838 ("ghc-text" ,ghc-text)))
9839 (home-page "https://github.com/bos/aeson")
9840 (synopsis "Parse ISO 8601 dates")
9841 (description "Haskell library for parsing of ISO 8601 dates, originally
9842from aeson.")
9843 (license license:bsd-3)))
9844
e99bd15c 9845(define-public ghc-generics-sop
9846 (package
9847 (name "ghc-generics-sop")
acf13271 9848 (version "0.3.2.0")
e99bd15c 9849 (source
9850 (origin
9851 (method url-fetch)
9852 (uri (string-append "https://hackage.haskell.org/package/"
9853 "generics-sop-" version "/"
9854 "generics-sop-" version ".tar.gz"))
9855 (sha256
9856 (base32
acf13271 9857 "168v62i845jh9jbfaz3ldz8svz4wmzq9mf2vhb7pxlnbkk8fqq1h"))))
e99bd15c 9858 (build-system haskell-build-system)
9859 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9860 (home-page "https://github.com/well-typed/generics-sop")
9861 (synopsis "Generic Programming using True Sums of Products for Haskell")
9862 (description "This Haskell package supports the definition of generic
9863functions. Datatypes are viewed in a uniform, structured way: the choice
9864between constructors is represented using an n-ary sum, and the arguments of
9865each constructor are represented using an n-ary product.")
9866 (license license:bsd-3)))
9867
8ecefe72 9868(define-public ghc-uri-bytestring
9869 (package
9870 (name "ghc-uri-bytestring")
bad349d8 9871 (version "0.3.2.0")
8ecefe72 9872 (source
9873 (origin
9874 (method url-fetch)
9875 (uri (string-append "https://hackage.haskell.org/package/"
9876 "uri-bytestring-" version "/"
9877 "uri-bytestring-" version ".tar.gz"))
9878 (sha256
9879 (base32
bad349d8 9880 "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c"))))
8ecefe72 9881 (build-system haskell-build-system)
9882 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9883 ("ghc-fail" ,ghc-fail)
9884 ("ghc-blaze-builder" ,ghc-blaze-builder)
9885 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
9886 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9887 ("ghc-hunit" ,ghc-hunit)
9888 ("ghc-quickcheck" ,ghc-quickcheck)
9889 ("ghc-tasty" ,ghc-tasty)
9890 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9891 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9892 ("ghc-base-compat" ,ghc-base-compat)
9893 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9894 ("ghc-semigroups" ,ghc-semigroups)
9895 ("ghc-generics-sop" ,ghc-generics-sop)))
9896 (home-page "https://github.com/Soostone/uri-bytestring")
9897 (synopsis "Haskell URI parsing as ByteStrings")
9898 (description "This Haskell package aims to be an RFC3986 compliant URI
9899parser that uses ByteStrings for parsing and representing the URI data.")
9900 (license license:bsd-3)))
9901
b6d8ea42 9902(define-public ghc-http-api-data
9903 (package
9904 (name "ghc-http-api-data")
de02e56b 9905 (version "0.3.8.1")
b6d8ea42 9906 (source
9907 (origin
9908 (method url-fetch)
9909 (uri (string-append "https://hackage.haskell.org/package/"
9910 "http-api-data-" version "/"
9911 "http-api-data-" version ".tar.gz"))
9912 (sha256
9913 (base32
de02e56b 9914 "1cq6459b8wz6nvkvpi89dg189n5q2xdq4rdq435hf150555vmskf"))))
b6d8ea42 9915 (build-system haskell-build-system)
9916 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
9917 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9918 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
9919 ("ghc-hashable" ,ghc-hashable)
9920 ("ghc-http-types" ,ghc-http-types)
9921 ("ghc-text" ,ghc-text)
9922 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9923 ("ghc-unordered-containers" ,ghc-unordered-containers)
9924 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
9925 ("ghc-uuid-types" ,ghc-uuid-types)))
9926 (home-page "https://github.com/fizruk/http-api-data")
9927 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
9928query parameters")
9929 (description "This Haskell package defines typeclasses used for converting
9930Haskell data types to and from HTTP API data.")
9931 (license license:bsd-3)))
9932
104e179d 9933(define-public ghc-persistent
9934 (package
9935 (name "ghc-persistent")
9936 (version "2.7.3.1")
9937 (source
9938 (origin
9939 (method url-fetch)
9940 (uri (string-append "https://hackage.haskell.org/package/"
9941 "persistent-" version "/"
9942 "persistent-" version ".tar.gz"))
9943 (sha256
9944 (base32
9945 "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
9946 (build-system haskell-build-system)
9947 (inputs `(("ghc-old-locale" ,ghc-old-locale)
9948 ("ghc-text" ,ghc-text)
9949 ("ghc-conduit" ,ghc-conduit)
9950 ("ghc-resourcet" ,ghc-resourcet)
9951 ("ghc-exceptions" ,ghc-exceptions)
9952 ("ghc-monad-control" ,ghc-monad-control)
9953 ("ghc-lifted-base" ,ghc-lifted-base)
9954 ("ghc-resource-pool" ,ghc-resource-pool)
9955 ("ghc-path-pieces" ,ghc-path-pieces)
9956 ("ghc-http-api-data" ,ghc-http-api-data)
9957 ("ghc-aeson" ,ghc-aeson)
9958 ("ghc-monad-logger" ,ghc-monad-logger)
9959 ("ghc-transformers-base" ,ghc-transformers-base)
9960 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9961 ("ghc-unordered-containers" ,ghc-unordered-containers)
9962 ("ghc-vector" ,ghc-vector)
9963 ("ghc-attoparsec" ,ghc-attoparsec)
9964 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
9965 ("ghc-blaze-html" ,ghc-blaze-html)
9966 ("ghc-blaze-markup" ,ghc-blaze-markup)
9967 ("ghc-silently" ,ghc-silently)
104e179d 9968 ("ghc-fast-logger" ,ghc-fast-logger)
9969 ("ghc-scientific" ,ghc-scientific)
9970 ("ghc-tagged" ,ghc-tagged)))
9971 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9972 (home-page "https://www.yesodweb.com/book/persistent")
9973 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9974 (description "This Haskell package allows Haskell programs to access data
9975storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9976way.")
9977 (license license:expat)))
9978
0f163f65 9979(define-public ghc-aeson-compat
9980 (package
9981 (name "ghc-aeson-compat")
22b5a1a4 9982 (version "0.3.8")
0f163f65 9983 (source
9984 (origin
9985 (method url-fetch)
9986 (uri (string-append "https://hackage.haskell.org/package/"
9987 "aeson-compat-" version "/"
9988 "aeson-compat-" version ".tar.gz"))
9989 (sha256
9990 (base32
22b5a1a4 9991 "0j4v13pgk21zy8hqkbx8hw0n05jdl17qphxz9rj4h333pr547r3i"))))
0f163f65 9992 (build-system haskell-build-system)
9993 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
9994 (inputs `(("ghc-base-compat" ,ghc-base-compat)
9995 ("ghc-aeson" ,ghc-aeson)
9996 ("ghc-attoparsec" ,ghc-attoparsec)
9997 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
9998 ("ghc-exceptions" ,ghc-exceptions)
9999 ("ghc-hashable" ,ghc-hashable)
10000 ("ghc-scientific" ,ghc-scientific)
10001 ("ghc-text" ,ghc-text)
10002 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10003 ("ghc-unordered-containers" ,ghc-unordered-containers)
10004 ("ghc-vector" ,ghc-vector)
10005 ("ghc-tagged" ,ghc-tagged)
10006 ("ghc-semigroups" ,ghc-semigroups)
10007 ("ghc-nats" ,ghc-nats)))
10008 (home-page "https://github.com/phadej/aeson-compat")
10009 (synopsis "Compatibility layer for ghc-aeson")
10010 (description "This Haskell package provides compatibility layer for
10011ghc-aeson.")
10012 (license license:bsd-3)))
10013
8434594d 10014(define-public ghc-persistent-template
10015 (package
10016 (name "ghc-persistent-template")
10017 (version "2.5.3.1")
10018 (source
10019 (origin
10020 (method url-fetch)
10021 (uri (string-append "https://hackage.haskell.org/package/"
10022 "persistent-template-" version "/"
10023 "persistent-template-" version ".tar.gz"))
10024 (sha256
10025 (base32
10026 "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
10027 (build-system haskell-build-system)
10028 (inputs `(("ghc-persistent" ,ghc-persistent)
10029 ("ghc-monad-control" ,ghc-monad-control)
10030 ("ghc-text" ,ghc-text)
10031 ("ghc-aeson" ,ghc-aeson)
10032 ("ghc-aeson-compat" ,ghc-aeson-compat)
10033 ("ghc-monad-logger" ,ghc-monad-logger)
10034 ("ghc-unordered-containers" ,ghc-unordered-containers)
10035 ("ghc-tagged" ,ghc-tagged)
10036 ("ghc-path-pieces" ,ghc-path-pieces)
10037 ("ghc-http-api-data" ,ghc-http-api-data)))
10038 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10039 ("ghc-quickcheck" ,ghc-quickcheck)))
10040 (home-page "https://www.yesodweb.com/book/persistent")
10041 (synopsis "Type-safe, non-relational, multi-backend persistence")
10042 (description "This Haskell package provides interfaces and helper
10043functions for the ghc-persistent package.")
10044 (license license:expat)))
10045
d5c34f9b 10046(define-public ghc-unliftio-core
10047 (package
10048 (name "ghc-unliftio-core")
10049 (version "0.1.1.0")
10050 (source
10051 (origin
10052 (method url-fetch)
10053 (uri (string-append "https://hackage.haskell.org/package/"
10054 "unliftio-core-" version "/"
10055 "unliftio-core-" version ".tar.gz"))
10056 (sha256
10057 (base32
10058 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
10059 (build-system haskell-build-system)
f871a555
TS
10060 (arguments
10061 `(#:cabal-revision
10062 ("1" "16bjwcsaghqqmyi69rq65dn3ydifyfaabq3ns37apdm00mwqbcj2")))
d5c34f9b 10063 (home-page
10064 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
10065 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
10066 (description "This Haskell package provides the core @code{MonadUnliftIO}
10067typeclass, instances for base and transformers, and basic utility
10068functions.")
10069 (license license:expat)))
10070
1c225fab 10071(define-public ghc-microlens
10072 (package
10073 (name "ghc-microlens")
f06b5f23 10074 (version "0.4.9.1")
1c225fab 10075 (source
10076 (origin
10077 (method url-fetch)
10078 (uri (string-append "https://hackage.haskell.org/package/"
10079 "microlens-" version "/"
10080 "microlens-" version ".tar.gz"))
10081 (sha256
10082 (base32
f06b5f23 10083 "0j2nzf0vpx2anvsrg2w0vy2z4jn3kkcs2n6glkzblhn1j9piqh51"))))
1c225fab 10084 (build-system haskell-build-system)
10085 (home-page
10086 "https://github.com/aelve/microlens")
10087 (synopsis "Provides a tiny lens Haskell library with no dependencies")
10088 (description "This Haskell package provides a lens library, just like
10089@code{ghc-lens}, but smaller. It provides essential lenses and
10090traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
10091nice to have (like @code{each}, @code{at}, and @code{ix}), and some
10092combinators (like @code{failing} and @code{singular}), but everything else is
10093stripped. As the result, this package has no dependencies.")
10094 (license license:bsd-3)))
10095
82e0b0e2 10096(define-public ghc-microlens-th
10097 (package
10098 (name "ghc-microlens-th")
c1812226 10099 (version "0.4.2.2")
82e0b0e2 10100 (source
10101 (origin
10102 (method url-fetch)
10103 (uri (string-append "https://hackage.haskell.org/package/"
10104 "microlens-th-" version "/"
10105 "microlens-th-" version ".tar.gz"))
10106 (sha256
10107 (base32
c1812226 10108 "02nj7lnl61yffi3c6wn341arxhld5r0vj6nzcb5zmqjhnqsv8c05"))))
82e0b0e2 10109 (build-system haskell-build-system)
c1812226
TS
10110 (inputs `(("ghc-microlens" ,ghc-microlens)
10111 ("ghc-th-abstraction" ,ghc-th-abstraction)))
82e0b0e2 10112 (home-page
10113 "https://github.com/aelve/microlens")
10114 (synopsis "Automatic generation of record lenses for
10115@code{ghc-microlens}")
10116 (description "This Haskell package lets you automatically generate lenses
10117for data types; code was extracted from the lens package, and therefore
10118generated lenses are fully compatible with ones generated by lens (and can be
10119used both from lens and microlens).")
10120 (license license:bsd-3)))
10121
e85c58ed 10122(define-public ghc-unliftio
10123 (package
10124 (name "ghc-unliftio")
96d214a6 10125 (version "0.2.7.0")
e85c58ed 10126 (source
10127 (origin
10128 (method url-fetch)
10129 (uri (string-append
10130 "https://hackage.haskell.org/package/unliftio/unliftio-"
10131 version
10132 ".tar.gz"))
10133 (sha256
10134 (base32
96d214a6 10135 "0qql93lq5w7qghl454cc3s1i8v1jb4h08n82fqkw0kli4g3g9njs"))))
e85c58ed 10136 (build-system haskell-build-system)
10137 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
10138 (inputs
10139 `(("ghc-async" ,ghc-async)
10140 ("ghc-stm" ,ghc-stm)
10141 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10142 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
10143 (home-page "https://github.com/fpco/unliftio")
10144 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
10145IO (batteries included)")
10146 (description "This Haskell package provides the core @code{MonadUnliftIO}
10147typeclass, a number of common instances, and a collection of common functions
10148working with it.")
10149 (license license:expat)))
10150
e01a8fcc 10151(define-public ghc-persistent-sqlite
10152 (package
10153 (name "ghc-persistent-sqlite")
10154 (version "2.6.4")
10155 (source
10156 (origin
10157 (method url-fetch)
10158 (uri (string-append "https://hackage.haskell.org/package/"
10159 "persistent-sqlite-" version "/"
10160 "persistent-sqlite-" version ".tar.gz"))
10161 (sha256
10162 (base32
10163 "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
10164 (build-system haskell-build-system)
10165 (inputs `(("ghc-persistent" ,ghc-persistent)
10166 ("ghc-unliftio-core" ,ghc-unliftio-core)
10167 ("ghc-aeson" ,ghc-aeson)
10168 ("ghc-conduit" ,ghc-conduit)
10169 ("ghc-monad-logger" ,ghc-monad-logger)
10170 ("ghc-microlens-th" ,ghc-microlens-th)
10171 ("ghc-resourcet" ,ghc-resourcet)
10172 ("ghc-old-locale" ,ghc-old-locale)
10173 ("ghc-resource-pool" ,ghc-resource-pool)
10174 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10175 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10176 ("ghc-persistent-template" ,ghc-persistent-template)
10177 ("ghc-temporary" ,ghc-temporary)
10178 ("ghc-text" ,ghc-text)))
10179 (home-page
10180 "https://www.yesodweb.com/book/persistent")
10181 (synopsis "Backend for the persistent library using sqlite3")
10182 (description "This Haskell package includes a thin sqlite3 wrapper based
10183on the direct-sqlite package, as well as the entire C library, so there are no
10184system dependencies.")
10185 (license license:expat)))
10186
b50e1c89 10187(define-public ghc-email-validate
10188 (package
10189 (name "ghc-email-validate")
146198f8 10190 (version "2.3.2.6")
b50e1c89 10191 (source
10192 (origin
10193 (method url-fetch)
10194 (uri (string-append
10195 "https://hackage.haskell.org/package/"
10196 "email-validate/email-validate-"
10197 version
10198 ".tar.gz"))
10199 (sha256
10200 (base32
146198f8 10201 "0chgylvc8xmhp933rdbmpg5sv4y7yg2h6kbf0ip1dzmbd5p55pa5"))))
b50e1c89 10202 (build-system haskell-build-system)
10203 (inputs
10204 `(("ghc-attoparsec" ,ghc-attoparsec)
10205 ("ghc-hspec" ,ghc-hspec)
10206 ("ghc-quickcheck" ,ghc-quickcheck)
10207 ("ghc-doctest" ,ghc-doctest)))
10208 (home-page
10209 "https://github.com/Porges/email-validate-hs")
10210 (synopsis "Email address validator for Haskell")
10211 (description
10212 "This Haskell package provides a validator that can validate an email
10213address string against RFC 5322.")
10214 (license license:bsd-3)))
10215
dea5c0b8 10216(define-public ghc-bytes
7d4e377f 10217 (package
dea5c0b8 10218 (name "ghc-bytes")
40a8d076 10219 (version "0.15.5")
7d4e377f
T
10220 (source
10221 (origin
10222 (method url-fetch)
10223 (uri
dea5c0b8
T
10224 (string-append "https://hackage.haskell.org/package/bytes-"
10225 version "/bytes-"
7d4e377f
T
10226 version ".tar.gz"))
10227 (file-name (string-append name "-" version ".tar.gz"))
10228 (sha256
10229 (base32
40a8d076 10230 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
7d4e377f 10231 (build-system haskell-build-system)
dea5c0b8
T
10232 (inputs `(("ghc-cereal" ,ghc-cereal)
10233 ("cabal-doctest" ,cabal-doctest)
40a8d076 10234 ("ghc-doctest" ,ghc-doctest)
dea5c0b8
T
10235 ("ghc-scientific" ,ghc-scientific)
10236 ("ghc-text" ,ghc-text)
10237 ("ghc-transformers-compat" ,ghc-transformers-compat)
10238 ("ghc-unordered-containers" ,ghc-unordered-containers)
10239 ("ghc-void" ,ghc-void)
10240 ("ghc-vector" ,ghc-vector)))
10241 (synopsis "Serialization between @code{binary} and @code{cereal}")
10242 (description "This package provides a simple compatibility shim that lets
10243you work with both @code{binary} and @code{cereal} with one chunk of
10244serialization code.")
10245 (home-page "https://hackage.haskell.org/package/bytes")
7d4e377f
T
10246 (license license:bsd-3)))
10247
4e5d9bf2
TS
10248(define-public ghc-disk-free-space
10249 (package
10250 (name "ghc-disk-free-space")
10251 (version "0.1.0.1")
10252 (source
10253 (origin
10254 (method url-fetch)
10255 (uri (string-append "https://hackage.haskell.org/package/"
10256 "disk-free-space/disk-free-space-"
10257 version ".tar.gz"))
10258 (sha256
10259 (base32
10260 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
10261 (build-system haskell-build-system)
10262 (home-page "https://github.com/redneb/disk-free-space")
10263 (synopsis "Retrieve information about disk space usage")
10264 (description "A cross-platform library for retrieving information about
10265disk space usage.")
10266 (license license:bsd-3)))
10267
66413378
DM
10268(define-public ghc-xdg-basedir
10269 (package
10270 (name "ghc-xdg-basedir")
10271 (version "0.2.2")
10272 (source
10273 (origin
10274 (method url-fetch)
10275 (uri (string-append
10276 "https://hackage.haskell.org/package/xdg-basedir/"
10277 "xdg-basedir-" version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
10281 (build-system haskell-build-system)
10282 (home-page "http://github.com/willdonnelly/xdg-basedir")
10283 (synopsis "XDG Base Directory library for Haskell")
10284 (description "This package provides a library implementing the XDG Base Directory spec.")
10285 (license license:bsd-3)))
10286
19395aec
RW
10287(define-public ghc-errorcall-eq-instance
10288 (package
10289 (name "ghc-errorcall-eq-instance")
10290 (version "0.3.0")
10291 (source
10292 (origin
10293 (method url-fetch)
10294 (uri (string-append "https://hackage.haskell.org/package/"
10295 "errorcall-eq-instance/errorcall-eq-instance-"
10296 version ".tar.gz"))
10297 (sha256
10298 (base32
10299 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
10300 (build-system haskell-build-system)
10301 (inputs
10302 `(("ghc-base-orphans" ,ghc-base-orphans)))
10303 (native-inputs
10304 `(("ghc-quickcheck" ,ghc-quickcheck)
10305 ("ghc-hspec" ,ghc-hspec)
10306 ("hspec-discover" ,hspec-discover)))
10307 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
10308 (synopsis "Orphan Eq instance for ErrorCall")
10309 (description
10310 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
10311This package provides an orphan instance.")
10312 (license license:expat)))
10313
ea6ffd3c
RW
10314(define-public ghc-missingh
10315 (package
10316 (name "ghc-missingh")
10317 (version "1.4.0.1")
10318 (source
10319 (origin
10320 (method url-fetch)
10321 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
10322 "MissingH-" version ".tar.gz"))
10323 (sha256
10324 (base32
10325 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
10326 (build-system haskell-build-system)
10327 ;; Tests require the unmaintained testpack package, which depends on the
10328 ;; outdated QuickCheck version 2.7, which can no longer be built with
10329 ;; recent versions of GHC and Haskell libraries.
10330 (arguments '(#:tests? #f))
10331 (inputs
10332 `(("ghc-network" ,ghc-network)
10333 ("ghc-parsec" ,ghc-parsec)
ea6ffd3c
RW
10334 ("ghc-hunit" ,ghc-hunit)
10335 ("ghc-regex-compat" ,ghc-regex-compat)
10336 ("ghc-hslogger" ,ghc-hslogger)
10337 ("ghc-random" ,ghc-random)
10338 ("ghc-old-time" ,ghc-old-time)
10339 ("ghc-old-locale" ,ghc-old-locale)))
10340 (native-inputs
10341 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
10342 ("ghc-quickcheck" ,ghc-quickcheck)
10343 ("ghc-hunit" ,ghc-hunit)))
10344 (home-page "http://software.complete.org/missingh")
10345 (synopsis "Large utility library")
10346 (description
10347 "MissingH is a library of all sorts of utility functions for Haskell
10348programmers. It is written in pure Haskell and thus should be extremely
10349portable and easy to use.")
10350 (license license:bsd-3)))
10351
657d220d
RW
10352(define-public ghc-intervalmap
10353 (package
10354 (name "ghc-intervalmap")
10355 (version "0.6.0.0")
10356 (source
10357 (origin
10358 (method url-fetch)
10359 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
10360 "IntervalMap-" version ".tar.gz"))
10361 (sha256
10362 (base32
10363 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
10364 (build-system haskell-build-system)
10365 (native-inputs
10366 `(("ghc-quickcheck" ,ghc-quickcheck)))
10367 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
10368 (synopsis "Containers for intervals, with efficient search")
10369 (description
10370 "This package provides ordered containers of intervals, with efficient
10371search for all keys containing a point or overlapping an interval. See the
10372example code on the home page for a quick introduction.")
10373 (license license:bsd-3)))
10374
2e72967b
RW
10375(define-public ghc-operational
10376 (package
10377 (name "ghc-operational")
10378 (version "0.2.3.5")
10379 (source
10380 (origin
10381 (method url-fetch)
10382 (uri (string-append "https://hackage.haskell.org/package/operational/"
10383 "operational-" version ".tar.gz"))
10384 (sha256
10385 (base32
10386 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
10387 (build-system haskell-build-system)
10388 (inputs
f54f0475 10389 `(("ghc-random" ,ghc-random)))
2e72967b
RW
10390 (home-page "http://wiki.haskell.org/Operational")
10391 (synopsis "Implementation of difficult monads made easy with operational semantics")
10392 (description
10393 "This library makes it easy to implement monads with tricky control
10394flow. This is useful for: writing web applications in a sequential style,
10395programming games with a uniform interface for human and AI players and easy
10396replay capababilities, implementing fast parser monads, designing monadic
10397DSLs, etc.")
10398 (license license:bsd-3)))
10399
cd447603
RW
10400(define-public ghc-gtk2hs-buildtools
10401 (package
10402 (name "ghc-gtk2hs-buildtools")
10403 (version "0.13.4.0")
10404 (source
10405 (origin
10406 (method url-fetch)
10407 (uri (string-append "https://hackage.haskell.org/package/"
10408 "gtk2hs-buildtools/gtk2hs-buildtools-"
10409 version ".tar.gz"))
10410 (sha256
10411 (base32
10412 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
10413 (build-system haskell-build-system)
10414 (inputs
10415 `(("ghc-random" ,ghc-random)
10416 ("ghc-hashtables" ,ghc-hashtables)))
10417 (native-inputs
10418 `(("ghc-alex" ,ghc-alex)
10419 ("ghc-happy" ,ghc-happy)))
10420 (home-page "http://projects.haskell.org/gtk2hs/")
10421 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
10422 (description
10423 "This package provides a set of helper programs necessary to build the
10424Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
10425that is used to generate FFI declarations, a tool to build a type hierarchy
10426that mirrors the C type hierarchy of GObjects found in glib, and a generator
10427for signal declarations that are used to call back from C to Haskell. These
10428tools are not needed to actually run Gtk2Hs programs.")
10429 (license license:gpl2)))
10430
42744c1d
RW
10431(define-public ghc-chart
10432 (package
10433 (name "ghc-chart")
10434 (version "1.8.3")
10435 (source
10436 (origin
10437 (method url-fetch)
10438 (uri (string-append "https://hackage.haskell.org/package/Chart/"
10439 "Chart-" version ".tar.gz"))
10440 (sha256
10441 (base32
10442 "13s64fhb2pmkdmx5bkgbgcn25qjihs364fvr47a1dw25f804kiy1"))))
10443 (build-system haskell-build-system)
10444 (inputs
10445 `(("ghc-old-locale" ,ghc-old-locale)
42744c1d
RW
10446 ("ghc-lens" ,ghc-lens)
10447 ("ghc-colour" ,ghc-colour)
10448 ("ghc-data-default-class" ,ghc-data-default-class)
10449 ("ghc-operational" ,ghc-operational)
10450 ("ghc-vector" ,ghc-vector)))
10451 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10452 (synopsis "Library for generating 2D charts and plots")
10453 (description
10454 "This package provides a library for generating 2D charts and plots, with
10455backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
10456 (license license:bsd-3)))
10457
9c4b522f
AI
10458(define-public ghc-wcwidth
10459 (package
10460 (name "ghc-wcwidth")
10461 (version "0.0.2")
10462 (source
10463 (origin
10464 (method url-fetch)
10465 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
10466 version ".tar.gz"))
10467 (sha256
10468 (base32
10469 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
10470 (build-system haskell-build-system)
10471 (inputs
10472 `(("ghc-setlocale" ,ghc-setlocale)
10473 ("ghc-utf8-string" ,ghc-utf8-string)
f9f4578b 10474 ("ghc-attoparsec" ,ghc-attoparsec)))
9c4b522f
AI
10475 (home-page "https://github.com/solidsnack/wcwidth/")
10476 (synopsis "Haskell bindings to wcwidth")
10477 (description "This package provides Haskell bindings to your system's
10478native wcwidth and a command line tool to examine the widths assigned by it.
10479The command line tool can compile a width table to Haskell code that assigns
10480widths to the Char type.")
10481 (license license:bsd-3)))
10482
9d1944a4
TS
10483(define-public ghc-wcwidth-bootstrap
10484 (package
10485 (inherit ghc-wcwidth)
10486 (name "ghc-wcwidth-bootstrap")
10487 (inputs
10488 `(("ghc-setlocale" ,ghc-setlocale)
10489 ("ghc-utf8-string" ,ghc-utf8-string)
10490 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
10491 (properties '(hidden? #t))))
10492
246b3437 10493;;; haskell.scm ends here