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