gnu: ghc-tar: Disable tests.
[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)
c0a541cb
RW
3172 (arguments
3173 `(#:configure-flags (list "--allow-newer=QuickCheck")))
ce242fd0 3174 (inputs
3175 `(("ghc-mtl" ,ghc-mtl)
3176 ("ghc-hspec" ,ghc-hspec)
3177 ("ghc-quickcheck" ,ghc-quickcheck)))
c5043f4a
FB
3178 (home-page "http://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3179 (synopsis
3180 "Martin Erwig's Functional Graph Library")
3181 (description "The functional graph library, FGL, is a collection of type
3182and function definitions to address graph problems. The basis of the library
3183is an inductive definition of graphs in the style of algebraic data types that
3184encourages inductive, recursive definitions of graph algorithms.")
3ac73271 3185 (license license:bsd-3)))
c5043f4a 3186
4eca62be
EB
3187(define-public ghc-chasingbottoms
3188 (package
3189 (name "ghc-chasingbottoms")
2c72272a 3190 (version "1.3.1.3")
4eca62be
EB
3191 (source
3192 (origin
3193 (method url-fetch)
612fddec 3194 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
4eca62be
EB
3195 "ChasingBottoms-" version ".tar.gz"))
3196 (sha256
3197 (base32
2c72272a 3198 "04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q"))))
4eca62be 3199 (build-system haskell-build-system)
2d47cee2 3200 (inputs
4eca62be
EB
3201 `(("ghc-mtl" ,ghc-mtl)
3202 ("ghc-quickcheck" ,ghc-quickcheck)
3203 ("ghc-random" ,ghc-random)
3204 ("ghc-syb" ,ghc-syb)))
612fddec 3205 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
4eca62be
EB
3206 (synopsis "Testing of partial and infinite values in Haskell")
3207 (description
3208 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3209 ;; rendered properly.
3210 "This is a library for testing code involving bottoms or infinite values.
3211For the underlying theory and a larger example involving use of QuickCheck,
3212see the article
3213@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3214\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3215Partial and Infinite Values\"}.")
3ac73271 3216 (license license:expat)))
4eca62be 3217
01a687da
FB
3218(define-public ghc-unordered-containers
3219 (package
3220 (name "ghc-unordered-containers")
426f92ba 3221 (version "0.2.7.1")
01a687da
FB
3222 (outputs '("out" "doc"))
3223 (source
3224 (origin
3225 (method url-fetch)
3226 (uri (string-append
612fddec 3227 "https://hackage.haskell.org/package/unordered-containers"
0e03d76a 3228 "/unordered-containers-" version ".tar.gz"))
01a687da
FB
3229 (sha256
3230 (base32
426f92ba 3231 "00npqiphivjp2d7ryqsdavfn4m5v3w1lq2azhdsrfh0wsvqpg4ig"))))
01a687da
FB
3232 (build-system haskell-build-system)
3233 (inputs
c3c61a78
EB
3234 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3235 ("ghc-hunit" ,ghc-hunit)
3236 ("ghc-quickcheck" ,ghc-quickcheck)
3237 ("ghc-test-framework" ,ghc-test-framework)
3238 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2d47cee2
RW
3239 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3240 ("ghc-hashable" ,ghc-hashable)))
01a687da
FB
3241 (home-page
3242 "https://github.com/tibbe/unordered-containers")
3243 (synopsis
3244 "Efficient hashing-based container types")
3245 (description
3246 "Efficient hashing-based container types. The containers have been
3247optimized for performance critical use, both in terms of large data quantities
3248and high speed.")
3ac73271 3249 (license license:bsd-3)))
01a687da 3250
10de4306
PW
3251(define-public ghc-uniplate
3252 (package
3253 (name "ghc-uniplate")
3254 (version "1.6.12")
3255 (source
3256 (origin
3257 (method url-fetch)
3258 (uri (string-append
612fddec 3259 "https://hackage.haskell.org/package/uniplate/uniplate-"
10de4306
PW
3260 version
3261 ".tar.gz"))
3262 (sha256
3263 (base32
3264 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3265 (build-system haskell-build-system)
2d47cee2 3266 (inputs
10de4306
PW
3267 `(("ghc-syb" ,ghc-syb)
3268 ("ghc-hashable" ,ghc-hashable)
3269 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3270 (home-page "http://community.haskell.org/~ndm/uniplate/")
3271 (synopsis "Simple, concise and fast generic operations")
3272 (description "Uniplate is a library for writing simple and concise generic
3273operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3274work, but is substantially simpler and faster.")
3ac73271 3275 (license license:bsd-3)))
10de4306 3276
3410470d
PW
3277(define-public ghc-base64-bytestring
3278 (package
3279 (name "ghc-base64-bytestring")
3280 (version "1.0.0.1")
3281 (source
3282 (origin
3283 (method url-fetch)
3284 (uri (string-append
612fddec 3285 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3410470d
PW
3286 version
3287 ".tar.gz"))
3288 (sha256
3289 (base32
3290 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3291 (build-system haskell-build-system)
3292 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3293 (home-page "https://github.com/bos/base64-bytestring")
3294 (synopsis "Base64 encoding and decoding for ByteStrings")
3295 (description "This library provides fast base64 encoding and decoding for
3296Haskell @code{ByteString}s.")
3ac73271 3297 (license license:bsd-3)))
3410470d 3298
4e125497
PW
3299(define-public ghc-annotated-wl-pprint
3300 (package
3301 (name "ghc-annotated-wl-pprint")
3302 (version "0.7.0")
3303 (source
3304 (origin
3305 (method url-fetch)
3306 (uri (string-append
612fddec 3307 "https://hackage.haskell.org/package/annotated-wl-pprint"
4e125497
PW
3308 "/annotated-wl-pprint-" version
3309 ".tar.gz"))
3310 (sha256
3311 (base32
3312 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3313 (build-system haskell-build-system)
3314 (home-page
3315 "https://github.com/david-christiansen/annotated-wl-pprint")
3316 (synopsis
3317 "The Wadler/Leijen Pretty Printer, with annotation support")
3318 (description "This is a modified version of wl-pprint, which was based on
3319Wadler's paper \"A Prettier Printer\". This version allows the library user
3320to annotate the text with semantic information, which can later be rendered in
3321a variety of ways.")
3ac73271 3322 (license license:bsd-3)))
4e125497 3323
febf7ef6
LC
3324(define-public ghc-wl-pprint
3325 (package
3326 (name "ghc-wl-pprint")
3327 (version "1.2")
3328 (source (origin
3329 (method url-fetch)
3330 (uri (string-append
612fddec 3331 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
febf7ef6
LC
3332 version ".tar.gz"))
3333 (sha256
3334 (base32
3335 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3336 (build-system haskell-build-system)
612fddec 3337 (home-page "https://hackage.haskell.org/package/wl-pprint")
febf7ef6
LC
3338 (synopsis "Wadler/Leijen pretty printer")
3339 (description
3340 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3341Printer}. This version allows the library user to declare overlapping
3342instances of the @code{Pretty} class.")
3343 (license license:bsd-3)))
3344
e9333348
PW
3345(define-public ghc-ansi-wl-pprint
3346 (package
3347 (name "ghc-ansi-wl-pprint")
3348 (version "0.6.7.3")
3349 (source
3350 (origin
3351 (method url-fetch)
3352 (uri (string-append
612fddec 3353 "https://hackage.haskell.org/package/ansi-wl-pprint/ansi-wl-pprint-"
e9333348
PW
3354 version
3355 ".tar.gz"))
3356 (sha256
3357 (base32
3358 "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p"))))
3359 (build-system haskell-build-system)
2d47cee2 3360 (inputs
e9333348 3361 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
612fddec 3362 (home-page "https://github.com/ekmett/ansi-wl-pprint")
e9333348
PW
3363 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3364 (description "This is a pretty printing library based on Wadler's paper
3365\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3366colored output using the ansi-terminal package.")
3ac73271 3367 (license license:bsd-3)))
e9333348 3368
d692228e
FB
3369(define-public ghc-split
3370 (package
3371 (name "ghc-split")
86e9076d 3372 (version "0.2.3.1")
d692228e
FB
3373 (outputs '("out" "doc"))
3374 (source
3375 (origin
3376 (method url-fetch)
3377 (uri (string-append
612fddec 3378 "https://hackage.haskell.org/package/split/split-"
d692228e
FB
3379 version
3380 ".tar.gz"))
3381 (sha256
3382 (base32
86e9076d 3383 "12660m16c6sib3laaxn6w9s453pyx1b49myrmzfij372vq5bc5bn"))))
d692228e 3384 (build-system haskell-build-system)
86e9076d 3385 (native-inputs
d692228e 3386 `(("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 3387 (home-page "https://hackage.haskell.org/package/split")
565f040d
PW
3388 (synopsis "Combinator library for splitting lists")
3389 (description "This package provides a collection of Haskell functions for
3390splitting lists into parts, akin to the @code{split} function found in several
3391mainstream languages.")
3ac73271 3392 (license license:bsd-3)))
d692228e 3393
fa468e87
FB
3394(define-public ghc-parsec
3395 (package
3396 (name "ghc-parsec")
e2439904 3397 (version "3.1.11")
fa468e87
FB
3398 (outputs '("out" "doc"))
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append
612fddec 3403 "https://hackage.haskell.org/package/parsec/parsec-"
fa468e87
FB
3404 version
3405 ".tar.gz"))
3406 (sha256
e2439904 3407 (base32 "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg"))))
fa468e87 3408 (build-system haskell-build-system)
2d47cee2 3409 (native-inputs
fa468e87 3410 `(("ghc-hunit" ,ghc-hunit)))
2d47cee2 3411 (inputs
fa468e87
FB
3412 `(("ghc-text" ,ghc-text)
3413 ("ghc-mtl" ,ghc-mtl)))
3414 (arguments
3415 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3416 (home-page
3417 "https://github.com/aslatter/parsec")
3418 (synopsis "Monadic parser combinators")
3419 (description "Parsec is a parser library. It is simple, safe, well
3420documented, has extensive libraries, good error messages, and is fast. It is
3421defined as a monad transformer that can be stacked on arbitrary monads, and it
3422is also parametric in the input stream type.")
3ac73271 3423 (license license:bsd-3)))
fa468e87 3424
f50fc138
FB
3425(define-public ghc-vector
3426 (package
3427 (name "ghc-vector")
4c8a1f40 3428 (version "0.12.0.1")
f50fc138
FB
3429 (outputs '("out" "doc"))
3430 (source
3431 (origin
3432 (method url-fetch)
3433 (uri (string-append
612fddec 3434 "https://hackage.haskell.org/package/vector/vector-"
f50fc138
FB
3435 version
3436 ".tar.gz"))
3437 (sha256
3438 (base32
4c8a1f40 3439 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
f50fc138 3440 (build-system haskell-build-system)
4c8a1f40
RW
3441 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
3442 ;; disabled for now.
3443 (arguments `(#:tests? #f))
e881752c 3444 (inputs
2d47cee2 3445 `(("ghc-primitive" ,ghc-primitive)
4c8a1f40
RW
3446 ("ghc-random" ,ghc-random)
3447 ("ghc-quickcheck" ,ghc-quickcheck)
3448 ;; ("ghc-hunit" ,ghc-hunit)
3449 ;; ("ghc-test-framework" ,ghc-test-framework)
3450 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3451 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3452 ))
f50fc138
FB
3453 (home-page "https://github.com/haskell/vector")
3454 (synopsis "Efficient Arrays")
0b61d503
PW
3455 (description "This library provides an efficient implementation of
3456Int-indexed arrays (both mutable and immutable), with a powerful loop
3457optimisation framework.")
3ac73271 3458 (license license:bsd-3)))
f50fc138 3459
576cdc5a
PW
3460(define-public ghc-vector-binary-instances
3461 (package
3462 (name "ghc-vector-binary-instances")
a7c0b95a 3463 (version "0.2.4")
576cdc5a
PW
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
612fddec 3468 "https://hackage.haskell.org/package/"
576cdc5a
PW
3469 "vector-binary-instances/vector-binary-instances-"
3470 version ".tar.gz"))
3471 (sha256
3472 (base32
a7c0b95a 3473 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
576cdc5a 3474 (build-system haskell-build-system)
576cdc5a 3475 (inputs
a7c0b95a
RW
3476 `(("ghc-vector" ,ghc-vector)))
3477 (native-inputs
3478 `(("ghc-tasty" ,ghc-tasty)
3479 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
576cdc5a
PW
3480 (home-page "https://github.com/bos/vector-binary-instances")
3481 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3482 (description "This library provides instances of @code{Binary} for the
3483types defined in the @code{vector} package, making it easy to serialize
3484vectors to and from disk. We use the generic interface to vectors, so all
3485vector types are supported. Specific instances are provided for unboxed,
3486boxed and storable vectors.")
3ac73271 3487 (license license:bsd-3)))
576cdc5a 3488
abfed253
FB
3489(define-public ghc-network
3490 (package
3491 (name "ghc-network")
2f430bf8 3492 (version "2.6.3.1")
abfed253
FB
3493 (outputs '("out" "doc"))
3494 (source
3495 (origin
3496 (method url-fetch)
3497 (uri (string-append
612fddec 3498 "https://hackage.haskell.org/package/network/network-"
abfed253
FB
3499 version
3500 ".tar.gz"))
3501 (sha256
3502 (base32
2f430bf8 3503 "1rl2gl37cf4k0ddsq93q15fwdz1l25nhl4w205krbh7d5dg5y12p"))))
abfed253 3504 (build-system haskell-build-system)
2f430bf8
RW
3505 ;; The regression tests depend on an unpublished module.
3506 (arguments `(#:tests? #f))
3507 (native-inputs
3508 `(("ghc-hunit" ,ghc-hunit)
3509 ("ghc-doctest" ,ghc-doctest)
3510 ("ghc-test-framework" ,ghc-test-framework)
3511 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
abfed253
FB
3512 (home-page "https://github.com/haskell/network")
3513 (synopsis "Low-level networking interface")
3514 (description
3515 "This package provides a low-level networking interface.")
3ac73271 3516 (license license:bsd-3)))
abfed253 3517
9ce031c5
FB
3518(define-public ghc-network-uri
3519 (package
3520 (name "ghc-network-uri")
29addb27 3521 (version "2.6.1.0")
9ce031c5
FB
3522 (outputs '("out" "doc"))
3523 (source
3524 (origin
3525 (method url-fetch)
3526 (uri (string-append
612fddec 3527 "https://hackage.haskell.org/package/network-uri/network-uri-"
9ce031c5
FB
3528 version
3529 ".tar.gz"))
3530 (sha256
3531 (base32
29addb27 3532 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
9ce031c5 3533 (build-system haskell-build-system)
9ce031c5
FB
3534 (arguments
3535 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2d47cee2
RW
3536 (native-inputs
3537 `(("ghc-hunit" ,ghc-hunit)))
3538 (inputs
3539 `(("ghc-parsec" ,ghc-parsec)
3540 ("ghc-network" ,ghc-network)))
9ce031c5
FB
3541 (home-page
3542 "https://github.com/haskell/network-uri")
e881752c
AK
3543 (synopsis "Library for URI manipulation")
3544 (description "This package provides an URI manipulation interface. In
9ce031c5
FB
3545'network-2.6' the 'Network.URI' module was split off from the 'network'
3546package into this package.")
3ac73271 3547 (license license:bsd-3)))
9ce031c5 3548
cd27b23d
PW
3549(define-public ghc-ansi-terminal
3550 (package
3551 (name "ghc-ansi-terminal")
3552 (version "0.6.2.3")
3553 (source
3554 (origin
3555 (method url-fetch)
3556 (uri (string-append
612fddec 3557 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
cd27b23d
PW
3558 version
3559 ".tar.gz"))
3560 (sha256
3561 (base32
3562 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
3563 (build-system haskell-build-system)
3564 (home-page "https://github.com/feuerbach/ansi-terminal")
3565 (synopsis "ANSI terminal support for Haskell")
3566 (description "This package provides ANSI terminal support for Haskell. It
3567allows cursor movement, screen clearing, color output showing or hiding the
3568cursor, and changing the title.")
3ac73271 3569 (license license:bsd-3)))
cd27b23d 3570
6ecc4723
PW
3571(define-public ghc-vault
3572 (package
3573 (name "ghc-vault")
a25d3035 3574 (version "0.3.0.6")
6ecc4723
PW
3575 (source
3576 (origin
3577 (method url-fetch)
3578 (uri (string-append
612fddec 3579 "https://hackage.haskell.org/package/vault/vault-"
6ecc4723
PW
3580 version
3581 ".tar.gz"))
3582 (sha256
3583 (base32
a25d3035 3584 "0j7gcs440q7qlgzi2hn36crgp2c0w69k40g6vj9hxlm31zk3shqb"))))
6ecc4723 3585 (build-system haskell-build-system)
2d47cee2 3586 (inputs
6ecc4723
PW
3587 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3588 ("ghc-hashable" ,ghc-hashable)))
3589 (home-page
3590 "https://github.com/HeinrichApfelmus/vault")
3591 (synopsis "Persistent store for arbitrary values")
3592 (description "This package provides vaults for Haskell. A vault is a
3593persistent store for values of arbitrary types. It's like having first-class
3594access to the storage space behind @code{IORefs}. The data structure is
3595analogous to a bank vault, where you can access different bank boxes with
3596different keys; hence the name. Also provided is a @code{locker} type,
3597representing a store for a single element.")
3ac73271 3598 (license license:bsd-3)))
6ecc4723 3599
212ae095
AV
3600(define-public ghc-edisonapi
3601 (package
3602 (name "ghc-edisonapi")
3603 (version "1.3.1")
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3608 "/EdisonAPI-" version ".tar.gz"))
3609 (sha256
3610 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3611 (build-system haskell-build-system)
3612 (inputs `(("ghc-mtl" ,ghc-mtl)))
3613 (home-page "http://rwd.rdockins.name/edison/home/")
3614 (synopsis "Library of efficient, purely-functional data structures (API)")
3615 (description
3616 "Edison is a library of purely functional data structures written by
3617Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3618value EDiSon (Efficient Data Structures). Edison provides several families of
3619abstractions, each with multiple implementations. The main abstractions
3620provided by Edison are: Sequences such as stacks, queues, and dequeues;
3621Collections such as sets, bags and heaps; and Associative Collections such as
3622finite maps and priority queues where the priority and element are distinct.")
3623 (license license:expat)))
3624
1eced2a7
AV
3625(define-public ghc-edisoncore
3626 (package
3627 (name "ghc-edisoncore")
3628 (version "1.3.1.1")
3629 (source
3630 (origin
3631 (method url-fetch)
3632 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3633 "/EdisonCore-" version ".tar.gz"))
3634 (sha256
3635 (base32 "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry"))))
3636 (build-system haskell-build-system)
3637 (inputs
3638 `(("ghc-mtl" ,ghc-mtl)
3639 ("ghc-quickcheck" ,ghc-quickcheck)
3640 ("ghc-edisonapi" ,ghc-edisonapi)))
3641 (home-page "http://rwd.rdockins.name/edison/home/")
e695d79d 3642 (synopsis "Library of efficient, purely-functional data structures")
1eced2a7
AV
3643 (description
3644 "This package provides the core Edison data structure implementations,
3645including multiple sequence, set, bag, and finite map concrete implementations
3646with various performance characteristics.")
3647 (license license:expat)))
3648
899916b5
PW
3649(define-public ghc-mmorph
3650 (package
3651 (name "ghc-mmorph")
aebb8db2 3652 (version "1.0.6")
899916b5
PW
3653 (source
3654 (origin
3655 (method url-fetch)
3656 (uri (string-append
612fddec 3657 "https://hackage.haskell.org/package/mmorph/mmorph-"
899916b5
PW
3658 version
3659 ".tar.gz"))
3660 (sha256
3661 (base32
aebb8db2 3662 "1i8dzrc5qi3ryc9vrrmpn3sihmramsbhhd592w4w2k5g26qr3hql"))))
899916b5 3663 (build-system haskell-build-system)
aebb8db2
RW
3664 (inputs
3665 `(("ghc-mtl" ,ghc-mtl)
3666 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3667 (home-page "https://hackage.haskell.org/package/mmorph")
899916b5
PW
3668 (synopsis "Monad morphisms")
3669 (description
3670 "This library provides monad morphism utilities, most commonly used for
3671manipulating monad transformer stacks.")
3ac73271 3672 (license license:bsd-3)))
899916b5 3673
85160205
PW
3674(define-public ghc-monad-control
3675 (package
3676 (name "ghc-monad-control")
009d0f6d 3677 (version "1.0.1.0")
85160205
PW
3678 (source
3679 (origin
3680 (method url-fetch)
3681 (uri (string-append
612fddec 3682 "https://hackage.haskell.org/package/monad-control"
85160205
PW
3683 "/monad-control-" version ".tar.gz"))
3684 (sha256
3685 (base32
009d0f6d 3686 "1x018gi5irznx5rgzmkr2nrgh26r8cvqwkcfc6n6y05pdjf21c6l"))))
85160205 3687 (build-system haskell-build-system)
2d47cee2 3688 (inputs
85160205
PW
3689 `(("ghc-stm" ,ghc-stm)
3690 ("ghc-transformers-base" ,ghc-transformers-base)
3691 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3692 (home-page "https://github.com/basvandijk/monad-control")
3693 (synopsis "Monad transformers to lift control operations like exception
3694catching")
3695 (description "This package defines the type class @code{MonadBaseControl},
3696a subset of @code{MonadBase} into which generic control operations such as
3697@code{catch} can be lifted from @code{IO} or any other base monad.")
3ac73271 3698 (license license:bsd-3)))
85160205 3699
005a08e3
AV
3700(define-public ghc-fail
3701 (package
3702 (name "ghc-fail")
3703 (version "4.9.0.0")
3704 (source
3705 (origin
3706 (method url-fetch)
3707 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3708 version ".tar.gz"))
3709 (sha256
3710 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3711 (build-system haskell-build-system)
57184328 3712 (arguments `(#:haddock? #f)) ; Package contains no documentation.
005a08e3
AV
3713 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3714 (synopsis "Forward-compatible MonadFail class")
3715 (description
3716 "This package contains the @code{Control.Monad.Fail} module providing the
3717@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3718class that became available in
3719@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3720older @code{base} package versions. This package turns into an empty package
3721when used with GHC versions which already provide the
3722@code{Control.Monad.Fail} module.")
3723 (license license:bsd-3)))
3724
298af2a8
AV
3725(define-public ghc-monadplus
3726 (package
3727 (name "ghc-monadplus")
3728 (version "1.4.2")
3729 (source
3730 (origin
3731 (method url-fetch)
3732 (uri (string-append "https://hackage.haskell.org/package/monadplus"
3733 "/monadplus-" version ".tar.gz"))
3734 (sha256
3735 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
3736 (build-system haskell-build-system)
3737 (home-page "https://hackage.haskell.org/package/monadplus")
3738 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
3739 (description
3740 "This package generalizes many common stream operations such as
3741@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
3742arbitrary @code{MonadPlus} instances.")
3743 (license license:bsd-3)))
3744
27e7c8b6
PW
3745(define-public ghc-byteorder
3746 (package
3747 (name "ghc-byteorder")
3748 (version "1.0.4")
3749 (source
3750 (origin
3751 (method url-fetch)
3752 (uri (string-append
612fddec 3753 "https://hackage.haskell.org/package/byteorder/byteorder-"
27e7c8b6
PW
3754 version
3755 ".tar.gz"))
3756 (sha256
3757 (base32
3758 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
3759 (build-system haskell-build-system)
3760 (home-page
3761 "http://community.haskell.org/~aslatter/code/byteorder")
3762 (synopsis
3763 "Exposes the native endianness of the system")
3764 (description
3765 "This package is for working with the native byte-ordering of the
3766system.")
3ac73271 3767 (license license:bsd-3)))
27e7c8b6 3768
71470edd
PW
3769(define-public ghc-base-compat
3770 (package
3771 (name "ghc-base-compat")
3433e359 3772 (version "0.9.3")
71470edd
PW
3773 (source
3774 (origin
3775 (method url-fetch)
3776 (uri (string-append
612fddec 3777 "https://hackage.haskell.org/package/base-compat/base-compat-"
71470edd
PW
3778 version
3779 ".tar.gz"))
3780 (sha256
3781 (base32
3433e359 3782 "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x"))))
71470edd 3783 (build-system haskell-build-system)
2d47cee2 3784 (native-inputs
71470edd 3785 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
3786 ("ghc-hspec" ,ghc-hspec)
3787 ("hspec-discover" ,hspec-discover)))
71470edd
PW
3788 (home-page "https://hackage.haskell.org/package/base-compat")
3789 (synopsis "Haskell compiler compatibility library")
3790 (description "This library provides functions available in later versions
3791of base to a wider range of compilers, without requiring the use of CPP
3792pragmas in your code.")
3ac73271 3793 (license license:bsd-3)))
71470edd 3794
94e1dc7a
PW
3795(define-public ghc-blaze-builder
3796 (package
3797 (name "ghc-blaze-builder")
3f691f71 3798 (version "0.4.0.2")
94e1dc7a
PW
3799 (source
3800 (origin
3801 (method url-fetch)
3802 (uri (string-append
612fddec 3803 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
94e1dc7a
PW
3804 version
3805 ".tar.gz"))
3806 (sha256
3807 (base32
3f691f71 3808 "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws"))))
94e1dc7a
PW
3809 (build-system haskell-build-system)
3810 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
2d47cee2 3811 (inputs
94e1dc7a
PW
3812 `(("ghc-text" ,ghc-text)
3813 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 3814 (home-page "https://github.com/lpsmith/blaze-builder")
94e1dc7a
PW
3815 (synopsis "Efficient buffered output")
3816 (description "This library provides an implementation of the older
3817@code{blaze-builder} interface in terms of the new builder that shipped with
3818@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
3819bridge to the new builder, so that code that uses the old interface can
3820interoperate with code that uses the new implementation.")
3ac73271 3821 (license license:bsd-3)))
94e1dc7a 3822
a311f5d0
PW
3823(define-public ghc-blaze-markup
3824 (package
3825 (name "ghc-blaze-markup")
969d0c64 3826 (version "0.8.2.0")
a311f5d0
PW
3827 (source
3828 (origin
3829 (method url-fetch)
969d0c64
RW
3830 (uri (string-append "https://hackage.haskell.org/package/"
3831 "blaze-markup/blaze-markup-"
3832 version ".tar.gz"))
a311f5d0
PW
3833 (sha256
3834 (base32
969d0c64 3835 "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4"))))
a311f5d0 3836 (build-system haskell-build-system)
2d47cee2 3837 (inputs
a311f5d0
PW
3838 `(("ghc-blaze-builder" ,ghc-blaze-builder)
3839 ("ghc-text" ,ghc-text)))
969d0c64
RW
3840 (native-inputs
3841 `(("ghc-hunit" ,ghc-hunit)
3842 ("ghc-quickcheck" ,ghc-quickcheck)
3843 ("ghc-tasty" ,ghc-tasty)
3844 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3845 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
a311f5d0
PW
3846 (home-page "http://jaspervdj.be/blaze")
3847 (synopsis "Fast markup combinator library for Haskell")
3848 (description "This library provides core modules of a markup combinator
3849library for Haskell.")
3ac73271 3850 (license license:bsd-3)))
a311f5d0 3851
9525e25f
PW
3852(define-public ghc-easy-file
3853 (package
3854 (name "ghc-easy-file")
3855 (version "0.2.1")
3856 (source
3857 (origin
3858 (method url-fetch)
3859 (uri (string-append
612fddec 3860 "https://hackage.haskell.org/package/easy-file/easy-file-"
9525e25f
PW
3861 version
3862 ".tar.gz"))
3863 (sha256
3864 (base32
3865 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
3866 (build-system haskell-build-system)
3867 (home-page
612fddec 3868 "https://github.com/kazu-yamamoto/easy-file")
9525e25f
PW
3869 (synopsis "File handling library for Haskell")
3870 (description "This library provides file handling utilities for Haskell.")
3ac73271 3871 (license license:bsd-3)))
9525e25f 3872
e2fcaff2
PW
3873(define-public ghc-async
3874 (package
3875 (name "ghc-async")
1740cb77 3876 (version "2.1.1.1")
e2fcaff2
PW
3877 (source
3878 (origin
3879 (method url-fetch)
3880 (uri (string-append
612fddec 3881 "https://hackage.haskell.org/package/async/async-"
e2fcaff2
PW
3882 version
3883 ".tar.gz"))
3884 (sha256
3885 (base32
1740cb77 3886 "1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd"))))
e2fcaff2 3887 (build-system haskell-build-system)
e1c1b71c 3888 (inputs
2d47cee2
RW
3889 `(("ghc-stm" ,ghc-stm)
3890 ("ghc-hunit" ,ghc-hunit)
e1c1b71c
EB
3891 ("ghc-test-framework" ,ghc-test-framework)
3892 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
e2fcaff2
PW
3893 (home-page "https://github.com/simonmar/async")
3894 (synopsis "Library to run IO operations asynchronously")
3895 (description "Async provides a library to run IO operations
554093b7 3896asynchronously, and wait for their results. It is a higher-level interface
e2fcaff2
PW
3897over threads in Haskell, in which @code{Async a} is a concurrent thread that
3898will eventually deliver a value of type @code{a}.")
3ac73271 3899 (license license:bsd-3)))
e2fcaff2 3900
49465144
PW
3901(define-public ghc-fingertree
3902 (package
3903 (name "ghc-fingertree")
35deff72 3904 (version "0.1.3.0")
49465144
PW
3905 (source
3906 (origin
3907 (method url-fetch)
3908 (uri (string-append
612fddec 3909 "https://hackage.haskell.org/package/fingertree/fingertree-"
35deff72 3910 version ".tar.gz"))
49465144
PW
3911 (sha256
3912 (base32
35deff72 3913 "1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs"))))
49465144 3914 (build-system haskell-build-system)
ffe8c06e
TGR
3915 (native-inputs
3916 `(("ghc-hunit" ,ghc-hunit)
3917 ("ghc-quickcheck" ,ghc-quickcheck)
3918 ("ghc-test-framework" ,ghc-test-framework)
3919 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3920 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 3921 (home-page "https://hackage.haskell.org/package/fingertree")
49465144
PW
3922 (synopsis "Generic finger-tree structure")
3923 (description "This library provides finger trees, a general sequence
3924representation with arbitrary annotations, for use as a base for
3925implementations of various collection types. It includes examples, as
3926described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3927simple general-purpose data structure\".")
3ac73271 3928 (license license:bsd-3)))
49465144 3929
918f690a
PW
3930(define-public ghc-optparse-applicative
3931 (package
3932 (name "ghc-optparse-applicative")
7c86efe7 3933 (version "0.13.0.0")
918f690a
PW
3934 (source
3935 (origin
3936 (method url-fetch)
3937 (uri (string-append
612fddec 3938 "https://hackage.haskell.org/package/optparse-applicative"
918f690a
PW
3939 "/optparse-applicative-" version ".tar.gz"))
3940 (sha256
3941 (base32
7c86efe7 3942 "1b0c5fdq8bd070g24vrjrwlq979r8dk8mys6aji9hy1l9pcv3inf"))))
918f690a 3943 (build-system haskell-build-system)
7c86efe7
RW
3944 ;; These tests fail because the package doesn't come with all needed test
3945 ;; files:
3946 ;; - prop_drops_back_contexts
3947 ;; - prop_context_carry
3948 ;; - prop_help_on_empty
3949 ;; - prop_help_on_empty_sub
3950 (arguments `(#:tests? #f))
2d47cee2 3951 (inputs
918f690a
PW
3952 `(("ghc-transformers-compat" ,ghc-transformers-compat)
3953 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7c86efe7
RW
3954 (native-inputs
3955 `(("ghc-quickcheck" ,ghc-quickcheck)))
918f690a
PW
3956 (home-page "https://github.com/pcapriotti/optparse-applicative")
3957 (synopsis "Utilities and combinators for parsing command line options")
3958 (description "This package provides utilities and combinators for parsing
3959command line options in Haskell.")
3ac73271 3960 (license license:bsd-3)))
918f690a 3961
09fb622c
PW
3962(define-public ghc-base-orphans
3963 (package
3964 (name "ghc-base-orphans")
8184b0f9 3965 (version "0.6")
09fb622c
PW
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append
612fddec 3970 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
09fb622c
PW
3971 version
3972 ".tar.gz"))
3973 (sha256
3974 (base32
8184b0f9 3975 "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67"))))
09fb622c 3976 (build-system haskell-build-system)
2d47cee2 3977 (native-inputs
09fb622c 3978 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
3979 ("ghc-hspec" ,ghc-hspec)
3980 ("hspec-discover" ,hspec-discover)))
09fb622c
PW
3981 (home-page "https://hackage.haskell.org/package/base-orphans")
3982 (synopsis "Orphan instances for backwards compatibility")
3983 (description "This package defines orphan instances that mimic instances
3984available in later versions of base to a wider (older) range of compilers.")
3ac73271 3985 (license license:bsd-3)))
09fb622c 3986
bc0fb230
PW
3987(define-public ghc-auto-update
3988 (package
3989 (name "ghc-auto-update")
a8e5513c 3990 (version "0.1.4")
bc0fb230
PW
3991 (source
3992 (origin
3993 (method url-fetch)
3994 (uri (string-append
612fddec 3995 "https://hackage.haskell.org/package/auto-update/auto-update-"
bc0fb230
PW
3996 version
3997 ".tar.gz"))
3998 (sha256
3999 (base32
a8e5513c 4000 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
bc0fb230
PW
4001 (build-system haskell-build-system)
4002 (home-page "https://github.com/yesodweb/wai")
4003 (synopsis "Efficiently run periodic, on-demand actions")
4004 (description "This library provides mechanisms to efficiently run
4005periodic, on-demand actions in Haskell.")
3ac73271 4006 (license license:expat)))
bc0fb230 4007
7f0d5857
PW
4008(define-public ghc-tagged
4009 (package
4010 (name "ghc-tagged")
93303a3a 4011 (version "0.8.5")
7f0d5857
PW
4012 (source
4013 (origin
4014 (method url-fetch)
4015 (uri (string-append
612fddec 4016 "https://hackage.haskell.org/package/tagged/tagged-"
7f0d5857
PW
4017 version
4018 ".tar.gz"))
4019 (sha256
4020 (base32
93303a3a 4021 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
7f0d5857 4022 (build-system haskell-build-system)
93303a3a
RW
4023 (inputs
4024 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7f0d5857
PW
4025 (home-page "https://hackage.haskell.org/package/tagged")
4026 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4027 (description "This library provides phantom types for Haskell 98, to avoid
4028having to unsafely pass dummy arguments.")
3ac73271 4029 (license license:bsd-3)))
7f0d5857 4030
a24ec6f2
PW
4031(define-public ghc-unbounded-delays
4032 (package
4033 (name "ghc-unbounded-delays")
4034 (version "0.1.0.9")
4035 (source
4036 (origin
4037 (method url-fetch)
4038 (uri (string-append
612fddec 4039 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
a24ec6f2
PW
4040 version
4041 ".tar.gz"))
4042 (sha256
4043 (base32
4044 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4045 (build-system haskell-build-system)
4046 (home-page "https://github.com/basvandijk/unbounded-delays")
4047 (synopsis "Unbounded thread delays and timeouts")
4048 (description "The @code{threadDelay} and @code{timeout} functions from the
4049Haskell base library use the bounded @code{Int} type for specifying the delay
4050or timeout period. This package provides alternative functions which use the
4051unbounded @code{Integer} type.")
3ac73271 4052 (license license:bsd-3)))
a24ec6f2 4053
f4e5c04e
PW
4054(define-public ghc-clock
4055 (package
4056 (name "ghc-clock")
615abb95 4057 (version "0.7.2")
f4e5c04e
PW
4058 (source
4059 (origin
4060 (method url-fetch)
4061 (uri (string-append
612fddec 4062 "https://hackage.haskell.org/package/"
f4e5c04e
PW
4063 "clock/"
4064 "clock-" version ".tar.gz"))
4065 (sha256
615abb95 4066 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
f4e5c04e
PW
4067 (build-system haskell-build-system)
4068 (inputs
4069 `(("ghc-tasty" ,ghc-tasty)
4070 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4071 (home-page "https://hackage.haskell.org/package/clock")
3f2ce1dc
PW
4072 (synopsis "High-resolution clock for Haskell")
4073 (description "A package for convenient access to high-resolution clock and
4074timer functions of different operating systems via a unified API.")
3ac73271 4075 (license license:bsd-3)))
3f2ce1dc 4076
6ffc5be7
PW
4077(define-public ghc-charset
4078 (package
4079 (name "ghc-charset")
4080 (version "0.3.7.1")
4081 (source
4082 (origin
4083 (method url-fetch)
4084 (uri (string-append
612fddec 4085 "https://hackage.haskell.org/package/charset/charset-"
6ffc5be7
PW
4086 version
4087 ".tar.gz"))
4088 (sha256
4089 (base32
4090 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4091 (build-system haskell-build-system)
6ffc5be7 4092 (inputs
2d47cee2
RW
4093 `(("ghc-semigroups" ,ghc-semigroups)
4094 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 4095 (home-page "https://github.com/ekmett/charset")
6ffc5be7
PW
4096 (synopsis "Fast unicode character sets for Haskell")
4097 (description "This package provides fast unicode character sets for
4098Haskell, based on complemented PATRICIA tries.")
3ac73271 4099 (license license:bsd-3)))
6ffc5be7 4100
d76bf618
PW
4101(define-public ghc-bytestring-builder
4102 (package
4103 (name "ghc-bytestring-builder")
934dc8d2 4104 (version "0.10.8.1.0")
d76bf618
PW
4105 (source
4106 (origin
4107 (method url-fetch)
4108 (uri (string-append
612fddec 4109 "https://hackage.haskell.org/package/bytestring-builder"
d76bf618
PW
4110 "/bytestring-builder-" version ".tar.gz"))
4111 (sha256
4112 (base32
934dc8d2 4113 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
d76bf618
PW
4114 (build-system haskell-build-system)
4115 (arguments `(#:haddock? #f)) ; Package contains no documentation.
612fddec 4116 (home-page "https://hackage.haskell.org/package/bytestring-builder")
d76bf618
PW
4117 (synopsis "The new bytestring builder, packaged outside of GHC")
4118 (description "This package provides the bytestring builder that is
4119debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4120Compatibility package for older packages.")
3ac73271 4121 (license license:bsd-3)))
d76bf618 4122
878535bd
PW
4123(define-public ghc-nats
4124 (package
4125 (name "ghc-nats")
0798fddf 4126 (version "1.1.1")
878535bd
PW
4127 (source
4128 (origin
4129 (method url-fetch)
4130 (uri (string-append
612fddec 4131 "https://hackage.haskell.org/package/nats/nats-"
878535bd
PW
4132 version
4133 ".tar.gz"))
4134 (sha256
4135 (base32
0798fddf 4136 "1kfl2yy97nb7q0j17v96rl73xvi3z4db9bk0xychc76dax41n78k"))))
878535bd
PW
4137 (build-system haskell-build-system)
4138 (arguments `(#:haddock? #f))
4139 (inputs
4140 `(("ghc-hashable" ,ghc-hashable)))
4141 (home-page "https://hackage.haskell.org/package/nats")
4142 (synopsis "Natural numbers")
4143 (description "This library provides the natural numbers for Haskell.")
3ac73271 4144 (license license:bsd-3)))
878535bd 4145
03f6074b
PW
4146(define-public ghc-void
4147 (package
4148 (name "ghc-void")
4149 (version "0.7.1")
4150 (source
4151 (origin
4152 (method url-fetch)
4153 (uri (string-append
612fddec 4154 "https://hackage.haskell.org/package/void/void-"
03f6074b
PW
4155 version
4156 ".tar.gz"))
4157 (sha256
4158 (base32
4159 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4160 (build-system haskell-build-system)
03f6074b 4161 (inputs
2d47cee2
RW
4162 `(("ghc-semigroups" ,ghc-semigroups)
4163 ("ghc-hashable" ,ghc-hashable)))
612fddec 4164 (home-page "https://github.com/ekmett/void")
03f6074b
PW
4165 (synopsis
4166 "Logically uninhabited data type")
4167 (description
4168 "A Haskell 98 logically uninhabited data type, used to indicate that a
4169given term should not exist.")
3ac73271 4170 (license license:bsd-3)))
03f6074b 4171
5125f63f
PW
4172(define-public ghc-kan-extensions
4173 (package
4174 (name "ghc-kan-extensions")
88da6cdb 4175 (version "5.0.1")
5125f63f
PW
4176 (source
4177 (origin
4178 (method url-fetch)
4179 (uri (string-append
612fddec 4180 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5125f63f
PW
4181 version
4182 ".tar.gz"))
4183 (sha256
4184 (base32
88da6cdb 4185 "1qm0kf4krmyjbjynn96ab0h3q117vwcia5nin7n2b8b4f3jrzph1"))))
5125f63f 4186 (build-system haskell-build-system)
5125f63f 4187 (inputs
2d47cee2
RW
4188 `(("ghc-adjunctions" ,ghc-adjunctions)
4189 ("ghc-comonad" ,ghc-comonad)
5125f63f
PW
4190 ("ghc-contravariant" ,ghc-contravariant)
4191 ("ghc-distributive" ,ghc-distributive)
4192 ("ghc-free" ,ghc-free)
4193 ("ghc-mtl" ,ghc-mtl)
4194 ("ghc-semigroupoids" ,ghc-semigroupoids)
4195 ("ghc-tagged" ,ghc-tagged)))
612fddec 4196 (home-page "https://github.com/ekmett/kan-extensions/")
5125f63f
PW
4197 (synopsis "Kan extensions library")
4198 (description "This library provides Kan extensions, Kan lifts, various
4199forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
3ac73271 4200 (license license:bsd-3)))
5125f63f 4201
32ddba78
RW
4202(define-public ghc-call-stack
4203 (package
4204 (name "ghc-call-stack")
4205 (version "0.1.0")
4206 (source
4207 (origin
4208 (method url-fetch)
4209 (uri (string-append "https://hackage.haskell.org/package/"
4210 "call-stack/call-stack-"
4211 version ".tar.gz"))
4212 (sha256
4213 (base32
4214 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
4215 (build-system haskell-build-system)
4216 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
4217 (home-page "https://github.com/sol/call-stack#readme")
4218 (synopsis "Use GHC call-stacks in a backward compatible way")
4219 (description "This package provides a compatibility layer for using GHC
4220call stacks with different versions of the compiler.")
4221 (license license:expat)))
4222
f271524a
PW
4223(define-public ghc-statevar
4224 (package
4225 (name "ghc-statevar")
77c1e8b5 4226 (version "1.1.0.4")
f271524a
PW
4227 (source
4228 (origin
4229 (method url-fetch)
4230 (uri (string-append
612fddec 4231 "https://hackage.haskell.org/package/StateVar/StateVar-"
f271524a
PW
4232 version
4233 ".tar.gz"))
4234 (sha256
4235 (base32
77c1e8b5 4236 "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks"))))
f271524a 4237 (build-system haskell-build-system)
2d47cee2 4238 (inputs
f271524a 4239 `(("ghc-stm" ,ghc-stm)))
612fddec 4240 (home-page "https://hackage.haskell.org/package/StateVar")
f271524a
PW
4241 (synopsis "State variables for Haskell")
4242 (description "This package provides state variables, which are references
4243in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
3ac73271 4244 (license license:bsd-3)))
f271524a 4245
e1a35c39
PW
4246(define-public ghc-lens
4247 (package
4248 (name "ghc-lens")
38646a62 4249 (version "4.15.4")
e1a35c39
PW
4250 (source
4251 (origin
4252 (method url-fetch)
38646a62
RW
4253 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
4254 version ".tar.gz"))
e1a35c39
PW
4255 (sha256
4256 (base32
38646a62 4257 "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl"))))
e1a35c39 4258 (build-system haskell-build-system)
2d47cee2 4259 (inputs
e1a35c39
PW
4260 `(("ghc-base-orphans" ,ghc-base-orphans)
4261 ("ghc-bifunctors" ,ghc-bifunctors)
38646a62 4262 ("ghc-doctest" ,ghc-doctest-0.13)
e1a35c39
PW
4263 ("ghc-distributive" ,ghc-distributive)
4264 ("ghc-exceptions" ,ghc-exceptions)
4265 ("ghc-free" ,ghc-free)
4266 ("ghc-kan-extensions" ,ghc-kan-extensions)
4267 ("ghc-parallel" ,ghc-parallel)
4268 ("ghc-reflection" ,ghc-reflection)
4269 ("ghc-semigroupoids" ,ghc-semigroupoids)
2d47cee2 4270 ("ghc-vector" ,ghc-vector)
38646a62 4271 ("ghc-call-stack" ,ghc-call-stack)
2d47cee2 4272 ("ghc-comonad" ,ghc-comonad)
e1a35c39
PW
4273 ("ghc-contravariant" ,ghc-contravariant)
4274 ("ghc-hashable" ,ghc-hashable)
4275 ("ghc-mtl" ,ghc-mtl)
4276 ("ghc-profunctors" ,ghc-profunctors)
4277 ("ghc-semigroups" ,ghc-semigroups)
4278 ("ghc-tagged" ,ghc-tagged)
4279 ("ghc-text" ,ghc-text)
4280 ("ghc-transformers-compat" ,ghc-transformers-compat)
4281 ("ghc-unordered-containers" ,ghc-unordered-containers)
4282 ("ghc-void" ,ghc-void)
4283 ("ghc-generic-deriving" ,ghc-generic-deriving)
4284 ("ghc-nats" ,ghc-nats)
4285 ("ghc-simple-reflect" ,ghc-simple-reflect)
4286 ("hlint" ,hlint)))
38646a62
RW
4287 (native-inputs
4288 `(("cabal-doctest" ,cabal-doctest)
4289 ("ghc-hunit" ,ghc-hunit)
4290 ("ghc-test-framework" ,ghc-test-framework)
4291 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4292 ("ghc-test-framework-th" ,ghc-test-framework-th)
4293 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4294 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4295 (home-page "https://github.com/ekmett/lens/")
e1a35c39
PW
4296 (synopsis "Lenses, Folds and Traversals")
4297 (description "This library provides @code{Control.Lens}. The combinators
4298in @code{Control.Lens} provide a highly generic toolbox for composing families
4299of getters, folds, isomorphisms, traversals, setters and lenses and their
4300indexed variants.")
3ac73271 4301 (license license:bsd-3)))
e1a35c39 4302
d7e67cf1
PW
4303(define-public ghc-cheapskate
4304 (package
4305 (name "ghc-cheapskate")
e1358124 4306 (version "0.1.1")
d7e67cf1
PW
4307 (source
4308 (origin
4309 (method url-fetch)
4310 (uri (string-append
612fddec 4311 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
d7e67cf1
PW
4312 version
4313 ".tar.gz"))
4314 (sha256
4315 (base32
e1358124 4316 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
d7e67cf1 4317 (build-system haskell-build-system)
d7e67cf1 4318 (inputs
e1358124
RW
4319 `(("ghc-mtl" ,ghc-mtl)
4320 ("ghc-text" ,ghc-text)
751de3d6 4321 ("ghc-blaze-html" ,ghc-blaze-html)
e1358124 4322 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
2d47cee2 4323 ("ghc-data-default" ,ghc-data-default)
d7e67cf1 4324 ("ghc-syb" ,ghc-syb)
e1358124 4325 ("ghc-uniplate" ,ghc-uniplate)))
612fddec 4326 (home-page "https://github.com/jgm/cheapskate")
d7e67cf1
PW
4327 (synopsis "Experimental markdown processor")
4328 (description "Cheapskate is an experimental Markdown processor in pure
4329Haskell. It aims to process Markdown efficiently and in the most forgiving
4330possible way. It is designed to deal with any input, including garbage, with
4d9cdf3c
TGR
4331linear performance. Output is sanitized by default for protection against
4332cross-site scripting (@dfn{XSS}) attacks.")
3ac73271 4333 (license license:bsd-3)))
d7e67cf1 4334
4f997551
PW
4335(define-public ghc-bifunctors
4336 (package
4337 (name "ghc-bifunctors")
7044882c 4338 (version "5.5.2")
4f997551
PW
4339 (source
4340 (origin
4341 (method url-fetch)
4342 (uri (string-append
612fddec 4343 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4f997551
PW
4344 version
4345 ".tar.gz"))
4346 (sha256
4347 (base32
7044882c 4348 "04fbsysm6zl8kmvqgffmrqa9bxl9dl2gibrd51asqzg737mb4ark"))))
4f997551
PW
4349 (build-system haskell-build-system)
4350 (inputs
7044882c
RW
4351 `(("ghc-base-orphans" ,ghc-base-orphans)
4352 ("ghc-comonad" ,ghc-comonad)
4353 ("ghc-th-abstraction" ,ghc-th-abstraction)
4354 ("ghc-transformers-compat" ,ghc-transformers-compat)
4355 ("ghc-tagged" ,ghc-tagged)
4f997551 4356 ("ghc-semigroups" ,ghc-semigroups)))
7044882c
RW
4357 (native-inputs
4358 `(("ghc-hspec" ,ghc-hspec)
4359 ("hspec-discover" ,hspec-discover)
4360 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4361 (home-page "https://github.com/ekmett/bifunctors/")
4f997551
PW
4362 (synopsis "Bifunctors for Haskell")
4363 (description "This package provides bifunctors for Haskell.")
3ac73271 4364 (license license:bsd-3)))
4f997551 4365
aee98223
PW
4366(define-public ghc-semigroupoids
4367 (package
4368 (name "ghc-semigroupoids")
416092e7 4369 (version "5.1")
aee98223
PW
4370 (source
4371 (origin
4372 (method url-fetch)
4373 (uri (string-append
612fddec 4374 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
aee98223
PW
4375 version
4376 ".tar.gz"))
4377 (sha256
4378 (base32
416092e7 4379 "0dgqc59p4xx5cl8qkpm6sn4wd3n59rq7l6din76hf10bnklqrb0n"))))
aee98223 4380 (build-system haskell-build-system)
2d47cee2
RW
4381 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4382 (inputs
aee98223
PW
4383 `(("ghc-base-orphans" ,ghc-base-orphans)
4384 ("ghc-transformers-compat" ,ghc-transformers-compat)
4385 ("ghc-bifunctors" ,ghc-bifunctors)
4386 ("ghc-comonad" ,ghc-comonad)
4387 ("ghc-contravariant" ,ghc-contravariant)
2d47cee2
RW
4388 ("ghc-distributive" ,ghc-distributive)
4389 ("ghc-semigroups" ,ghc-semigroups)
aee98223 4390 ("ghc-tagged" ,ghc-tagged)))
612fddec 4391 (home-page "https://github.com/ekmett/semigroupoids")
aee98223
PW
4392 (synopsis "Semigroupoids operations for Haskell")
4393 (description "This library provides a wide array of (semi)groupoids and
4394operations for working with them. A @code{Semigroupoid} is a @code{Category}
4395without the requirement of identity arrows for every object in the category.
4396A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4397Finally, to work with these weaker structures it is beneficial to have
4398containers that can provide stronger guarantees about their contents, so
4399versions of @code{Traversable} and @code{Foldable} that can be folded with
4400just a @code{Semigroup} are added.")
3ac73271 4401 (license license:bsd-3)))
aee98223 4402
624efe73
PW
4403(define-public ghc-contravariant
4404 (package
4405 (name "ghc-contravariant")
ab880e6e 4406 (version "1.4")
624efe73
PW
4407 (source
4408 (origin
4409 (method url-fetch)
4410 (uri (string-append
612fddec 4411 "https://hackage.haskell.org/package/contravariant/contravariant-"
624efe73
PW
4412 version
4413 ".tar.gz"))
4414 (sha256
4415 (base32
ab880e6e 4416 "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1"))))
624efe73 4417 (build-system haskell-build-system)
2d47cee2 4418 (inputs
624efe73
PW
4419 `(("ghc-void" ,ghc-void)
4420 ("ghc-transformers-compat" ,ghc-transformers-compat)
2d47cee2
RW
4421 ("ghc-statevar" ,ghc-statevar)
4422 ("ghc-semigroups" ,ghc-semigroups)))
624efe73 4423 (home-page
612fddec 4424 "https://github.com/ekmett/contravariant/")
624efe73
PW
4425 (synopsis "Contravariant functors")
4426 (description "Contravariant functors for Haskell.")
3ac73271 4427 (license license:bsd-3)))
624efe73 4428
946fa8c9
PW
4429(define-public ghc-semigroups
4430 (package
4431 (name "ghc-semigroups")
35c99a1f 4432 (version "0.18.2")
946fa8c9
PW
4433 (source
4434 (origin
4435 (method url-fetch)
4436 (uri (string-append
612fddec 4437 "https://hackage.haskell.org/package/semigroups/semigroups-"
946fa8c9
PW
4438 version
4439 ".tar.gz"))
4440 (sha256
4441 (base32
35c99a1f 4442 "1r6hsn3am3dpf4rprrj4m04d9318v9iq02bin0pl29dg4a3gzjax"))))
946fa8c9 4443 (build-system haskell-build-system)
2d47cee2 4444 (inputs
946fa8c9
PW
4445 `(("ghc-nats" ,ghc-nats)
4446 ("ghc-tagged" ,ghc-tagged)
2d47cee2
RW
4447 ("ghc-unordered-containers" ,ghc-unordered-containers)
4448 ("ghc-text" ,ghc-text)
946fa8c9 4449 ("ghc-hashable" ,ghc-hashable)))
612fddec 4450 (home-page "https://github.com/ekmett/semigroups/")
946fa8c9
PW
4451 (synopsis "Semigroup operations for Haskell")
4452 (description "This package provides semigroups for Haskell. In
4453mathematics, a semigroup is an algebraic structure consisting of a set
4454together with an associative binary operation. A semigroup generalizes a
4455monoid in that there might not exist an identity element. It
4456also (originally) generalized a group (a monoid with all inverses) to a type
4457where every element did not have to have an inverse, thus the name
4458semigroup.")
3ac73271 4459 (license license:bsd-3)))
946fa8c9 4460
dc2e8ab7
PW
4461(define-public ghc-free
4462 (package
4463 (name "ghc-free")
c18f82db 4464 (version "4.12.4")
dc2e8ab7
PW
4465 (source
4466 (origin
4467 (method url-fetch)
4468 (uri (string-append
612fddec 4469 "https://hackage.haskell.org/package/free/free-"
dc2e8ab7
PW
4470 version
4471 ".tar.gz"))
4472 (sha256
4473 (base32
c18f82db 4474 "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9"))))
dc2e8ab7 4475 (build-system haskell-build-system)
2d47cee2 4476 (inputs
dc2e8ab7
PW
4477 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4478 ("ghc-profunctors" ,ghc-profunctors)
2d47cee2
RW
4479 ("ghc-exceptions" ,ghc-exceptions)
4480 ("ghc-bifunctors" ,ghc-bifunctors)
dc2e8ab7
PW
4481 ("ghc-comonad" ,ghc-comonad)
4482 ("ghc-distributive" ,ghc-distributive)
4483 ("ghc-mtl" ,ghc-mtl)
4484 ("ghc-semigroupoids" ,ghc-semigroupoids)
4485 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 4486 (home-page "https://github.com/ekmett/free/")
dc2e8ab7
PW
4487 (synopsis "Unrestricted monads for Haskell")
4488 (description "This library provides free monads, which are useful for many
4489tree-like structures and domain specific languages. If @code{f} is a
4490@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4491whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4492is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4493f} makes no constraining assumptions beyond those given by @code{f} and the
4494definition of @code{Monad}.")
3ac73271 4495 (license license:bsd-3)))
dc2e8ab7 4496
52db0e13
PW
4497(define-public ghc-adjunctions
4498 (package
4499 (name "ghc-adjunctions")
3f229b1b 4500 (version "4.3")
52db0e13
PW
4501 (source
4502 (origin
4503 (method url-fetch)
4504 (uri (string-append
612fddec 4505 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
52db0e13
PW
4506 version
4507 ".tar.gz"))
4508 (sha256
4509 (base32
3f229b1b 4510 "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r"))))
52db0e13 4511 (build-system haskell-build-system)
52db0e13 4512 (inputs
2d47cee2
RW
4513 `(("ghc-profunctors" ,ghc-profunctors)
4514 ("ghc-comonad" ,ghc-comonad)
52db0e13
PW
4515 ("ghc-contravariant" ,ghc-contravariant)
4516 ("ghc-distributive" ,ghc-distributive)
4517 ("ghc-free" ,ghc-free)
4518 ("ghc-mtl" ,ghc-mtl)
4519 ("ghc-tagged" ,ghc-tagged)
4520 ("ghc-semigroupoids" ,ghc-semigroupoids)
4521 ("ghc-semigroups" ,ghc-semigroups)
4522 ("ghc-void" ,ghc-void)))
612fddec 4523 (home-page "https://github.com/ekmett/adjunctions/")
52db0e13
PW
4524 (synopsis "Adjunctions and representable functors")
4525 (description "This library provides adjunctions and representable functors
4526for Haskell.")
3ac73271 4527 (license license:bsd-3)))
52db0e13 4528
96f23b62
AV
4529(define-public ghc-equivalence
4530 (package
4531 (name "ghc-equivalence")
4532 (version "0.3.2")
4533 (source
4534 (origin
4535 (method url-fetch)
4536 (uri (string-append "https://hackage.haskell.org/package/equivalence"
4537 "/equivalence-" version ".tar.gz"))
4538 (sha256
4539 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
4540 (build-system haskell-build-system)
4541 (inputs
4542 `(("ghc-mtl" ,ghc-mtl)
4543 ("ghc-stmonadtrans" ,ghc-stmonadtrans)
4544 ("ghc-transformers-compat" ,ghc-transformers-compat)
4545 ("ghc-quickcheck" ,ghc-quickcheck)
4546 ("ghc-test-framework" ,ghc-test-framework)
4547 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4548 (home-page "https://github.com/pa-ba/equivalence")
4549 (synopsis "Maintaining an equivalence relation implemented as union-find")
4550 (description
4551 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
4552Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
455322(2), 1975) in order to maintain an equivalence relation. This
4554implementation is a port of the @code{union-find} package using the @code{ST}
4555monad transformer (instead of the IO monad).")
4556 (license license:bsd-3)))
4557
cc553d02
PW
4558(define-public ghc-fast-logger
4559 (package
4560 (name "ghc-fast-logger")
05c08ec9 4561 (version "2.4.11")
cc553d02
PW
4562 (source
4563 (origin
4564 (method url-fetch)
4565 (uri (string-append
612fddec 4566 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
cc553d02
PW
4567 version
4568 ".tar.gz"))
4569 (sha256
4570 (base32
05c08ec9 4571 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
cc553d02 4572 (build-system haskell-build-system)
cc553d02 4573 (inputs
05c08ec9
RW
4574 `(("ghc-auto-update" ,ghc-auto-update)
4575 ("ghc-easy-file" ,ghc-easy-file)
4576 ("ghc-text" ,ghc-text)
4577 ("ghc-unix-time" ,ghc-unix-time)))
2d47cee2
RW
4578 (native-inputs
4579 `(("hspec-discover" ,hspec-discover)
4580 ("ghc-hspec" ,ghc-hspec)))
cc553d02
PW
4581 (home-page "https://hackage.haskell.org/package/fast-logger")
4582 (synopsis "Fast logging system")
4583 (description "This library provides a fast logging system for Haskell.")
3ac73271 4584 (license license:bsd-3)))
cc553d02 4585
cb2119e4
PW
4586(define-public ghc-doctest
4587 (package
4588 (name "ghc-doctest")
f212b628 4589 (version "0.11.0")
cb2119e4
PW
4590 (source
4591 (origin
4592 (method url-fetch)
4593 (uri (string-append
612fddec 4594 "https://hackage.haskell.org/package/doctest/doctest-"
cb2119e4
PW
4595 version
4596 ".tar.gz"))
4597 (sha256
4598 (base32
f212b628 4599 "0xv4vx1r3mk7cmiwywzrq25545cx3i7imhcx33mk47r88j5c49fj"))))
cb2119e4
PW
4600 (build-system haskell-build-system)
4601 (arguments `(#:tests? #f)) ; FIXME: missing test framework
cb2119e4 4602 (inputs
2d47cee2
RW
4603 `(("ghc-syb" ,ghc-syb)
4604 ("ghc-paths" ,ghc-paths)
4605 ("ghc-base-compat" ,ghc-base-compat)
cb2119e4
PW
4606 ("ghc-hunit" ,ghc-hunit)
4607 ("ghc-hspec" ,ghc-hspec)
4608 ("ghc-quickcheck" ,ghc-quickcheck)
4609 ("ghc-stringbuilder" ,ghc-stringbuilder)
4610 ("ghc-silently" ,ghc-silently)
4611 ("ghc-setenv" ,ghc-setenv)))
4612 (home-page
4613 "https://github.com/sol/doctest#readme")
4614 (synopsis "Test interactive Haskell examples")
4615 (description "The doctest program checks examples in source code comments.
4616It is modeled after doctest for Python, see
4617@uref{http://docs.python.org/library/doctest.html, the Doctest website}.")
3ac73271 4618 (license license:expat)))
cb2119e4 4619
41faaff1
RW
4620(define-public ghc-doctest-0.12
4621 (package (inherit ghc-doctest)
4622 (name "ghc-doctest")
4623 (version "0.12.0")
4624 (source
4625 (origin
4626 (method url-fetch)
4627 (uri (string-append
4628 "https://hackage.haskell.org/package/doctest/doctest-"
4629 version
4630 ".tar.gz"))
4631 (sha256
4632 (base32
4633 "13h549cpgcvb7c54c7wif28g5wak84dxc3ais0hlqhzk1q6la91a"))))
4634 (inputs
4635 `(("ghc-code-page" ,ghc-code-page)
4636 ,@(package-inputs ghc-doctest)))))
4637
83d43619
RW
4638(define-public ghc-doctest-0.13
4639 (package (inherit ghc-doctest-0.12)
4640 (name "ghc-doctest")
4641 (version "0.13.0")
4642 (source
4643 (origin
4644 (method url-fetch)
4645 (uri (string-append "https://hackage.haskell.org/package/"
4646 "doctest/doctest-" version ".tar.gz"))
4647 (sha256
4648 (base32
4649 "08g3nmpqbnbkxc95d65hkhfabwax10qrq51vlynr342npn40mn2b"))))))
4650
6f5e312e
PW
4651(define-public ghc-lifted-base
4652 (package
4653 (name "ghc-lifted-base")
2e67886e 4654 (version "0.2.3.8")
6f5e312e
PW
4655 (source
4656 (origin
4657 (method url-fetch)
4658 (uri (string-append
612fddec 4659 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6f5e312e
PW
4660 version
4661 ".tar.gz"))
4662 (sha256
4663 (base32
2e67886e 4664 "17yz4n7q96x4cp8vxai8csn2vmpigxvipkfh48arahf91f0xy18n"))))
6f5e312e
PW
4665 (build-system haskell-build-system)
4666 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6f5e312e 4667 (inputs
2d47cee2
RW
4668 `(("ghc-transformers-base" ,ghc-transformers-base)
4669 ("ghc-monad-control" ,ghc-monad-control)
4670 ("ghc-transformers-compat" ,ghc-transformers-compat)
6f5e312e
PW
4671 ("ghc-hunit" ,ghc-hunit)))
4672 (home-page "https://github.com/basvandijk/lifted-base")
4673 (synopsis "Lifted IO operations from the base library")
4674 (description "Lifted-base exports IO operations from the @code{base}
4675library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
4676Note that not all modules from @code{base} are converted yet. The package
4677includes a copy of the @code{monad-peel} test suite written by Anders
4678Kaseorg.")
3ac73271 4679 (license license:bsd-3)))
6f5e312e 4680
281bc4fd
PW
4681(define-public ghc-word8
4682 (package
4683 (name "ghc-word8")
bc819cdf 4684 (version "0.1.3")
281bc4fd
PW
4685 (source
4686 (origin
4687 (method url-fetch)
4688 (uri (string-append
612fddec 4689 "https://hackage.haskell.org/package/word8/word8-"
281bc4fd
PW
4690 version
4691 ".tar.gz"))
4692 (sha256
4693 (base32
bc819cdf 4694 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
281bc4fd 4695 (build-system haskell-build-system)
2d47cee2
RW
4696 (native-inputs
4697 `(("ghc-hspec" ,ghc-hspec)
4698 ("hspec-discover" ,hspec-discover)))
612fddec 4699 (home-page "https://hackage.haskell.org/package/word8")
281bc4fd
PW
4700 (synopsis "Word8 library for Haskell")
4701 (description "Word8 library to be used with @code{Data.ByteString}.")
3ac73271 4702 (license license:bsd-3)))
281bc4fd 4703
fa709a2f
PW
4704(define-public ghc-stringsearch
4705 (package
4706 (name "ghc-stringsearch")
4707 (version "0.3.6.6")
4708 (source
4709 (origin
4710 (method url-fetch)
4711 (uri (string-append
612fddec 4712 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
fa709a2f
PW
4713 version
4714 ".tar.gz"))
4715 (sha256
4716 (base32
4717 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
4718 (build-system haskell-build-system)
4719 (home-page "https://bitbucket.org/dafis/stringsearch")
4720 (synopsis "Fast searching, splitting and replacing of ByteStrings")
4721 (description "This package provides several functions to quickly search
4722for substrings in strict or lazy @code{ByteStrings}. It also provides
4723functions for breaking or splitting on substrings and replacing all
4724occurrences of a substring (the first in case of overlaps) with another.")
3ac73271 4725 (license license:bsd-3)))
fa709a2f 4726
d0f4853a
RW
4727(define-public ghc-integer-logarithms
4728 (package
4729 (name "ghc-integer-logarithms")
4730 (version "1.0.2")
4731 (source
4732 (origin
4733 (method url-fetch)
4734 (uri (string-append "https://hackage.haskell.org/package/"
4735 "integer-logarithms/integer-logarithms-"
4736 version ".tar.gz"))
4737 (sha256
4738 (base32
4739 "0w5mhak181zi6qr5h2zbcs9ymaqacisp9jwk99naz6s8zz5rq1ii"))))
4740 (build-system haskell-build-system)
4741 (inputs
4742 `(("ghc-tasty" ,ghc-tasty)
4743 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4744 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4745 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4746 ("ghc-quickcheck" ,ghc-quickcheck)
4747 ("ghc-smallcheck" ,ghc-smallcheck)))
4748 (home-page "https://github.com/phadej/integer-logarithms")
4749 (synopsis "Integer logarithms")
4750 (description
4751 "This package provides the following modules:
4752@code{Math.NumberTheory.Logarithms} and
4753@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
4754@code{GHC.Integer.Logarithms.Compat} and
4755@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
4756in migrated modules.")
4757 (license license:expat)))
4758
a43a38a1
PW
4759(define-public ghc-scientific
4760 (package
4761 (name "ghc-scientific")
a5044b6a 4762 (version "0.3.5.2")
a43a38a1
PW
4763 (source
4764 (origin
4765 (method url-fetch)
4766 (uri (string-append
612fddec 4767 "https://hackage.haskell.org/package/scientific/scientific-"
a43a38a1
PW
4768 version
4769 ".tar.gz"))
4770 (sha256
4771 (base32
a5044b6a 4772 "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w"))))
a43a38a1 4773 (build-system haskell-build-system)
a43a38a1 4774 (inputs
a5044b6a 4775 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
2d47cee2 4776 ("ghc-text" ,ghc-text)
a5044b6a
RW
4777 ("ghc-hashable" ,ghc-hashable)
4778 ("ghc-primitive" ,ghc-primitive)
a43a38a1
PW
4779 ("ghc-tasty" ,ghc-tasty)
4780 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
4781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4782 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4783 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4784 ("ghc-smallcheck" ,ghc-smallcheck)
4785 ("ghc-quickcheck" ,ghc-quickcheck)))
4786 (home-page "https://github.com/basvandijk/scientific")
4787 (synopsis "Numbers represented using scientific notation")
4788 (description "This package provides @code{Data.Scientific}, which provides
4789the number type @code{Scientific}. Scientific numbers are arbitrary precision
4790and space efficient. They are represented using
4791@uref{http://en.wikipedia.org/wiki/Scientific_notation, scientific
4792notation}.")
3ac73271 4793 (license license:bsd-3)))
a43a38a1 4794
3f8b8e73
AV
4795(define-public ghc-boxes
4796 (package
4797 (name "ghc-boxes")
4798 (version "0.1.4")
4799 (source
4800 (origin
4801 (method url-fetch)
4802 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
4803 version ".tar.gz"))
4804 (sha256
4805 (base32 "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf"))))
4806 (build-system haskell-build-system)
4807 (inputs
4808 `(("ghc-split" ,ghc-split)
4809 ("ghc-quickcheck" ,ghc-quickcheck)))
4810 (home-page "https://hackage.haskell.org/package/boxes")
4811 (synopsis "2D text pretty-printing library")
4812 (description
4813 "Boxes is a pretty-printing library for laying out text in two dimensions,
4814using a simple box model.")
4815 (license license:bsd-3)))
2aa0bada 4816
4cbd9f59
RW
4817(define-public ghc-deepseq-generics
4818 (package
4819 (name "ghc-deepseq-generics")
59e08129 4820 (version "0.2.0.0")
4cbd9f59
RW
4821 (source (origin
4822 (method url-fetch)
612fddec 4823 (uri (string-append "https://hackage.haskell.org/package/"
4cbd9f59
RW
4824 "deepseq-generics/deepseq-generics-"
4825 version ".tar.gz"))
4826 (sha256
4827 (base32
59e08129 4828 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
4cbd9f59 4829 (build-system haskell-build-system)
4cbd9f59
RW
4830 (native-inputs
4831 `(("ghc-hunit" ,ghc-hunit)
4832 ("ghc-test-framework" ,ghc-test-framework)
4833 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4834 (home-page "https://github.com/hvr/deepseq-generics")
4835 (synopsis "Generic RNF implementation")
4836 (description
4837 "This package provides a @code{GHC.Generics}-based
4838@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
4839providing an 'rnf' implementation.")
3ac73271 4840 (license license:bsd-3)))
4cbd9f59 4841
e0894701
RW
4842(define-public ghc-string-qq
4843 (package
4844 (name "ghc-string-qq")
4845 (version "0.0.2")
4846 (source
4847 (origin
4848 (method url-fetch)
4849 (uri (string-append
4850 "https://hackage.haskell.org/package/string-qq/string-qq-"
4851 version
4852 ".tar.gz"))
4853 (sha256
4854 (base32
4855 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
4856 (build-system haskell-build-system)
4857 (home-page "http://hackage.haskell.org/package/string-qq")
4858 (synopsis
4859 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
4860 (description
4861 "This package provides a quasiquoter for non-interpolated strings, texts
4862and bytestrings.")
4863 (license license:public-domain)))
4864
8164d58e
RW
4865(define-public ghc-pandoc-types
4866 (package
4867 (name "ghc-pandoc-types")
9d087076 4868 (version "1.17.3.1")
8164d58e
RW
4869 (source (origin
4870 (method url-fetch)
612fddec 4871 (uri (string-append "https://hackage.haskell.org/package/"
8164d58e
RW
4872 "pandoc-types/pandoc-types-"
4873 version ".tar.gz"))
4874 (sha256
4875 (base32
9d087076 4876 "0dhp5bcjl6605n2chiab5rp51zir3671gxkmwy34znh0s3vp85jb"))))
8164d58e 4877 (build-system haskell-build-system)
9d087076
RW
4878 (arguments
4879 `(#:configure-flags (list "--allow-newer=QuickCheck")))
2d47cee2 4880 (inputs
8164d58e
RW
4881 `(("ghc-syb" ,ghc-syb)
4882 ("ghc-aeson" ,ghc-aeson)
9d087076
RW
4883 ("ghc-string-qq" ,ghc-string-qq)))
4884 (native-inputs
4885 `(("ghc-quickcheck" ,ghc-quickcheck)
4886 ("ghc-test-framework" ,ghc-test-framework)
4887 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4888 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4889 ("ghc-hunit" ,ghc-hunit)))
8164d58e
RW
4890 (home-page "http://johnmacfarlane.net/pandoc")
4891 (synopsis "Types for representing a structured document")
4892 (description
4893 "This module defines the @code{Pandoc} data structure, which is used by
4894pandoc to represent structured documents. It also provides functions for
4895building up, manipulating and serialising @code{Pandoc} structures.")
3ac73271 4896 (license license:bsd-3)))
8164d58e 4897
ef2861b1
RW
4898(define-public ghc-texmath
4899 (package
4900 (name "ghc-texmath")
8b0346f0 4901 (version "0.10.1.1")
ef2861b1
RW
4902 (source (origin
4903 (method url-fetch)
612fddec 4904 (uri (string-append "https://hackage.haskell.org/package/"
ef2861b1
RW
4905 "texmath/texmath-" version ".tar.gz"))
4906 (sha256
4907 (base32
8b0346f0 4908 "0q2fld5mdcd6j1n3rrg3bjpndbgbn17cwg0xbnvscrpa0s767jaj"))))
ef2861b1 4909 (build-system haskell-build-system)
2d47cee2 4910 (inputs
ef2861b1
RW
4911 `(("ghc-syb" ,ghc-syb)
4912 ("ghc-network-uri" ,ghc-network-uri)
4913 ("ghc-split" ,ghc-split)
4914 ("ghc-temporary" ,ghc-temporary)
4915 ("ghc-utf8-string" ,ghc-utf8-string)
4916 ("ghc-xml" ,ghc-xml)
4917 ("ghc-parsec" ,ghc-parsec)
4918 ("ghc-mtl" ,ghc-mtl)
4919 ("ghc-pandoc-types" ,ghc-pandoc-types)))
612fddec 4920 (home-page "https://github.com/jgm/texmath")
ef2861b1
RW
4921 (synopsis "Conversion between formats used to represent mathematics")
4922 (description
4923 "The texmath library provides functions to read and write TeX math,
4924presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
4925Office). Support is also included for converting math formats to pandoc's
4926native format (allowing conversion, via pandoc, to a variety of different
4927markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
4928it can parse and apply LaTeX macros.")
3ac73271 4929 (license license:gpl2+)))
ef2861b1 4930
a54d11b5
RW
4931(define-public ghc-regex-pcre-builtin
4932 (package
4933 (name "ghc-regex-pcre-builtin")
4934 (version "0.94.4.8.8.35")
4935 (source (origin
4936 (method url-fetch)
612fddec 4937 (uri (string-append "https://hackage.haskell.org/package/"
a54d11b5
RW
4938 "regex-pcre-builtin/regex-pcre-builtin-"
4939 version ".tar.gz"))
4940 (sha256
4941 (base32
4942 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
4943 (build-system haskell-build-system)
2d47cee2 4944 (inputs
a54d11b5 4945 `(("ghc-regex-base" ,ghc-regex-base)))
612fddec 4946 (home-page "https://hackage.haskell.org/package/regex-pcre")
a54d11b5
RW
4947 (synopsis "Enhancement of the builtin Text.Regex library")
4948 (description
4949 "This package is an enhancement of the @code{Text.Regex} library,
4950providing the PCRE backend to accompany regex-base, with bundled code from
4951@url{http://www.pcre.org}.")
3ac73271 4952 (license license:bsd-3)))
a54d11b5 4953
05245dc9
RW
4954(define-public ghc-diff
4955 (package
4956 (name "ghc-diff")
307a0dce 4957 (version "0.3.4")
05245dc9
RW
4958 (source (origin
4959 (method url-fetch)
612fddec 4960 (uri (string-append "https://hackage.haskell.org/package/"
05245dc9
RW
4961 "Diff/Diff-" version ".tar.gz"))
4962 (sha256
4963 (base32
307a0dce 4964 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
05245dc9 4965 (build-system haskell-build-system)
307a0dce
RW
4966 (native-inputs
4967 `(("ghc-quickcheck" ,ghc-quickcheck)
4968 ("ghc-test-framework" ,ghc-test-framework)
4969 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
05245dc9
RW
4970 (home-page "http://hub.darcs.net/sterlingclover/Diff")
4971 (synopsis "O(ND) diff algorithm in Haskell")
4972 (description
4973 "This package provides an implementation of the standard diff algorithm,
4974and utilities for pretty printing.")
3ac73271 4975 (license license:bsd-3)))
05245dc9 4976
66c480b6
RW
4977(define-public ghc-highlighting-kate
4978 (package
4979 (name "ghc-highlighting-kate")
8f1e2dca 4980 (version "0.6.3")
66c480b6
RW
4981 (source (origin
4982 (method url-fetch)
612fddec 4983 (uri (string-append "https://hackage.haskell.org/package/"
66c480b6
RW
4984 "highlighting-kate/highlighting-kate-"
4985 version ".tar.gz"))
4986 (sha256
4987 (base32
8f1e2dca 4988 "03c4flh4h1jd48bx0qmplax3q8w6wj1dhbh6j0xhaf5h95fbinki"))))
66c480b6 4989 (build-system haskell-build-system)
2d47cee2 4990 (inputs
66c480b6
RW
4991 `(("ghc-diff" ,ghc-diff)
4992 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4993 (native-inputs
4994 `(("ghc-parsec" ,ghc-parsec)
4995 ("ghc-blaze-html" ,ghc-blaze-html)
4996 ("ghc-utf8-string" ,ghc-utf8-string)
4997 ("ghc-mtl" ,ghc-mtl)))
612fddec 4998 (home-page "https://github.com/jgm/highlighting-kate")
66c480b6
RW
4999 (synopsis "Syntax highlighting library")
5000 (description
5001 "Highlighting-kate is a syntax highlighting library with support for
5002nearly one hundred languages. The syntax parsers are automatically generated
5003from @uref{http://kate-editor.org/, Kate syntax descriptions}, so any syntax
5004supported by Kate can be added. An (optional) command-line program is
5005provided, along with a utility for generating new parsers from Kate XML syntax
5006descriptions.")
3ac73271 5007 (license license:gpl2+)))
66c480b6 5008
31be270b
RW
5009(define-public ghc-cmark
5010 (package
5011 (name "ghc-cmark")
b8490856 5012 (version "0.5.6")
31be270b
RW
5013 (source (origin
5014 (method url-fetch)
b8490856
TGR
5015 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5016 ;; See cbits/cmark_version.h.
612fddec 5017 (uri (string-append "https://hackage.haskell.org/package/"
31be270b
RW
5018 "cmark/cmark-" version ".tar.gz"))
5019 (sha256
5020 (base32
b8490856 5021 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
31be270b 5022 (build-system haskell-build-system)
2d47cee2 5023 (inputs
31be270b
RW
5024 `(("ghc-text" ,ghc-text)))
5025 (native-inputs
5026 `(("ghc-hunit" ,ghc-hunit)))
5027 (home-page "https://github.com/jgm/commonmark-hs")
5028 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5029 (description
5030 "This package provides Haskell bindings for
5031@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
b8490856
TGR
5032CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5033sources, and does not require prior installation of the C library.")
3ac73271 5034 (license license:bsd-3)))
31be270b 5035
0ba94011
RW
5036(define-public ghc-cmark-gfm
5037 (package
5038 (name "ghc-cmark-gfm")
5039 (version "0.1.3")
5040 (source
5041 (origin
5042 (method url-fetch)
5043 (uri (string-append "https://hackage.haskell.org/package/"
5044 "cmark-gfm/cmark-gfm-"
5045 version ".tar.gz"))
5046 (sha256
5047 (base32
5048 "1fkisbrydmdx5h8yad09fzk8h1b1j53r02g7vb81izgdwj9b673k"))))
5049 (build-system haskell-build-system)
5050 (inputs
5051 `(("ghc-text" ,ghc-text)))
5052 (native-inputs
5053 `(("ghc-hunit" ,ghc-hunit)))
5054 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5055 (synopsis
5056 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5057 (description
5058 "This package provides Haskell bindings for libcmark-gfm, the reference
5059parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5060It includes sources for libcmark-gfm and does not require prior installation
5061of the C library.")
5062 (license license:bsd-3)))
5063
25b20a9c
RW
5064(define-public ghc-executable-path
5065 (package
5066 (name "ghc-executable-path")
1c42bd13 5067 (version "0.0.3.1")
25b20a9c
RW
5068 (source (origin
5069 (method url-fetch)
612fddec 5070 (uri (string-append "https://hackage.haskell.org/package/"
25b20a9c
RW
5071 "executable-path/executable-path-"
5072 version ".tar.gz"))
5073 (sha256
5074 (base32
1c42bd13 5075 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
25b20a9c 5076 (build-system haskell-build-system)
612fddec 5077 (home-page "https://hackage.haskell.org/package/executable-path")
25b20a9c
RW
5078 (synopsis "Find out the full path of the executable")
5079 (description
5080 "The documentation of @code{System.Environment.getProgName} says that
5081\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5082instead, for maximum portability, we just return the leafname of the program
5083as invoked.\" This library tries to provide the missing path.")
3ac73271 5084 (license license:public-domain)))
25b20a9c 5085
5de6eedc
RW
5086(define-public ghc-enclosed-exceptions
5087 (package
5088 (name "ghc-enclosed-exceptions")
56aa945e 5089 (version "1.0.2")
5de6eedc
RW
5090 (source (origin
5091 (method url-fetch)
612fddec 5092 (uri (string-append "https://hackage.haskell.org/package/"
5de6eedc
RW
5093 "enclosed-exceptions/enclosed-exceptions-"
5094 version ".tar.gz"))
5095 (sha256
5096 (base32
56aa945e 5097 "1wc9h6zdnb5impvvml6vnjapajjanw7zgpnzg7c0v7115nwfm6vv"))))
5de6eedc 5098 (build-system haskell-build-system)
2d47cee2 5099 (inputs
5de6eedc
RW
5100 `(("ghc-lifted-base" ,ghc-lifted-base)
5101 ("ghc-monad-control" ,ghc-monad-control)
5102 ("ghc-async" ,ghc-async)
5103 ("ghc-transformers-base" ,ghc-transformers-base)))
5104 (native-inputs
5105 `(("ghc-hspec" ,ghc-hspec)
5106 ("ghc-quickcheck" ,ghc-quickcheck)))
5107 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5108 (synopsis "Catch all exceptions from within an enclosed computation")
5109 (description
5110 "This library implements a technique to catch all exceptions raised
5111within an enclosed computation, while remaining responsive to (external)
5112asynchronous exceptions.")
3ac73271 5113 (license license:expat)))
5de6eedc 5114
74d9f72e
RW
5115(define-public ghc-packedstring
5116 (package
5117 (name "ghc-packedstring")
5118 (version "0.1.0.1")
5119 (source (origin
5120 (method url-fetch)
612fddec 5121 (uri (string-append "https://hackage.haskell.org/package/"
74d9f72e
RW
5122 "packedstring/packedstring-"
5123 version ".tar.gz"))
5124 (sha256
5125 (base32
5126 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5127 (build-system haskell-build-system)
5128 (arguments
5129 `(#:phases
5130 (modify-phases %standard-phases
5131 (add-after 'unpack 'enable-extension
5132 (lambda _
5133 ;; This package won't compile without the StandaloneDeriving
5134 ;; extension.
5135 (substitute* "packedstring.cabal"
5136 (("CPP") "CPP, StandaloneDeriving"))
5137 #t)))))
612fddec 5138 (home-page "https://hackage.haskell.org/package/packedstring")
74d9f72e
RW
5139 (synopsis "Library for packed strings")
5140 (description
5141 "This deprecated library provides an implementation of packed strings.")
3ac73271 5142 (license license:bsd-3)))
74d9f72e 5143
9dfc79b3
RW
5144(define-public ghc-th-abstraction
5145 (package
5146 (name "ghc-th-abstraction")
5147 (version "0.2.6.0")
5148 (source
5149 (origin
5150 (method url-fetch)
5151 (uri (string-append "https://hackage.haskell.org/package/"
5152 "th-abstraction/th-abstraction-"
5153 version ".tar.gz"))
5154 (sha256
5155 (base32
5156 "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5"))))
5157 (build-system haskell-build-system)
5158 (home-page "https://github.com/glguy/th-abstraction")
5159 (synopsis "Nicer interface for reified information about data types")
5160 (description
5161 "This package normalizes variations in the interface for inspecting
5162datatype information via Template Haskell so that packages and support a
5163single, easier to use informational datatype while supporting many versions of
5164Template Haskell.")
5165 (license license:isc)))
5166
1777e1f2
RW
5167(define-public ghc-th-lift
5168 (package
5169 (name "ghc-th-lift")
44c233ac 5170 (version "0.7.8")
1777e1f2
RW
5171 (source (origin
5172 (method url-fetch)
612fddec 5173 (uri (string-append "https://hackage.haskell.org/package/"
1777e1f2
RW
5174 "th-lift/th-lift-" version ".tar.gz"))
5175 (sha256
5176 (base32
44c233ac 5177 "0ay10b78x3969rpqqrgzy8srkl6iby2cljbf3mm17na8x22k7y1c"))))
1777e1f2 5178 (build-system haskell-build-system)
612fddec 5179 (home-page "https://github.com/mboes/th-lift")
1777e1f2
RW
5180 (synopsis "Derive Template Haskell's Lift class for datatypes")
5181 (description
5182 "This is a Haskell library to derive Template Haskell's Lift class for
5183datatypes.")
3ac73271 5184 (license license:bsd-3)))
1777e1f2 5185
a6d1c4e7
RW
5186(define-public ghc-th-lift-instances
5187 (package
5188 (name "ghc-th-lift-instances")
5189 (version "0.1.11")
5190 (source
5191 (origin
5192 (method url-fetch)
5193 (uri (string-append "https://hackage.haskell.org/package/"
5194 "th-lift-instances/th-lift-instances-"
5195 version ".tar.gz"))
5196 (sha256
5197 (base32
5198 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
5199 (build-system haskell-build-system)
5200 (inputs
5201 `(("ghc-th-lift" ,ghc-th-lift)
5202 ("ghc-vector" ,ghc-vector)
5203 ("ghc-text" ,ghc-text)
5204 ("ghc-quickcheck" ,ghc-quickcheck)))
5205 (home-page "https://github.com/bennofs/th-lift-instances/")
5206 (synopsis "Lift instances for template-haskell for common data types.")
5207 (description "Most data types in the Haskell platform do not have Lift
5208instances. This package provides orphan instances for @code{containers},
5209@code{text}, @code{bytestring} and @code{vector}.")
5210 (license license:bsd-3)))
5211
25101be9
RW
5212(define-public ghc-th-expand-syns
5213 (package
5214 (name "ghc-th-expand-syns")
165e5f6e 5215 (version "0.4.0.0")
25101be9
RW
5216 (source (origin
5217 (method url-fetch)
612fddec 5218 (uri (string-append "https://hackage.haskell.org/package/"
25101be9
RW
5219 "th-expand-syns/th-expand-syns-"
5220 version ".tar.gz"))
5221 (sha256
5222 (base32
165e5f6e 5223 "1sjy7a17zwyvlbkc8gklii67sy78wpnw35fyb00lsbnpk4cryd2r"))))
25101be9 5224 (build-system haskell-build-system)
2d47cee2 5225 (inputs
25101be9 5226 `(("ghc-syb" ,ghc-syb)))
612fddec 5227 (home-page "https://hackage.haskell.org/package/th-expand-syns")
25101be9
RW
5228 (synopsis "Expands type synonyms in Template Haskell ASTs")
5229 (description
5230 "This package enables users to expand type synonyms in Template Haskell
5231@dfn{abstract syntax trees} (ASTs).")
3ac73271 5232 (license license:bsd-3)))
25101be9 5233
536b84a8
RW
5234(define-public ghc-th-reify-many
5235 (package
5236 (name "ghc-th-reify-many")
9e21b4a8 5237 (version "0.1.6")
536b84a8
RW
5238 (source (origin
5239 (method url-fetch)
612fddec 5240 (uri (string-append "https://hackage.haskell.org/package/"
536b84a8
RW
5241 "th-reify-many/th-reify-many-"
5242 version ".tar.gz"))
5243 (sha256
5244 (base32
9e21b4a8 5245 "1b76zjxkj0v0n8zj9l0nwav2irm0c43rx6qjihfw8klmmxvx59df"))))
536b84a8 5246 (build-system haskell-build-system)
2d47cee2 5247 (inputs
536b84a8
RW
5248 `(("ghc-mtl" ,ghc-mtl)
5249 ("ghc-safe" ,ghc-safe)
5250 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
612fddec 5251 (home-page "https://github.com/mgsloan/th-reify-many")
536b84a8
RW
5252 (synopsis "Recurseively reify template haskell datatype info")
5253 (description
5254 "th-reify-many provides functions for recursively reifying top level
5255declarations. The main intended use case is for enumerating the names of
5256datatypes reachable from an initial datatype, and passing these names to some
5257function which generates instances.")
3ac73271 5258 (license license:bsd-3)))
536b84a8 5259
2e677251
RW
5260(define-public ghc-th-orphans
5261 (package
5262 (name "ghc-th-orphans")
080778a0 5263 (version "0.13.2")
2e677251
RW
5264 (source (origin
5265 (method url-fetch)
612fddec 5266 (uri (string-append "https://hackage.haskell.org/package/"
2e677251
RW
5267 "th-orphans/th-orphans-" version ".tar.gz"))
5268 (sha256
5269 (base32
080778a0 5270 "0102vkyzpgnp2fys8pvw4khrhrh2y1b8dp1slgvn020vg4s351mc"))))
2e677251 5271 (build-system haskell-build-system)
2d47cee2 5272 (inputs
2e677251 5273 `(("ghc-th-lift" ,ghc-th-lift)
080778a0 5274 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
2e677251 5275 ("ghc-th-reify-many" ,ghc-th-reify-many)
a231ef7e 5276 ("ghc-mtl" ,ghc-mtl)
2e677251
RW
5277 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5278 (native-inputs
5279 `(("ghc-hspec" ,ghc-hspec)))
612fddec 5280 (home-page "https://hackage.haskell.org/package/th-orphans")
2e677251
RW
5281 (synopsis "Orphan instances for TH datatypes")
5282 (description
5283 "This package provides orphan instances for Template Haskell datatypes. In particular,
5284instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5285and @code{Eq} instances. These instances used to live in the haskell-src-meta
5286package, and that's where the version number started.")
3ac73271 5287 (license license:bsd-3)))
2e677251 5288
e0ca14c7
AV
5289(define-public ghc-geniplate-mirror
5290 (package
5291 (name "ghc-geniplate-mirror")
5292 (version "0.7.5")
5293 (source
5294 (origin
5295 (method url-fetch)
5296 (uri (string-append "https://hackage.haskell.org/package"
5297 "/geniplate-mirror"
5298 "/geniplate-mirror-" version ".tar.gz"))
5299 (sha256
5300 (base32 "17vjps2118s5z3k39ij00lkmkxv3mqf8h59wv6qdamlgmhyr36si"))))
5301 (build-system haskell-build-system)
5302 (inputs `(("ghc-mtl" ,ghc-mtl)))
5303 (home-page "https://github.com/danr/geniplate")
5304 (synopsis "Use Template Haskell to generate Uniplate-like functions")
5305 (description
5306 "Use Template Haskell to generate Uniplate-like functions. This is a
5307maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
5308geniplate} package, written by Lennart Augustsson.")
5309 (license license:bsd-3)))
5310
af4db693
AV
5311(define-public ghc-gitrev
5312 (package
5313 (name "ghc-gitrev")
5314 (version "1.3.1")
5315 (source
5316 (origin
5317 (method url-fetch)
5318 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
5319 version ".tar.gz"))
5320 (sha256
5321 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
5322 (build-system haskell-build-system)
5323 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
5324 (home-page "https://github.com/acfoltzer/gitrev")
5325 (synopsis "Compile git revision info into Haskell projects")
5326 (description
5327 "This package provides some handy Template Haskell splices for including
5328the current git hash and branch in the code of your project. This is useful
5329for including in panic messages, @command{--version} output, or diagnostic
5330info for more informative bug reports.")
5331 (license license:bsd-3)))
5332
3611fc7b
RW
5333(define-public ghc-haskell-src-meta
5334 (package
5335 (name "ghc-haskell-src-meta")
db6dbe19 5336 (version "0.8.0.2")
3611fc7b
RW
5337 (source (origin
5338 (method url-fetch)
612fddec 5339 (uri (string-append "https://hackage.haskell.org/package/"
3611fc7b
RW
5340 "haskell-src-meta/haskell-src-meta-"
5341 version ".tar.gz"))
5342 (sha256
5343 (base32
db6dbe19 5344 "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb"))))
3611fc7b 5345 (build-system haskell-build-system)
2d47cee2 5346 (inputs
3611fc7b
RW
5347 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5348 ("ghc-syb" ,ghc-syb)
5349 ("ghc-th-orphans" ,ghc-th-orphans)))
db6dbe19
RW
5350 (native-inputs
5351 `(("ghc-hunit" ,ghc-hunit)
5352 ("ghc-test-framework" ,ghc-test-framework)
5353 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
612fddec 5354 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
3611fc7b
RW
5355 (synopsis "Parse source to template-haskell abstract syntax")
5356 (description
5357 "This package provides tools to parse Haskell sources to the
5358template-haskell abstract syntax.")
3ac73271 5359 (license license:bsd-3)))
3611fc7b 5360
b55630a3
RW
5361(define-public ghc-conduit
5362 (package
5363 (name "ghc-conduit")
7bc18f41 5364 (version "1.2.12.1")
b55630a3
RW
5365 (source (origin
5366 (method url-fetch)
612fddec 5367 (uri (string-append "https://hackage.haskell.org/package/"
b55630a3
RW
5368 "conduit/conduit-" version ".tar.gz"))
5369 (sha256
5370 (base32
7bc18f41 5371 "0zl6gflh7y36y2vypjhqx13nhkk5y3h12c1zj7kjfclrmwnvnwh0"))))
b55630a3 5372 (build-system haskell-build-system)
2d47cee2 5373 (inputs
b55630a3
RW
5374 `(("ghc-exceptions" ,ghc-exceptions)
5375 ("ghc-lifted-base" ,ghc-lifted-base)
5376 ("ghc-mmorph" ,ghc-mmorph)
5377 ("ghc-mtl" ,ghc-mtl)
5378 ("ghc-resourcet" ,ghc-resourcet)
5379 ("ghc-transformers-base" ,ghc-transformers-base)
5380 ("ghc-void" ,ghc-void)))
5381 (native-inputs
5382 `(("ghc-quickcheck" ,ghc-quickcheck)
5383 ("ghc-hspec" ,ghc-hspec)
7bc18f41 5384 ("ghc-safe" ,ghc-safe)
5385 ("ghc-split" ,ghc-split)))
b55630a3
RW
5386 (home-page "https://github.com/snoyberg/conduit")
5387 (synopsis "Streaming data library ")
5388 (description
463c39c3 5389 "The conduit package is a solution to the streaming data problem,
5390allowing for production, transformation, and consumption of streams of data
5391in constant memory. It is an alternative to lazy I/O which guarantees
5392deterministic resource handling, and fits in the same general solution
5393space as enumerator/iteratee and pipes.")
3ac73271 5394 (license license:expat)))
b55630a3 5395
1c17529f
RW
5396(define-public ghc-logging-facade
5397 (package
5398 (name "ghc-logging-facade")
38697357 5399 (version "0.1.1")
1c17529f
RW
5400 (source (origin
5401 (method url-fetch)
612fddec 5402 (uri (string-append "https://hackage.haskell.org/package/"
1c17529f
RW
5403 "logging-facade/logging-facade-"
5404 version ".tar.gz"))
5405 (sha256
5406 (base32
38697357 5407 "18ldv6rsff480rqpbs3iabjpvn1fhw0i2a0g80jnhxg9ajfz5yb0"))))
1c17529f
RW
5408 (build-system haskell-build-system)
5409 (native-inputs
2d47cee2
RW
5410 `(("ghc-hspec" ,ghc-hspec)
5411 ("hspec-discover" ,hspec-discover)))
612fddec 5412 (home-page "https://hackage.haskell.org/package/logging-facade")
1c17529f
RW
5413 (synopsis "Simple logging abstraction that allows multiple back-ends")
5414 (description
5415 "This package provides a simple logging abstraction that allows multiple
5416back-ends.")
3ac73271 5417 (license license:expat)))
1c17529f 5418
9efdbb72
RW
5419(define-public ghc-mockery
5420 (package
5421 (name "ghc-mockery")
1e521705 5422 (version "0.3.3")
9efdbb72
RW
5423 (source (origin
5424 (method url-fetch)
612fddec 5425 (uri (string-append "https://hackage.haskell.org/package/"
9efdbb72
RW
5426 "mockery/mockery-" version ".tar.gz"))
5427 (sha256
5428 (base32
1e521705 5429 "1m7sq2vclgir3qbpngzl3g87ks4034blwwf7p3h02c0jlcwpl5b1"))))
9efdbb72 5430 (build-system haskell-build-system)
2d47cee2 5431 (inputs
9efdbb72 5432 `(("ghc-temporary" ,ghc-temporary)
1e521705
RW
5433 ("ghc-logging-facade" ,ghc-logging-facade)
5434 ("ghc-base-compat" ,ghc-base-compat)))
9efdbb72 5435 (native-inputs
2d47cee2
RW
5436 `(("ghc-hspec" ,ghc-hspec)
5437 ("hspec-discover" ,hspec-discover)))
612fddec 5438 (home-page "https://hackage.haskell.org/package/mockery")
9efdbb72
RW
5439 (synopsis "Support functions for automated testing")
5440 (description
5441 "The mockery package provides support functions for automated testing.")
3ac73271 5442 (license license:expat)))
9efdbb72 5443
132133c1
RW
5444(define-public ghc-yaml
5445 (package
5446 (name "ghc-yaml")
fe4f81bc 5447 (version "0.8.28")
132133c1
RW
5448 (source (origin
5449 (method url-fetch)
612fddec 5450 (uri (string-append "https://hackage.haskell.org/package/"
132133c1
RW
5451 "yaml/yaml-" version ".tar.gz"))
5452 (sha256
5453 (base32
fe4f81bc 5454 "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp"))))
132133c1 5455 (build-system haskell-build-system)
2d47cee2 5456 (inputs
132133c1
RW
5457 `(("ghc-conduit" ,ghc-conduit)
5458 ("ghc-resourcet" ,ghc-resourcet)
5459 ("ghc-aeson" ,ghc-aeson)
5460 ("ghc-unordered-containers" ,ghc-unordered-containers)
5461 ("ghc-vector" ,ghc-vector)
5462 ("ghc-text" ,ghc-text)
5463 ("ghc-attoparsec" ,ghc-attoparsec)
5464 ("ghc-scientific" ,ghc-scientific)
fe4f81bc
RW
5465 ("ghc-semigroups" ,ghc-semigroups)
5466 ("ghc-temporary" ,ghc-temporary)
132133c1 5467 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
132133c1
RW
5468 ("ghc-base-compat" ,ghc-base-compat)))
5469 (native-inputs
5470 `(("ghc-hspec" ,ghc-hspec)
5471 ("ghc-hunit" ,ghc-hunit)
2d47cee2 5472 ("hspec-discover" ,hspec-discover)
132133c1 5473 ("ghc-mockery" ,ghc-mockery)))
612fddec 5474 (home-page "https://github.com/snoyberg/yaml/")
132133c1
RW
5475 (synopsis "Parsing and rendering YAML documents")
5476 (description
5477 "This package provides a library to parse and render YAML documents.")
3ac73271 5478 (license license:bsd-3)))
132133c1 5479
fcacbec3
RW
5480(define-public ghc-filemanip
5481 (package
5482 (name "ghc-filemanip")
5483 (version "0.3.6.3")
5484 (source (origin
5485 (method url-fetch)
612fddec 5486 (uri (string-append "https://hackage.haskell.org/package/"
fcacbec3
RW
5487 "filemanip/filemanip-" version ".tar.gz"))
5488 (sha256
5489 (base32
5490 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
5491 (build-system haskell-build-system)
2d47cee2 5492 (inputs
fcacbec3
RW
5493 `(("ghc-mtl" ,ghc-mtl)
5494 ("ghc-unix-compat" ,ghc-unix-compat)))
5495 (home-page "https://github.com/bos/filemanip")
5496 (synopsis "File and directory manipulation for Haskell")
5497 (description
5498 "This package provides a Haskell library for working with files and
5499directories. It includes code for pattern matching, finding files, modifying
5500file contents, and more.")
3ac73271 5501 (license license:bsd-3)))
fcacbec3 5502
348519e1
RW
5503(define-public ghc-mmap
5504 (package
5505 (name "ghc-mmap")
5506 (version "0.5.9")
5507 (source (origin
5508 (method url-fetch)
612fddec 5509 (uri (string-append "https://hackage.haskell.org/package/"
348519e1
RW
5510 "mmap/mmap-" version ".tar.gz"))
5511 (sha256
5512 (base32
5513 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
5514 (build-system haskell-build-system)
612fddec 5515 (home-page "https://hackage.haskell.org/package/mmap")
348519e1
RW
5516 (synopsis "Memory mapped files for Haskell")
5517 (description
5518 "This library provides a wrapper to @code{mmap}, allowing files or
5519devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
5520@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
5521do on-demand loading.")
3ac73271 5522 (license license:bsd-3)))
348519e1 5523
12676ce8
RW
5524(define-public ghc-juicypixels
5525 (package
5526 (name "ghc-juicypixels")
7a1bc3b9 5527 (version "3.2.9.3")
12676ce8
RW
5528 (source (origin
5529 (method url-fetch)
612fddec 5530 (uri (string-append "https://hackage.haskell.org/package/"
12676ce8
RW
5531 "JuicyPixels/JuicyPixels-"
5532 version ".tar.gz"))
5533 (sha256
5534 (base32
7a1bc3b9 5535 "14s57fgf6kd5n5al2kcvk1aaxbq1ph0r5h8blflrjkx83yl6r8yn"))))
12676ce8 5536 (build-system haskell-build-system)
2d47cee2 5537 (inputs
12676ce8
RW
5538 `(("ghc-mtl" ,ghc-mtl)
5539 ("ghc-zlib" ,ghc-zlib)
5540 ("ghc-vector" ,ghc-vector)
5541 ("ghc-primitive" ,ghc-primitive)
5542 ("ghc-mmap" ,ghc-mmap)))
5543 (home-page "https://github.com/Twinside/Juicy.Pixels")
5544 (synopsis "Picture loading and serialization library")
5545 (description
5546 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5547TIFF and GIF formats.")
3ac73271 5548 (license license:bsd-3)))
12676ce8 5549
ac5d633a
RW
5550(define-public ghc-hslua
5551 (package
5552 (name "ghc-hslua")
e045c014 5553 (version "0.9.5")
ac5d633a
RW
5554 (source (origin
5555 (method url-fetch)
612fddec 5556 (uri (string-append "https://hackage.haskell.org/package/"
ac5d633a
RW
5557 "hslua/hslua-" version ".tar.gz"))
5558 (sha256
5559 (base32
e045c014 5560 "1j2zk7f7nyywg2b0n6kb2yf6ljc7cn2sk9jz0h76g3ag2b70l12n"))))
ac5d633a 5561 (build-system haskell-build-system)
a231ef7e 5562 (arguments
ac5d633a
RW
5563 `(#:configure-flags '("-fsystem-lua")))
5564 (inputs
e045c014
RW
5565 `(("lua" ,lua)
5566 ("ghc-exceptions" ,ghc-exceptions)
5567 ("ghc-fail" ,ghc-fail)
5568 ("ghc-mtl" ,ghc-mtl)
2d47cee2 5569 ("ghc-text" ,ghc-text)))
ac5d633a 5570 (native-inputs
e045c014
RW
5571 `(("ghc-tasty" ,ghc-tasty)
5572 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5573 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
ac5d633a
RW
5575 ("ghc-quickcheck" ,ghc-quickcheck)
5576 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
612fddec 5577 (home-page "https://hackage.haskell.org/package/hslua")
ac5d633a 5578 (synopsis "Lua language interpreter embedding in Haskell")
a231ef7e 5579 (description
ac5d633a
RW
5580 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5581described in @url{http://www.lua.org/}.")
3ac73271 5582 (license license:expat)))
ac5d633a 5583
8045d84d
RW
5584(define-public ghc-hslua-module-text
5585 (package
5586 (name "ghc-hslua-module-text")
5587 (version "0.1.2.1")
5588 (source
5589 (origin
5590 (method url-fetch)
5591 (uri (string-append "https://hackage.haskell.org/package/"
5592 "hslua-module-text/hslua-module-text-"
5593 version ".tar.gz"))
5594 (sha256
5595 (base32
5596 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
5597 (build-system haskell-build-system)
5598 (inputs
5599 `(("ghc-hslua" ,ghc-hslua)
5600 ("ghc-text" ,ghc-text)))
5601 (native-inputs
5602 `(("ghc-tasty" ,ghc-tasty)
5603 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5604 (home-page "https://github.com/hslua/hslua-module-text")
5605 (synopsis "Lua module for text")
5606 (description
5607 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5608for Haskell. The functions provided by this module are @code{upper},
5609@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5610 (license license:expat)))
5611
51c05fcf
RW
5612(define-public ghc-byteable
5613 (package
5614 (name "ghc-byteable")
5615 (version "0.1.1")
5616 (source (origin
5617 (method url-fetch)
612fddec 5618 (uri (string-append "https://hackage.haskell.org/package/"
51c05fcf
RW
5619 "byteable/byteable-" version ".tar.gz"))
5620 (sha256
5621 (base32
5622 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
5623 (build-system haskell-build-system)
612fddec 5624 (home-page "https://github.com/vincenthz/hs-byteable")
51c05fcf
RW
5625 (synopsis "Type class for sequence of bytes")
5626 (description
5627 "This package provides an abstract class to manipulate sequence of bytes.
5628The use case of this class is abstracting manipulation of types that are just
5629wrapping a bytestring with stronger and more meaniful name.")
3ac73271 5630 (license license:bsd-3)))
51c05fcf 5631
45813e67
RW
5632(define-public ghc-hourglass
5633 (package
5634 (name "ghc-hourglass")
3a4181df 5635 (version "0.2.10")
45813e67
RW
5636 (source (origin
5637 (method url-fetch)
612fddec 5638 (uri (string-append "https://hackage.haskell.org/package/"
45813e67
RW
5639 "hourglass/hourglass-" version ".tar.gz"))
5640 (sha256
5641 (base32
3a4181df 5642 "104d1yd84hclprg740nkz60vx589mnm094zriw6zczbgg8nkclym"))))
45813e67 5643 (build-system haskell-build-system)
2d47cee2 5644 (inputs
45813e67
RW
5645 `(("ghc-mtl" ,ghc-mtl)
5646 ("ghc-old-locale" ,ghc-old-locale)))
5647 (native-inputs
5648 `(("ghc-tasty" ,ghc-tasty)
5649 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5650 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5651 (home-page "https://github.com/vincenthz/hs-hourglass")
5652 (synopsis "Simple time-related library for Haskell")
5653 (description
5654 "This is a simple time library providing a simple but powerful and
5655performant API. The backbone of the library are the @code{Timeable} and
5656@code{Time} type classes. Each @code{Timeable} instances can be converted to
5657a type that has a @code{Time} instances, and thus are different
5658representations of current time.")
3ac73271 5659 (license license:bsd-3)))
45813e67 5660
be04f802
AV
5661(define-public ghc-edit-distance
5662 (package
5663 (name "ghc-edit-distance")
5664 (version "0.2.2.1")
5665 (source
5666 (origin
5667 (method url-fetch)
5668 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
5669 "/edit-distance-" version ".tar.gz"))
5670 (sha256
5671 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
5672 (build-system haskell-build-system)
5673 (inputs
5674 `(("ghc-random" ,ghc-random)
5675 ("ghc-test-framework" ,ghc-test-framework)
5676 ("ghc-quickcheck" ,ghc-quickcheck)
5677 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
5678 (home-page "https://github.com/phadej/edit-distance")
5679 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
5680 (description
5681 "This package provides optimized functions to determine the edit
5682distances for fuzzy matching, including Levenshtein and restricted
5683Damerau-Levenshtein algorithms.")
5684 (license license:bsd-3)))
5685
4dc2deb9
RW
5686(define-public ghc-memory
5687 (package
5688 (name "ghc-memory")
7531b1fc 5689 (version "0.13")
4dc2deb9
RW
5690 (source (origin
5691 (method url-fetch)
612fddec 5692 (uri (string-append "https://hackage.haskell.org/package/"
4dc2deb9
RW
5693 "memory/memory-" version ".tar.gz"))
5694 (sha256
5695 (base32
7531b1fc 5696 "02l742qxjqy3jw1a347gb7sn7pn7a5qha1vzi2qqbvgafcjn0wyw"))))
4dc2deb9
RW
5697 (build-system haskell-build-system)
5698 (native-inputs
5699 `(("ghc-tasty" ,ghc-tasty)
5700 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5701 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5702 (home-page "https://github.com/vincenthz/hs-memory")
5703 (synopsis "Memory abstractions for Haskell")
5704 (description
5705 "This package provides memory abstractions, such as chunk of memory,
5706polymorphic byte array management and manipulation functions. It contains a
5707polymorphic byte array abstraction and functions similar to strict ByteString,
5708different type of byte array abstraction, raw memory IO operations (memory
5709set, memory copy, ..) and more")
3ac73271 5710 (license license:bsd-3)))
4dc2deb9 5711
dcc5cf1d
RW
5712(define-public ghc-socks
5713 (package
5714 (name "ghc-socks")
15009c14 5715 (version "0.5.5")
dcc5cf1d
RW
5716 (source (origin
5717 (method url-fetch)
612fddec 5718 (uri (string-append "https://hackage.haskell.org/package/"
dcc5cf1d
RW
5719 "socks/socks-" version ".tar.gz"))
5720 (sha256
5721 (base32
15009c14 5722 "0s689w1hh9g8ifl75xhzbv96ir07hwn04b4lgvbxzl8swa9ylir6"))))
dcc5cf1d 5723 (build-system haskell-build-system)
2d47cee2 5724 (inputs
dcc5cf1d
RW
5725 `(("ghc-cereal" ,ghc-cereal)
5726 ("ghc-network" ,ghc-network)))
612fddec 5727 (home-page "https://github.com/vincenthz/hs-socks")
66e07664 5728 (synopsis "SOCKS proxy (version 5) implementation")
dcc5cf1d
RW
5729 (description
5730 "This library provides a SOCKS proxy (version 5) implementation.")
3ac73271 5731 (license license:bsd-3)))
dcc5cf1d 5732
86dd2ce0
RW
5733(define-public ghc-connection
5734 (package
5735 (name "ghc-connection")
e41fad21 5736 (version "0.2.6")
86dd2ce0
RW
5737 (source (origin
5738 (method url-fetch)
612fddec 5739 (uri (string-append "https://hackage.haskell.org/package/"
86dd2ce0
RW
5740 "connection/connection-"
5741 version ".tar.gz"))
5742 (sha256
5743 (base32
e41fad21 5744 "1c1prsgad669cmf6qrqlb5hmh0dnam2imijqzpwcr4ja14l6rh83"))))
86dd2ce0 5745 (build-system haskell-build-system)
2d47cee2 5746 (inputs
86dd2ce0
RW
5747 `(("ghc-byteable" ,ghc-byteable)
5748 ("ghc-data-default-class" ,ghc-data-default-class)
5749 ("ghc-network" ,ghc-network)
5750 ("ghc-tls" ,ghc-tls)
5751 ("ghc-socks" ,ghc-socks)
5752 ("ghc-x509" ,ghc-x509)
5753 ("ghc-x509-store" ,ghc-x509-store)
5754 ("ghc-x509-system" ,ghc-x509-system)
5755 ("ghc-x509-validation" ,ghc-x509-validation)))
612fddec 5756 (home-page "https://github.com/vincenthz/hs-connection")
86dd2ce0
RW
5757 (synopsis "Simple and easy network connections API")
5758 (description
5759 "This package provides a simple network library for all your connection
5760needs. It provides a very simple API to create sockets to a destination with
5761the choice of SSL/TLS, and SOCKS.")
3ac73271 5762 (license license:bsd-3)))
86dd2ce0 5763
14e9a397
RW
5764(define-public ghc-skylighting
5765 (package
5766 (name "ghc-skylighting")
5767 (version "0.5.1")
5768 (source (origin
5769 (method url-fetch)
5770 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
5771 version "/skylighting-" version ".tar.gz"))
5772 (sha256
5773 (base32
5774 "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg"))))
5775 (build-system haskell-build-system)
5776 (inputs
5777 `(("ghc-aeson" ,ghc-aeson)
5778 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
5779 ("ghc-attoparsec" ,ghc-attoparsec)
5780 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5781 ("ghc-blaze-html" ,ghc-blaze-html)
5782 ("ghc-case-insensitive" ,ghc-case-insensitive)
5783 ("ghc-colour" ,ghc-colour)
5784 ("ghc-diff" ,ghc-diff)
5785 ("ghc-hxt" ,ghc-hxt)
5786 ("ghc-mtl" ,ghc-mtl)
5787 ("ghc-pretty-show" ,ghc-pretty-show)
5788 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
5789 ("ghc-safe" ,ghc-safe)
5790 ("ghc-text" ,ghc-text)
5791 ("ghc-utf8-string" ,ghc-utf8-string)))
5792 (native-inputs
5793 `(("ghc-hunit" ,ghc-hunit)
5794 ("ghc-quickcheck" ,ghc-quickcheck)
5795 ("ghc-tasty" ,ghc-tasty)
5796 ("ghc-tasty-golden" ,ghc-tasty-golden)
5797 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5798 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
5799 (home-page "https://hackage.haskell.org/package/skylighting")
5800 (synopsis "Syntax highlighting library")
5801 (description "Skylighting is a syntax highlighting library with support
5802for over one hundred languages. It derives its tokenizers from XML syntax
5803definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
5804supported by that framework can be added. An optional command-line program is
5805provided. Skylighting is intended to be the successor to highlighting-kate.")
5806 (license license:gpl2)))
5807
4012ea04
RW
5808(define-public ghc-doctemplates
5809 (package
5810 (name "ghc-doctemplates")
5811 (version "0.2.1")
5812 (source
5813 (origin
5814 (method url-fetch)
5815 (uri (string-append "https://hackage.haskell.org/package/"
5816 "doctemplates/doctemplates-"
5817 version ".tar.gz"))
5818 (sha256
5819 (base32
5820 "1bfs2kl5j5al2w2y4qpbn68p0xsnb65r7h51l356kpkzc326646p"))))
5821 (build-system haskell-build-system)
5822 (inputs
5823 `(("ghc-aeson" ,ghc-aeson)
5824 ("ghc-blaze-markup" ,ghc-blaze-markup)
5825 ("ghc-blaze-html" ,ghc-blaze-html)
5826 ("ghc-text" ,ghc-text)
5827 ("ghc-vector" ,ghc-vector)
5828 ("ghc-parsec" ,ghc-parsec)
5829 ("ghc-unordered-containers" ,ghc-unordered-containers)
5830 ("ghc-scientific" ,ghc-scientific)))
5831 (native-inputs
5832 `(("ghc-hspec" ,ghc-hspec)))
5833 (home-page "https://github.com/jgm/doctemplates#readme")
5834 (synopsis "Pandoc-style document templates")
5835 (description
5836 "This package provides a simple text templating system used by pandoc.")
5837 (license license:bsd-3)))
5838
85538709
RW
5839(define-public ghc-pandoc
5840 (package
5841 (name "ghc-pandoc")
1afa5abb 5842 (version "2.0.6")
85538709
RW
5843 (source
5844 (origin
5845 (method url-fetch)
612fddec 5846 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
85538709
RW
5847 version ".tar.gz"))
5848 (sha256
5849 (base32
1afa5abb 5850 "1vhj6splykksb1mkxv5cs0361nj12qn23a3y1i8j5dc637lkdwpj"))))
85538709 5851 (build-system haskell-build-system)
2d47cee2 5852 (inputs
1afa5abb
RW
5853 `(("ghc-aeson" ,ghc-aeson)
5854 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
85538709 5855 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
85538709
RW
5856 ("ghc-blaze-html" ,ghc-blaze-html)
5857 ("ghc-blaze-markup" ,ghc-blaze-markup)
1afa5abb
RW
5858 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
5859 ("ghc-data-default" ,ghc-data-default)
85538709 5860 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1afa5abb
RW
5861 ("ghc-diff" ,ghc-diff)
5862 ("ghc-doctemplates" ,ghc-doctemplates)
5863 ("ghc-executable-path" ,ghc-executable-path)
5864 ("ghc-glob" ,ghc-glob)
5865 ("ghc-haddock-library" ,ghc-haddock-library)
5866 ("ghc-hslua" ,ghc-hslua)
5867 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
5868 ("ghc-http" ,ghc-http)
85538709
RW
5869 ("ghc-http-client" ,ghc-http-client)
5870 ("ghc-http-client-tls" ,ghc-http-client-tls)
5871 ("ghc-http-types" ,ghc-http-types)
1afa5abb
RW
5872 ("ghc-juicypixels" ,ghc-juicypixels)
5873 ("ghc-mtl" ,ghc-mtl)
5874 ("ghc-network" ,ghc-network)
5875 ("ghc-network-uri" ,ghc-network-uri)
5876 ("ghc-old-locale" ,ghc-old-locale)
5877 ("ghc-pandoc-types" ,ghc-pandoc-types)
5878 ("ghc-parsec" ,ghc-parsec)
5879 ("ghc-random" ,ghc-random)
5880 ("ghc-scientific" ,ghc-scientific)
5881 ("ghc-sha" ,ghc-sha)
5882 ("ghc-skylighting" ,ghc-skylighting)
5883 ("ghc-split" ,ghc-split)
5884 ("ghc-syb" ,ghc-syb)
5885 ("ghc-tagsoup" ,ghc-tagsoup)
5886 ("ghc-temporary" ,ghc-temporary)
5887 ("ghc-texmath" ,ghc-texmath)
5888 ("ghc-text" ,ghc-text)
5889 ("ghc-unordered-containers" ,ghc-unordered-containers)
5890 ("ghc-vector" ,ghc-vector)
5891 ("ghc-xml" ,ghc-xml)
5892 ("ghc-yaml" ,ghc-yaml)
5893 ("ghc-zip-archive" ,ghc-zip-archive)
5894 ("ghc-zlib" ,ghc-zlib)))
85538709 5895 (native-inputs
1afa5abb
RW
5896 `(("ghc-tasty" ,ghc-tasty)
5897 ("ghc-tasty-golden" ,ghc-tasty-golden)
5898 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5899 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
85538709
RW
5900 ("ghc-quickcheck" ,ghc-quickcheck)
5901 ("ghc-hunit" ,ghc-hunit)))
5902 (home-page "http://pandoc.org")
5903 (synopsis "Conversion between markup formats")
5904 (description
5905 "Pandoc is a Haskell library for converting from one markup format to
5906another, and a command-line tool that uses this library. It can read and
5907write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
5908LaTeX, DocBook, and many more.
5909
5910Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
5911definition lists, tables, and other features. A compatibility mode is
5912provided for those who need a drop-in replacement for Markdown.pl.")
3ac73271 5913 (license license:gpl2+)))
85538709 5914
37e02bf6
RW
5915(define-public ghc-hs-bibutils
5916 (package
5917 (name "ghc-hs-bibutils")
1ddcb5e3 5918 (version "6.2.0.1")
37e02bf6
RW
5919 (source
5920 (origin
5921 (method url-fetch)
5922 (uri (string-append
5923 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5924 version ".tar.gz"))
5925 (sha256
5926 (base32
1ddcb5e3 5927 "0c56sjgg82kjcg5rrplnyn7vf02ccsj3kkcbgc87zxlv0j880rjb"))))
37e02bf6
RW
5928 (build-system haskell-build-system)
5929 (inputs `(("ghc-syb" ,ghc-syb)))
5930 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5931 (synopsis "Haskell bindings to bibutils")
5932 (description
5933 "This package provides Haskell bindings to @code{bibutils}, a library
5934that interconverts between various bibliography formats using a common
5935MODS-format XML intermediate.")
5936 (license license:gpl2+)))
5937
9ce764b6
RW
5938(define-public ghc-rfc5051
5939 (package
5940 (name "ghc-rfc5051")
5941 (version "0.1.0.3")
5942 (source
5943 (origin
5944 (method url-fetch)
5945 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
5946 "rfc5051-" version ".tar.gz"))
5947 (sha256
5948 (base32
5949 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
5950 (build-system haskell-build-system)
5951 (home-page "http://hackage.haskell.org/package/rfc5051")
5952 (synopsis "Simple unicode collation as per RFC5051")
5953 (description
5954 "This library implements @code{unicode-casemap}, the simple, non
5955locale-sensitive unicode collation algorithm described in RFC 5051. Proper
5956unicode collation can be done using @code{text-icu}, but that is a big
5957dependency that depends on a large C library, and @code{rfc5051} might be
5958better for some purposes.")
5959 (license license:bsd-3)))
5960
1aa45bbf
RW
5961(define-public ghc-conduit-extra
5962 (package
5963 (name "ghc-conduit-extra")
1e4a6122 5964 (version "1.1.13.3")
1aa45bbf
RW
5965 (source
5966 (origin
5967 (method url-fetch)
5968 (uri (string-append "https://hackage.haskell.org/package/"
5969 "conduit-extra/conduit-extra-"
5970 version ".tar.gz"))
5971 (sha256
5972 (base32
1e4a6122 5973 "0j3cqpkrn7lbpviv6w0gjh93fjjbh1an2sq0yz7svaawja8civy2"))))
1aa45bbf
RW
5974 (build-system haskell-build-system)
5975 (inputs
5976 `(("ghc-conduit" ,ghc-conduit)
5977 ("ghc-exceptions" ,ghc-exceptions)
5978 ("ghc-monad-control" ,ghc-monad-control)
5979 ("ghc-text" ,ghc-text)
5980 ("ghc-transformers-base" ,ghc-transformers-base)
5981 ("ghc-async" ,ghc-async)
5982 ("ghc-attoparsec" ,ghc-attoparsec)
5983 ("ghc-blaze-builder" ,ghc-blaze-builder)
5984 ("ghc-network" ,ghc-network)
5985 ("ghc-primitive" ,ghc-primitive)
5986 ("ghc-resourcet" ,ghc-resourcet)
5987 ("ghc-stm" ,ghc-stm)
5988 ("ghc-streaming-commons" ,ghc-streaming-commons)
5989 ("ghc-hspec" ,ghc-hspec)
5990 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5991 ("ghc-quickcheck" ,ghc-quickcheck)))
5992 (native-inputs
5993 `(("hspec-discover" ,hspec-discover)))
7bf837fd 5994 (home-page "https://github.com/snoyberg/conduit")
1aa45bbf
RW
5995 (synopsis "Conduit adapters for common libraries")
5996 (description
5997 "The @code{conduit} package itself maintains relative small dependencies.
5998The purpose of this package is to collect commonly used utility functions
5999wrapping other library dependencies, without depending on heavier-weight
6000dependencies. The basic idea is that this package should only depend on
6001@code{haskell-platform} packages and @code{conduit}.")
6002 (license license:expat)))
6003
e9ef2c51
RW
6004(define-public ghc-xml-types
6005 (package
6006 (name "ghc-xml-types")
6007 (version "0.3.6")
6008 (source
6009 (origin
6010 (method url-fetch)
6011 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6012 "xml-types-" version ".tar.gz"))
6013 (sha256
6014 (base32
6015 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6016 (build-system haskell-build-system)
6017 (inputs `(("ghc-text" ,ghc-text)))
6018 (home-page "https://john-millikin.com/software/haskell-xml/")
6019 (synopsis "Basic types for representing XML")
6020 (description "This package provides basic types for representing XML
6021documents.")
6022 (license license:expat)))
6023
bfdfb0f6
RW
6024(define-public ghc-xml-conduit
6025 (package
6026 (name "ghc-xml-conduit")
29a26386 6027 (version "1.7.1.2")
bfdfb0f6
RW
6028 (source
6029 (origin
6030 (method url-fetch)
6031 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6032 "xml-conduit-" version ".tar.gz"))
6033 (sha256
6034 (base32
29a26386 6035 "0n4k0rq9j5cc9kdvj9xbx8gmiqlyk5x6pw8yxzw5wfsw7qkych2s"))))
bfdfb0f6
RW
6036 (build-system haskell-build-system)
6037 (inputs
6038 `(("ghc-conduit" ,ghc-conduit)
6039 ("ghc-conduit-extra" ,ghc-conduit-extra)
6040 ("ghc-resourcet" ,ghc-resourcet)
6041 ("ghc-text" ,ghc-text)
6042 ("ghc-xml-types" ,ghc-xml-types)
6043 ("ghc-attoparsec" ,ghc-attoparsec)
29a26386 6044 ("ghc-data-default-class" ,ghc-data-default-class)
bfdfb0f6
RW
6045 ("ghc-blaze-markup" ,ghc-blaze-markup)
6046 ("ghc-blaze-html" ,ghc-blaze-html)
bfdfb0f6
RW
6047 ("ghc-monad-control" ,ghc-monad-control)
6048 ("ghc-hspec" ,ghc-hspec)
6049 ("ghc-hunit" ,ghc-hunit)))
7bf837fd 6050 (home-page "https://github.com/snoyberg/xml")
bfdfb0f6
RW
6051 (synopsis "Utilities for dealing with XML with the conduit package")
6052 (description
6053 "This package provides pure-Haskell utilities for dealing with XML with
6054the @code{conduit} package.")
6055 (license license:expat)))
6056
eb0ff8a3
RW
6057(define-public ghc-pandoc-citeproc
6058 (package
6059 (name "ghc-pandoc-citeproc")
a49bb332 6060 (version "0.12.2.5")
eb0ff8a3
RW
6061 (source
6062 (origin
6063 (method url-fetch)
6064 (uri (string-append "https://hackage.haskell.org/package/"
6065 "pandoc-citeproc/pandoc-citeproc-"
6066 version ".tar.gz"))
6067 (sha256
6068 (base32
a49bb332 6069 "1l58nbflcnlznc93qimkk7ghk2gv8kipf45zf88piqa2zys41yyx"))))
eb0ff8a3
RW
6070 (build-system haskell-build-system)
6071 (arguments
6072 `(#:phases
6073 (modify-phases %standard-phases
6074 ;; Tests need to be run after installation.
6075 (delete 'check)
6076 (add-after 'install 'post-install-check
6077 (assoc-ref %standard-phases 'check)))))
6078 (inputs
6079 `(("ghc-mtl" ,ghc-mtl)
6080 ("ghc-pandoc-types" ,ghc-pandoc-types)
6081 ("ghc-pandoc" ,ghc-pandoc)
6082 ("ghc-tagsoup" ,ghc-tagsoup)
6083 ("ghc-aeson" ,ghc-aeson)
6084 ("ghc-text" ,ghc-text)
6085 ("ghc-vector" ,ghc-vector)
6086 ("ghc-xml-conduit" ,ghc-xml-conduit)
6087 ("ghc-unordered-containers" ,ghc-unordered-containers)
6088 ("ghc-data-default" ,ghc-data-default)
6089 ("ghc-setenv" ,ghc-setenv)
6090 ("ghc-split" ,ghc-split)
6091 ("ghc-yaml" ,ghc-yaml)
6092 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
6093 ("ghc-rfc5051" ,ghc-rfc5051)
6094 ("ghc-syb" ,ghc-syb)
6095 ("ghc-parsec" ,ghc-parsec)
6096 ("ghc-old-locale" ,ghc-old-locale)
6097 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6098 ("ghc-attoparsec" ,ghc-attoparsec)
6099 ("ghc-temporary" ,ghc-temporary)))
6100 (home-page "https://github.com/jgm/pandoc-citeproc")
6101 (synopsis "Library for using pandoc with citeproc")
6102 (description
6103 "The @code{pandoc-citeproc} library exports functions for using the
6104citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
6105rendering bibliographic reference citations into a variety of styles using a
6106macro language called @dfn{Citation Style Language} (CSL). This package also
6107contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
6108and also has a mode for converting bibliographic databases a YAML format
6109suitable for inclusion in pandoc YAML metadata.")
6110 (license license:bsd-3)))
6111
abbf2623
LC
6112(define-public ghc-union-find
6113 (package
6114 (name "ghc-union-find")
6115 (version "0.2")
6116 (source (origin
6117 (method url-fetch)
6118 (uri (string-append
612fddec 6119 "https://hackage.haskell.org/package/union-find/union-find-"
abbf2623
LC
6120 version ".tar.gz"))
6121 (sha256
6122 (base32
6123 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6124 (build-system haskell-build-system)
612fddec 6125 (home-page "https://github.com/nominolo/union-find")
abbf2623
LC
6126 (synopsis "Efficient union and equivalence testing of sets")
6127 (description
6128 "The Union/Find algorithm implements these operations in (effectively)
6129constant-time:
6130@enumerate
6131@item Check whether two elements are in the same equivalence class.
6132@item Create a union of two equivalence classes.
6133@item Look up the descriptor of the equivalence class.
6134@end enumerate\n")
6135 (license license:bsd-3)))
6136
cc5e16a7 6137(define-public ghc-base16-bytestring
6138 (package
6139 (name "ghc-base16-bytestring")
6140 (version "0.1.1.6")
6141 (source
6142 (origin
6143 (method url-fetch)
6144 (uri (string-append
6145 "https://hackage.haskell.org/package/base16-bytestring/"
6146 "base16-bytestring-" version ".tar.gz"))
6147 (sha256
6148 (base32
6149 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6150 (build-system haskell-build-system)
7bf837fd 6151 (home-page "https://github.com/bos/base16-bytestring")
cc5e16a7 6152 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6153 (description
6154 "This package provides a Haskell library for working with base16-encoded
6155data quickly and efficiently, using the ByteString type.")
6156 (license license:bsd-3)))
6157
301e762a 6158(define-public ghc-binary
6159 (package
6160 (name "ghc-binary")
bffa4663 6161 (version "0.8.5.1")
301e762a 6162 (source
6163 (origin
6164 (method url-fetch)
6165 (uri (string-append
6166 "https://hackage.haskell.org/package/binary/binary-"
6167 version ".tar.gz"))
6168 (sha256
6169 (base32
bffa4663 6170 "15h5zqfw7xmcimvlq6bs8f20vxlfvz7g411fns5z7212crlimffy"))))
301e762a 6171 (build-system haskell-build-system)
bffa4663
RW
6172 (arguments
6173 `(#:configure-flags (list "--allow-newer=QuickCheck")))
6174 (native-inputs
301e762a 6175 `(("ghc-random" ,ghc-random)
6176 ("ghc-test-framework" ,ghc-test-framework)
6177 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6178 ("ghc-quickcheck" ,ghc-quickcheck)
6179 ("ghc-hunit" ,ghc-hunit)))
6180 (home-page "https://github.com/kolmodin/binary")
6181 (synopsis
6182 "Binary serialisation for Haskell values using lazy ByteStrings")
6183 (description
6184 "Efficient, pure binary serialisation using lazy ByteStrings. Haskell values
6185may be encoded to and from binary formats, written to disk as binary, or sent over
6186the network. The format used can be automatically generated, or you can choose to
6187implement a custom format if needed. Serialisation speeds of over 1 G\\/sec have
6188been observed, so this library should be suitable for high performance scenarios.")
6189 (license license:bsd-3)))
6190
7c14128d 6191(define-public ghc-data-ordlist
6192 (package
6193 (name "ghc-data-ordlist")
6194 (version "0.4.7.0")
6195 (source
6196 (origin
6197 (method url-fetch)
6198 (uri (string-append
6199 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
6200 version ".tar.gz"))
6201 (sha256
6202 (base32
6203 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
6204 (build-system haskell-build-system)
6205 (home-page "http://hackage.haskell.org/package/data-ordlist")
6206 (synopsis "Set and bag operations on ordered lists")
6207 (description
6208 "This module provides set and multiset operations on ordered lists.")
6209 (license license:bsd-3)))
6210
1a0dbf0d 6211(define-public ghc-haskeline
6212 (package
6213 (name "ghc-haskeline")
973075a0 6214 (version "0.7.4.2")
1a0dbf0d 6215 (source
6216 (origin
6217 (method url-fetch)
6218 (uri (string-append
6219 "https://hackage.haskell.org/package/haskeline/haskeline-"
6220 version ".tar.gz"))
6221 (sha256
6222 (base32
973075a0 6223 "1sxhdhy9asinxn0gvd4zandbk6xkb04vy1y7lmh66f9jv66fqhsm"))))
1a0dbf0d 6224 (build-system haskell-build-system)
1a0dbf0d 6225 (arguments
6226 `(#:configure-flags (list "-fterminfo")))
973075a0
RW
6227 (inputs
6228 `(("ncurses" ,ncurses)
6229 ("ghc-stm" ,ghc-stm)))
1a0dbf0d 6230 (home-page "https://github.com/judah/haskeline")
6231 (synopsis "Command-line interface for user input")
6232 (description
6233 "Haskeline provides a user interface for line input in command-line
6234programs. This library is similar in purpose to readline, but since it
6235is written in Haskell it is (hopefully) more easily used in other Haskell
6236programs.")
6237 (license license:bsd-3)))
6238
d58dc851 6239(define-public ghc-regex-applicative
6240 (package
6241 (name "ghc-regex-applicative")
6242 (version "0.3.3")
6243 (source
6244 (origin
6245 (method url-fetch)
6246 (uri (string-append
6247 "https://hackage.haskell.org/package/regex-applicative/"
6248 "regex-applicative-" version ".tar.gz"))
6249 (sha256
6250 (base32
6251 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
6252 (build-system haskell-build-system)
6253 (inputs
6254 `(("ghc-smallcheck" ,ghc-smallcheck)
6255 ("ghc-tasty" ,ghc-tasty)
6256 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
6257 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6258 (home-page "https://github.com/feuerbach/regex-applicative")
6259 (synopsis "Regex-based parsing with applicative interface")
6260 (description
6261 "@code{regex-applicative} is a Haskell library for parsing using
6262regular expressions. Parsers can be built using Applicative interface.")
6263 (license license:expat)))
6264
7e444dba 6265(define-public ghc-regex-tdfa
6266 (package
6267 (name "ghc-regex-tdfa")
6268 (version "1.2.2")
6269 (source
6270 (origin
6271 (method url-fetch)
6272 (uri (string-append
6273 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
6274 version ".tar.gz"))
6275 (sha256
6276 (base32
6277 "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"))))
6278 (build-system haskell-build-system)
6279 (inputs
6280 `(("ghc-mtl" ,ghc-mtl)
6281 ("ghc-parsec" ,ghc-parsec)
6282 ("ghc-regex-base" ,ghc-regex-base)))
6283 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
6284 (synopsis "POSIX extended regular expressions in Haskell.")
6285 (description
6286 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
6287extended regular expressions. It is a \"tagged\" DFA regex engine. It is
6288inspired by libtre.")
6289 (license license:bsd-3)))
6290
fe3c62c7 6291(define-public ghc-regex-compat-tdfa
6292 (package
6293 (name "ghc-regex-compat-tdfa")
6294 (version "0.95.1.4")
6295 (source
6296 (origin
6297 (method url-fetch)
6298 (uri (string-append
6299 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
6300 version ".tar.gz"))
6301 (sha256
6302 (base32
6303 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
6304 (build-system haskell-build-system)
6305 (inputs
6306 `(("ghc-regex-base" ,ghc-regex-base)
6307 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
6308 (home-page "http://hub.darcs.net/shelarcy/regex-compat-tdfa")
6309 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
6310 (description
6311 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
6312@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
6313This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
6314this problem.")
6315 (license license:bsd-3)))
6316
e9e519be 6317(define-public ghc-sandi
6318 (package
6319 (name "ghc-sandi")
6320 (version "0.4.0") ; darcs-2.12.4 needs == 0.4.*
6321 (source
6322 (origin
6323 (method url-fetch)
6324 (uri (string-append
6325 "https://hackage.haskell.org/package/sandi/sandi-"
6326 version ".tar.gz"))
6327 (sha256
6328 (base32
6329 "1smf3bq44qni4zbgxpw7cy7b9g95fbrr73j8njjf6139naj9bj20"))))
6330 (build-system haskell-build-system)
6331 (inputs
6332 `(("ghc-stringsearch" ,ghc-stringsearch)
6333 ("ghc-conduit" ,ghc-conduit)
6334 ("ghc-exceptions" ,ghc-exceptions)
6335 ("ghc-hunit" ,ghc-hunit)
6336 ("ghc-tasty" ,ghc-tasty)
6337 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6338 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6339 ("ghc-tasty-th" ,ghc-tasty-th)))
6340 (home-page "http://hackage.haskell.org/package/sandi")
6341 (synopsis "Data encoding library")
6342 (description "Reasonably fast data encoding library.")
6343 (license license:bsd-3)))
6344
a71f8617 6345(define-public ghc-bytestring-handle
6346 (package
6347 (name "ghc-bytestring-handle")
39bcc932 6348 (version "0.1.0.6")
a71f8617 6349 (source
6350 (origin
6351 (method url-fetch)
6352 (uri (string-append
6353 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
6354 version ".tar.gz"))
6355 (sha256
6356 (base32
39bcc932 6357 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
a71f8617 6358 (build-system haskell-build-system)
6359 (inputs
6bfcb59d
TGR
6360 `(("ghc-hunit" ,ghc-hunit)
6361 ("ghc-quickcheck" ,ghc-quickcheck)
6362 ("ghc-test-framework" ,ghc-test-framework)
a71f8617 6363 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6bfcb59d 6364 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
a71f8617 6365 (home-page "http://hub.darcs.net/ganesh/bytestring-handle")
6366 (synopsis "ByteString-backed Handles")
6367 (description "ByteString-backed Handles") ; There is no description
6368 (license license:bsd-3)))
6369
f8270331 6370(define-public ghc-tar
6371 (package
6372 (name "ghc-tar")
6373 (version "0.5.0.3")
6374 (source
6375 (origin
6376 (method url-fetch)
6377 (uri (string-append
6378 "https://hackage.haskell.org/package/tar/tar-"
6379 version ".tar.gz"))
6380 (sha256
6381 (base32
6382 "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"))))
6383 (build-system haskell-build-system)
f25c95d3
RW
6384 ;; FIXME: 2/24 tests fail.
6385 (arguments `(#:tests? #f))
f8270331 6386 (inputs
6387 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
6388 ("ghc-quickcheck" ,ghc-quickcheck)
6389 ("ghc-tasty" ,ghc-tasty)
6390 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6391 ("ghc-array" ,ghc-array)))
6392 (home-page "http://hackage.haskell.org/package/tar")
6393 (synopsis "Reading, writing and manipulating \".tar\" archive files")
6394 (description
6395 "This library is for working with \\\"@.tar@\\\" archive files.
6396It can read and write a range of common variations of the tar archive format
6397including V7, POSIX USTAR and GNU formats. It provides support for packing and
6398unpacking portable archives. This makes it suitable for distribution but not
6399backup because details like file ownership and exact permissions are not
6400preserved. It also provides features for random access to archive content using
6401an index.")
6402 (license license:bsd-3)))
6403
54c37341 6404(define-public ghc-transformers
6405 (package
6406 (name "ghc-transformers")
6407 (version "0.5.2.0")
6408 (source
6409 (origin
6410 (method url-fetch)
6411 (uri (string-append
6412 "https://hackage.haskell.org/package/transformers/transformers-"
6413 version ".tar.gz"))
6414 (sha256
6415 (base32
6416 "1qkhi8ssf8c4jnmrw9dzym3igqbzq7h48iisaykdfzdsm09qfh3c"))))
6417 (build-system haskell-build-system)
6418 (home-page "http://hackage.haskell.org/package/transformers")
6419 (synopsis "Concrete functor and monad transformers")
6420 (description
6421 "A portable library of functor and monad transformers, inspired by the paper
6422'Functional Programming with Overloading and Higher-Order Polymorphism',
6423by Mark P Jones. This package contains the monad transformer class and IO monad class,
6424concrete functor and monad transformers, each with associated operations and functions
6425to lift operations associated with other transformers. The package can be used on
6426its own in portable Haskell code, in which case operations need to be manually lifted
6427through transformer stacks. Alternatively, it can be used with the
6428non-portable monad classes in the @code{mtl} or @code{monads-tf} packages,
6429which automatically lift operations introduced by monad transformers through
6430other transformers.")
6431 (license license:bsd-3)))
6432
71b611bc 6433;; darcs-2.12.0 requires transformers-0.4.2.0
6434(define-public ghc-transformers-0.4.2.0
6435 (package
6436 (inherit ghc-transformers)
6437 (version "0.4.2.0")
6438 (source (origin
6439 (method url-fetch)
6440 (uri (string-append "https://hackage.haskell.org/package/transformers/"
6441 "transformers-" version ".tar.gz"))
6442 (sha256
6443 (base32
6444 "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))))))
6445
867ed977
AV
6446(define-public ghc-stmonadtrans
6447 (package
6448 (name "ghc-stmonadtrans")
6449 (version "0.4.3")
6450 (source
6451 (origin
6452 (method url-fetch)
6453 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
6454 "/STMonadTrans-" version ".tar.gz"))
6455 (sha256
6456 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
6457 (build-system haskell-build-system)
6458 (inputs
6459 `(("ghc-mtl" ,ghc-mtl)))
6460 (home-page "https://hackage.haskell.org/package/STMonadTrans")
6461 (synopsis "Monad transformer version of the ST monad")
6462 (description
6463 "This package provides a monad transformer version of the @code{ST} monad
6464for strict state threads.")
6465 (license license:bsd-3)))
6466
027b7976 6467(define-public ghc-findbin
6468 (package
6469 (name "ghc-findbin")
6470 (version "0.0.5")
6471 (source
6472 (origin
6473 (method url-fetch)
6474 (uri (string-append
6475 "https://hackage.haskell.org/package/FindBin/FindBin-"
6476 version ".tar.gz"))
6477 (sha256
6478 (base32
6479 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
6480 (build-system haskell-build-system)
6481 (home-page "https://github.com/audreyt/findbin")
6482 (synopsis "Get the absolute path of the running program")
6483 (description
6484 "This module locates the full directory of the running program, to allow
6485the use of paths relative to it. FindBin supports invocation of Haskell
6486programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
6487an executable.")
6488 (license license:bsd-3)))
6489
d52ca22a 6490(define-public ghc-patience
6491 (package
6492 (name "ghc-patience")
6493 (version "0.1.1")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append
6498 "https://hackage.haskell.org/package/patience/patience-"
6499 version ".tar.gz"))
6500 (sha256
6501 (base32
6502 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
6503 (build-system haskell-build-system)
6504 (home-page "http://hackage.haskell.org/package/patience")
6505 (synopsis "Patience diff and longest increasing subsequence")
6506 (description
6507 "This library implements the 'patience diff' algorithm, as well as the
6508patience algorithm for the longest increasing subsequence problem.
6509Patience diff computes the difference between two lists, for example the lines
6510of two versions of a source file. It provides a good balance between
6511performance, nice output for humans, and simplicity of implementation.")
6512 (license license:bsd-3)))
6513
41167bd2 6514(define-public ghc-monads-tf
6515 (package
6516 (name "ghc-monads-tf")
6517 (version "0.1.0.3")
6518 (source
6519 (origin
6520 (method url-fetch)
6521 (uri (string-append
6522 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6523 version ".tar.gz"))
6524 (sha256
6525 (base32
6526 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6527 (build-system haskell-build-system)
6528 (home-page "http://hackage.haskell.org/package/monads-tf")
6529 (synopsis "Monad classes, using type families")
6530 (description
6531 "Monad classes using type families, with instances for various monad transformers,
6532inspired by the paper 'Functional Programming with Overloading and Higher-Order
6533Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6534the @code{mtl-tf} package.")
6535 (license license:bsd-3)))
6536
2d47cee2 6537;; Do not use this. Bytestring is a standard library and always included.
1d9db656 6538(define-public ghc-bytestring
6539 (package
6540 (name "ghc-bytestring")
2545c92a 6541 (version "0.10.8.2")
1d9db656 6542 (source
6543 (origin
6544 (method url-fetch)
6545 (uri (string-append
6546 "https://hackage.haskell.org/package/bytestring/bytestring-"
6547 version ".tar.gz"))
6548 (sha256
6549 (base32
2545c92a 6550 "0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys"))))
1d9db656 6551 (build-system haskell-build-system)
6552 (inputs
df906169
TGR
6553 `(("ghc-dlist" ,ghc-dlist)
6554 ("ghc-byteorder" ,ghc-byteorder)
6555 ("ghc-hunit" ,ghc-hunit)
6556 ("ghc-mtl" ,ghc-mtl)
6557 ("ghc-quickcheck" ,ghc-quickcheck)
6558 ("ghc-random" ,ghc-random)
1d9db656 6559 ("ghc-test-framework" ,ghc-test-framework)
6560 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
df906169 6561 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1d9db656 6562 (arguments
6563 `(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
6564 (home-page "https://github.com/haskell/bytestring")
6565 (synopsis "Fast, compact, strict and lazy byte strings with a list interface")
6566 (description
6567 "An efficient compact, immutable byte string type (both strict and lazy)
6568suitable for binary or 8-bit character data. The 'ByteString' type represents
6569sequences of bytes or 8-bit characters. It is suitable for high performance use,
6570both in terms of large data quantities, or high speed requirements. The 'ByteString'
6571functions follow the same style as ordinary lists, so it is easy to convert code
6572from using 'String' to 'ByteString'.")
6573 (license license:bsd-3)))
6574
e1a56bb2 6575(define-public ghc-colour
6576(package
6577 (name "ghc-colour")
6578 (version "2.3.3")
6579 (source
6580 (origin
6581 (method url-fetch)
6582 (uri (string-append
6583 "https://hackage.haskell.org/package/colour/colour-"
6584 version ".tar.gz"))
6585 (sha256
6586 (base32
6587 "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"))))
6588 (build-system haskell-build-system)
6589 (home-page "http://www.haskell.org/haskellwiki/Colour")
6590 (synopsis "Model for human colour perception")
6591 (description
6592 "This package provides a data type for colours and transparency.
6593Colours can be blended and composed. Various colour spaces are
6594supported. A module of colour names (\"Data.Colour.Names\") is provided.")
6595 (license license:expat)))
6596
4fec5cdb 6597(define-public ghc-directory
6598 (package
6599 (name "ghc-directory")
c7f321cf 6600 (version "1.3.2.0")
4fec5cdb 6601 (source
6602 (origin
6603 (method url-fetch)
6604 (uri (string-append
6605 "https://hackage.haskell.org/package/directory/directory-"
6606 version ".tar.gz"))
6607 (sha256
6608 (base32
c7f321cf 6609 "0ffhanigxrx5wpin8l0wfp7d24lpgsjwj0hxrfp8bpy2wj1snxny"))))
4fec5cdb 6610 (build-system haskell-build-system)
6611 (home-page "http://hackage.haskell.org/package/directory")
162a1374 6612 (synopsis "Platform-agnostic library for file system operations")
4fec5cdb 6613 (description
6614 "This library provides a basic set of operations for manipulating
6615files and directories in a portable way.")
6616 (license license:bsd-3)))
6617
d79e8f65 6618;; Do not use this as an input. It is part of GHC.
3b281f5b 6619(define-public ghc-process
6620 (package
6621 (name "ghc-process")
64f597a6 6622 (version "1.6.3.0")
3b281f5b 6623 (source
6624 (origin
6625 (method url-fetch)
6626 (uri (string-append
6627 "https://hackage.haskell.org/package/process/process-"
6628 version ".tar.gz"))
6629 (sha256
6630 (base32
64f597a6 6631 "0lxkl0gmyy2sn3r9c7dyz8vz1cm6nvygmgrizilliir5bp42m8cc"))))
3b281f5b 6632 (build-system haskell-build-system)
d79e8f65
RW
6633 (arguments
6634 `(#:phases
6635 (modify-phases %standard-phases
6636 (add-after 'unpack 'patch-reference-to-/bin/sh
6637 (lambda _
6638 (substitute* "System/Process/Posix.hs"
6639 (("/bin/sh") (which "sh")))
6640 #t)))))
3b281f5b 6641 (home-page "http://hackage.haskell.org/package/process")
6642 (synopsis "System process libraries")
6643 (description
6644 "This package contains libraries for dealing with system processes.")
6645 (license license:bsd-3)))
6646
6e0741f7 6647(define-public ghc-wl-pprint-text
6648 (package
6649 (name "ghc-wl-pprint-text")
6650 (version "1.1.0.4")
6651 (source
6652 (origin
6653 (method url-fetch)
6654 (uri (string-append
6655 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
6656 version ".tar.gz"))
6657 (sha256
6658 (base32
6659 "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz"))))
6660 (build-system haskell-build-system)
6661 (inputs
6662 `(("ghc-text" ,ghc-text)))
6663 (home-page "http://hackage.haskell.org/package/wl-pprint-text")
6664 (synopsis "Wadler/Leijen Pretty Printer for Text values")
6665 (description
6666 "A clone of wl-pprint for use with the text library.")
6667 (license license:bsd-3)))
6668
d4cca6b0 6669(define-public ghc-fgl-arbitrary
6670 (package
6671 (name "ghc-fgl-arbitrary")
d4fd8ee4 6672 (version "0.2.0.3")
d4cca6b0 6673 (source
6674 (origin
6675 (method url-fetch)
6676 (uri (string-append
6677 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
6678 version ".tar.gz"))
6679 (sha256
6680 (base32
d4fd8ee4 6681 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
d4cca6b0 6682 (build-system haskell-build-system)
54afb52e
RW
6683 (arguments
6684 `(#:configure-flags (list "--allow-newer=QuickCheck")))
d4cca6b0 6685 (inputs
6686 `(("ghc-fgl" ,ghc-fgl)
6687 ("ghc-quickcheck" ,ghc-quickcheck)
6688 ("ghc-hspec" ,ghc-hspec)))
6689 (home-page "http://hackage.haskell.org/package/fgl-arbitrary")
6690 (synopsis "QuickCheck support for fgl")
6691 (description
6692 "Provides Arbitrary instances for fgl graphs to avoid adding a
6693QuickCheck dependency for fgl whilst still making the instances
6694available to others. Also available are non-fgl-specific functions
6695for generating graph-like data structures.")
6696 (license license:bsd-3)))
6697
3db88277 6698(define-public ghc-graphviz
6699 (package
6700 (name "ghc-graphviz")
6701 (version "2999.18.1.2")
6702 (source (origin
6703 (method url-fetch)
6704 (uri (string-append "https://hackage.haskell.org/package/"
6705 "graphviz/graphviz-" version ".tar.gz"))
6706 (sha256
6707 (base32
6708 "1z453is01v0rnxlv6xx4iyaqv5vrp3bpz829mpv1a341sck2135h"))))
6709 (build-system haskell-build-system)
6710 (inputs
6711 `(("ghc-quickcheck" ,ghc-quickcheck)
6712 ("ghc-colour" ,ghc-colour)
6713 ("ghc-dlist" ,ghc-dlist)
6714 ("ghc-fgl" ,ghc-fgl)
6715 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
6716 ("ghc-polyparse" ,ghc-polyparse)
6717 ("ghc-temporary" ,ghc-temporary)
6718 ("ghc-text" ,ghc-text)
6719 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
6720 (home-page "https://hackage.haskell.org/package/graphviz")
6721 (synopsis "Bindings to Graphviz for graph visualisation")
6722 (description
6723 "This library provides bindings for the Dot language used by
6724the @uref{http://graphviz.org/, Graphviz} suite of programs for
6725visualising graphs, as well as functions to call those programs.
6726Main features of the graphviz library include:
6727
6728@enumerate
6729@item Almost complete coverage of all Graphviz attributes and syntax
6730@item Support for specifying clusters
6731@item The ability to use a custom node type
6732@item Functions for running a Graphviz layout tool with all specified output types
6733@item Generate and parse Dot code with two options: strict and liberal
6734@item Functions to convert FGL graphs and other graph-like data structures
6735@item Round-trip support for passing an FGL graph through Graphviz to augment node
6736and edge labels with positional information, etc.
6737@end enumerate\n")
6738 (license license:bsd-3)))
6739
e7e2f03c 6740(define-public ghc-array
6741 (package
6742 (name "ghc-array")
92cd9464 6743 (version "0.5.2.0")
e7e2f03c 6744 (source
6745 (origin
6746 (method url-fetch)
6747 (uri (string-append
6748 "https://hackage.haskell.org/package/array/array-"
6749 version ".tar.gz"))
6750 (sha256
6751 (base32
92cd9464 6752 "12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"))))
e7e2f03c 6753 (build-system haskell-build-system)
6754 (home-page
6755 "http://hackage.haskell.org/package/array")
6756 (synopsis "Mutable and immutable arrays")
6757 (description
6758 "In addition to providing the @code{Data.Array} module, this package also defines
6759the classes @code{IArray} of immutable arrays and @code{MArray} of arrays mutable
6760within appropriate monads, as well as some instances of these classes.")
6761 (license license:bsd-3)))
6762
6aab9ba6 6763(define-public ghc-constraints
6764 (package
6765 (name "ghc-constraints")
6766 (version "0.8")
6767 (source
6768 (origin
6769 (method url-fetch)
6770 (uri (string-append
6771 "https://hackage.haskell.org/package/constraints/constraints-"
6772 version ".tar.gz"))
6773 (sha256
6774 (base32
6775 "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"))))
6776 (build-system haskell-build-system)
6777 (inputs
6778 `(("ghc-hashable" ,ghc-hashable)
6779 ("ghc-mtl" ,ghc-mtl)
6780 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7bf837fd 6781 (home-page "https://github.com/ekmett/constraints/")
6aab9ba6 6782 (synopsis "Constraint manipulation")
6783 (description
6784 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
6785They stopped crashing the compiler in GHC 7.6. This package provides
6786a vocabulary for working with them.")
6787 (license license:bsd-3)))
6788
2b41f4af 6789(define-public ghc-lifted-async
6790 (package
6791 (name "ghc-lifted-async")
6792 (version "0.9.0")
6793 (source
6794 (origin
6795 (method url-fetch)
6796 (uri (string-append
6797 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6798 version ".tar.gz"))
6799 (sha256
6800 (base32
6801 "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"))))
6802 (build-system haskell-build-system)
6803 (inputs
6804 `(("ghc-async" ,ghc-async)
6805 ("ghc-lifted-base" ,ghc-lifted-base)
6806 ("ghc-transformers-base" ,ghc-transformers-base)
6807 ("ghc-monad-control" ,ghc-monad-control)
6808 ("ghc-constraints" ,ghc-constraints)
6809 ("ghc-hunit" ,ghc-hunit)
6810 ("ghc-mtl" ,ghc-mtl)
6811 ("ghc-tasty" ,ghc-tasty)
6812 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6813 ("ghc-tasty-th" ,ghc-tasty-th)))
6814 (home-page "https://github.com/maoe/lifted-async")
6815 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6816 (description
6817 "This package provides IO operations from @code{async} package lifted to any
6818instance of @code{MonadBase} or @code{MonadBaseControl}.")
6819 (license license:bsd-3)))
6820
ddd5955b 6821;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
6822;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
6823;; which depends on ghc-chell and ghc-chell-quickcheck.
6824;; Therefore we bootstrap it with tests disabled.
6825(define ghc-system-filepath-bootstrap
6826 (package
6827 (name "ghc-system-filepath-bootstrap")
6828 (version "0.4.13.4")
6829 (source
6830 (origin
6831 (method url-fetch)
6832 (uri (string-append
6833 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
6834 version ".tar.gz"))
6835 (sha256
6836 (base32
6837 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
6838 (build-system haskell-build-system)
6839 (arguments
6840 `(#:tests? #f))
6841 (inputs
6842 `(("ghc-text" ,ghc-text)
6843 ("ghc-quickcheck" ,ghc-quickcheck)))
6844 (home-page "https://github.com/fpco/haskell-filesystem")
6845 (synopsis "High-level, byte-based file and directory path manipulations")
6846 (description
6847 "Provides a FilePath datatype and utility functions for operating on it.
6848Unlike the filepath package, this package does not simply reuse String,
6849increasing type safety.")
6850 (license license:expat)))
6851
3f7aa102 6852;; See ghc-system-filepath-bootstrap. In addition this package depends on
6853;; ghc-system-filepath.
6854(define ghc-system-fileio-bootstrap
6855 (package
6856 (name "ghc-system-fileio-bootstrap")
6857 (version "0.3.16.3")
6858 (source
6859 (origin
6860 (method url-fetch)
6861 (uri (string-append
6862 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
6863 version ".tar.gz"))
6864 (sha256
6865 (base32
6866 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
6867 (build-system haskell-build-system)
6868 (arguments
6869 `(#:tests? #f))
6870 (inputs
6871 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
6872 ("ghc-text" ,ghc-text)
6873 ("ghc-temporary" ,ghc-temporary)))
6874 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 6875 (synopsis "Consistent file system interaction across GHC versions")
3f7aa102 6876 (description
6877 "This is a small wrapper around the directory, unix, and Win32 packages,
6878for use with system-filepath. It provides a consistent API to the various
6879versions of these packages distributed with different versions of GHC.
6880In particular, this library supports working with POSIX files that have paths
6881which can't be decoded in the current locale encoding.")
6882 (license license:expat)))
6883
25b3bdb5 6884(define-public ghc-shelly
6885 (package
6886 (name "ghc-shelly")
1e85b2ab 6887 (version "1.7.0.1")
25b3bdb5 6888 (source
6889 (origin
6890 (method url-fetch)
6891 (uri (string-append
6892 "https://hackage.haskell.org/package/shelly/shelly-"
6893 version ".tar.gz"))
6894 (sha256
6895 (base32
1e85b2ab 6896 "0a4ngy8jqcscqhimgiyz7f9kqm23is7x7gyjxr0j6iq1dy57ahq3"))))
25b3bdb5 6897 (build-system haskell-build-system)
6898 (inputs
6899 `(("ghc-mtl" ,ghc-mtl)
6900 ("ghc-unix-compat" ,ghc-unix-compat)
6901 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
6902 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
6903 ("ghc-monad-control" ,ghc-monad-control)
6904 ("ghc-lifted-base" ,ghc-lifted-base)
6905 ("ghc-lifted-async" ,ghc-lifted-async)
6906 ("ghc-exceptions" ,ghc-exceptions)
6907 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
6908 ("ghc-text" ,ghc-text)
6909 ("ghc-async" ,ghc-async)
6910 ("ghc-transformers-base" ,ghc-transformers-base)
6911 ("ghc-hunit" ,ghc-hunit)
6912 ("ghc-hspec" ,ghc-hspec)))
6913 (home-page "https://github.com/yesodweb/Shelly.hs")
6914 (synopsis "Shell-like (systems) programming in Haskell")
6915 (description
6916 "Shelly provides convenient systems programming in Haskell, similar in
6917spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
6918 (license license:bsd-3)))
6919
7e06c4aa 6920;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
6921(define ghc-options-bootstrap
6922 (package
6923 (name "ghc-options-bootstrap")
6924 (version "1.2.1.1")
6925 (source
6926 (origin
6927 (method url-fetch)
6928 (uri (string-append
6929 "https://hackage.haskell.org/package/options/options-"
6930 version ".tar.gz"))
6931 (sha256
6932 (base32
6933 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
6934 (build-system haskell-build-system)
6935 (arguments
6936 `(#:tests? #f))
6937 (inputs
6938 `(("ghc-monads-tf" ,ghc-monads-tf)))
6939 (home-page "https://john-millikin.com/software/haskell-options/")
6940 (synopsis "Powerful and easy-to-use command-line option parser")
6941 (description
6942 "The @code{options} package lets library and application developers
6943easily work with command-line options.")
6944 (license license:expat)))
6945
8ea94489 6946(define-public ghc-chell
6947 (package
6948 (name "ghc-chell")
6949 (version "0.4.0.1")
6950 (source
6951 (origin
6952 (method url-fetch)
6953 (uri (string-append
6954 "https://hackage.haskell.org/package/chell/chell-"
6955 version ".tar.gz"))
6956 (sha256
6957 (base32
6958 "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"))))
6959 (build-system haskell-build-system)
6960 (inputs
6961 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
6962 ("ghc-patience" ,ghc-patience)
6963 ("ghc-random" ,ghc-random)
6964 ("ghc-text" ,ghc-text)
6965 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
6966 (home-page "https://john-millikin.com/software/chell/")
6967 (synopsis "Simple and intuitive library for automated testing")
6968 (description
6969 "Chell is a simple and intuitive library for automated testing.
6970It natively supports assertion-based testing, and can use companion
6971libraries such as @code{chell-quickcheck} to support more complex
6972testing strategies.")
6973 (license license:expat)))
6974
475d3668 6975(define ghc-chell-quickcheck-bootstrap
6976 (package
6977 (name "ghc-chell-quickcheck-bootstrap")
a9717a52 6978 (version "0.2.5.1")
475d3668 6979 (source
6980 (origin
6981 (method url-fetch)
6982 (uri (string-append
a9717a52
TGR
6983 "https://hackage.haskell.org/package/chell-quickcheck/"
6984 "chell-quickcheck-" version ".tar.gz"))
475d3668 6985 (sha256
6986 (base32
a9717a52 6987 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
475d3668 6988 (build-system haskell-build-system)
6989 (inputs
6990 `(("ghc-chell" ,ghc-chell)
6991 ("ghc-random" ,ghc-random)
6992 ("ghc-quickcheck" ,ghc-quickcheck)))
6993 (arguments
6994 `(#:tests? #f))
6995 (home-page "https://john-millikin.com/software/chell/")
6996 (synopsis "QuickCheck support for the Chell testing library")
6997 (description "More complex tests for @code{chell}.")
6998 (license license:expat)))
6999
c92d944c 7000(define-public ghc-chell-quickcheck
7001 (package
7002 (name "ghc-chell-quickcheck")
a9717a52 7003 (version "0.2.5.1")
c92d944c 7004 (source
7005 (origin
7006 (method url-fetch)
7007 (uri (string-append
a9717a52
TGR
7008 "https://hackage.haskell.org/package/chell-quickcheck/"
7009 "chell-quickcheck-" version ".tar.gz"))
c92d944c 7010 (sha256
7011 (base32
a9717a52 7012 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
c92d944c 7013 (build-system haskell-build-system)
7014 (inputs
7015 `(("ghc-chell" ,ghc-chell)
7016 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7017 ("ghc-random" ,ghc-random)
7018 ("ghc-quickcheck" ,ghc-quickcheck)))
7019 (home-page "https://john-millikin.com/software/chell/")
7020 (synopsis "QuickCheck support for the Chell testing library")
7021 (description "More complex tests for @code{chell}.")
7022 (license license:expat)))
7023
58c85b1f 7024(define-public ghc-options
7025 (package
7026 (name "ghc-options")
7027 (version "1.2.1.1")
7028 (source
7029 (origin
7030 (method url-fetch)
7031 (uri (string-append
7032 "https://hackage.haskell.org/package/options/options-"
7033 version ".tar.gz"))
7034 (sha256
7035 (base32
7036 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7037 (build-system haskell-build-system)
7038 (inputs
7039 `(("ghc-monads-tf" ,ghc-monads-tf)
7040 ("ghc-chell" ,ghc-chell)
7041 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7042 (home-page "https://john-millikin.com/software/haskell-options/")
7043 (synopsis "Powerful and easy-to-use command-line option parser")
7044 (description
7045 "The @code{options} package lets library and application developers
7046easily work with command-line options.")
7047 (license license:expat)))
7048
23feb6e4 7049(define-public ghc-system-filepath
7050 (package
7051 (name "ghc-system-filepath")
1b58d289 7052 (version "0.4.14")
23feb6e4 7053 (source
7054 (origin
7055 (method url-fetch)
7056 (uri (string-append
7057 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7058 version ".tar.gz"))
7059 (sha256
7060 (base32
1b58d289 7061 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
23feb6e4 7062 (build-system haskell-build-system)
1b58d289
RW
7063 ;; FIXME: One of the tests fails:
7064 ;; [ FAIL ] tests.validity.posix
7065 ;; note: seed=7310214548328823169
7066 ;; *** Failed! Falsifiable (after 24 tests):
7067 ;; FilePath "/r2\ENQ52\t ;$/o\US=/okG\146\&6\n<u\DC3/5\182\223a\DELN\EOT#\NUL/`[m/\USEKV\ETX([)b6/\ACK\SOo\245\ETBO/f\128\STX`|\EM\"/*\EMA\USD3/\143\&4/\CAN?\SUBee\CANR/9/B0\187Kx4/Vqr\232'b:/\a\234\DLE.\"\179/\ENQ{J/|/G)@^\237/\219ml/\DC3pd\ESC"
7068 (arguments `(#:tests? #f))
23feb6e4 7069 (inputs
7070 `(("ghc-text" ,ghc-text)
7071 ("ghc-chell" ,ghc-chell)
7072 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7073 ("ghc-quickcheck" ,ghc-quickcheck)))
7074 (home-page "https://github.com/fpco/haskell-filesystem")
7075 (synopsis "High-level, byte-based file and directory path manipulations")
7076 (description
7077 "Provides a FilePath datatype and utility functions for operating on it.
7078Unlike the filepath package, this package does not simply reuse String,
7079increasing type safety.")
7080 (license license:expat)))
7081
10a03d66 7082(define-public ghc-system-fileio
7083 (package
7084 (name "ghc-system-fileio")
7085 (version "0.3.16.3")
7086 (source
7087 (origin
7088 (method url-fetch)
7089 (uri (string-append
7090 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7091 version ".tar.gz"))
7092 (sha256
7093 (base32
7094 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7095 (build-system haskell-build-system)
7096 (inputs
7097 `(("ghc-system-filepath" ,ghc-system-filepath)
7098 ("ghc-text" ,ghc-text)
7099 ("ghc-chell" ,ghc-chell)
7100 ("ghc-temporary" ,ghc-temporary)))
7101 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7102 (synopsis "Consistent file system interaction across GHC versions")
10a03d66 7103 (description
7104 "This is a small wrapper around the directory, unix, and Win32 packages,
7105for use with system-filepath. It provides a consistent API to the various
7106versions of these packages distributed with different versions of GHC.
7107In particular, this library supports working with POSIX files that have paths
7108which can't be decoded in the current locale encoding.")
7109 (license license:expat)))
725dddd7
FB
7110
7111(define-public ghc-storable-complex
7112 (package
7113 (name "ghc-storable-complex")
7114 (version "0.2.2")
7115 (source
7116 (origin
7117 (method url-fetch)
7118 (uri (string-append
7119 "http://hackage.haskell.org/package/storable-complex/storable-complex-"
7120 version ".tar.gz"))
7121 (sha256
7122 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7123 (build-system haskell-build-system)
7124 (home-page "https://github.com/cartazio/storable-complex")
7125 (synopsis "Haskell Storable instance for Complex")
7126 (description "This package provides a Haskell library including a
7127Storable instance for Complex which is binary compatible with C99, C++
7128and Fortran complex data types.")
7129 (license license:bsd-3)))
7130
95595618
FB
7131(define-public ghc-hmatrix
7132 (package
7133 (name "ghc-hmatrix")
621fe476 7134 (version "0.18.1.0")
95595618
FB
7135 (source
7136 (origin
7137 (method url-fetch)
7138 (uri (string-append
7139 "http://hackage.haskell.org/package/hmatrix/hmatrix-"
7140 version ".tar.gz"))
7141 (sha256
621fe476 7142 (base32 "07zkwvg872hfk6jyn4s54ws8mvclynazaxf7fsbqi16dmf9dn61c"))))
95595618
FB
7143 (build-system haskell-build-system)
7144 (inputs
7145 `(("ghc-random" ,ghc-random)
7146 ("ghc-split" ,ghc-split)
7147 ("ghc-storable-complex" ,ghc-storable-complex)
7148 ("ghc-vector" ,ghc-vector)
7149 ;;("openblas" ,openblas)
7150 ("lapack" ,lapack)))
7151 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7152 ;; disables inclusion of the LAPACK functions.
7153 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7154 (home-page "https://github.com/albertoruiz/hmatrix")
7155 (synopsis "Haskell numeric linear algebra library")
7156 (description "The HMatrix package provices a Haskell library for
7157dealing with linear systems, matrix decompositions, and other
7158numerical computations based on BLAS and LAPACK.")
7159 (license license:bsd-3)))
7160
932104ab
FB
7161(define-public ghc-hmatrix-gsl
7162 (package
7163 (name "ghc-hmatrix-gsl")
e72a77e1 7164 (version "0.18.0.1")
932104ab
FB
7165 (source
7166 (origin
7167 (method url-fetch)
7168 (uri (string-append
7169 "http://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
7170 version ".tar.gz"))
7171 (sha256
e72a77e1 7172 (base32 "0mflm7zg6c6a5vy092pa429rzpyv5drc1589r3x4fbmvcyqc79gx"))))
932104ab
FB
7173 (build-system haskell-build-system)
7174 (inputs
7175 `(("ghc-hmatrix" ,ghc-hmatrix)
7176 ("ghc-vector" ,ghc-vector)
7177 ("ghc-random" ,ghc-random)
7178 ("gsl" ,gsl)))
7179 (native-inputs `(("pkg-config" ,pkg-config)))
7180 (home-page "https://github.com/albertoruiz/hmatrix")
7181 (synopsis "Haskell GSL binding")
7182 (description "This Haskell library provides a purely functional
7183interface to selected numerical computations, internally implemented
7184using GSL.")
7185 (license license:gpl3+)))
7186
271a5365
FB
7187(define-public ghc-hmatrix-special
7188 (package
7189 (name "ghc-hmatrix-special")
15eef66e 7190 (version "0.4.0.1")
271a5365
FB
7191 (source
7192 (origin
7193 (method url-fetch)
7194 (uri
7195 (string-append
7196 "http://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
7197 version ".tar.gz"))
7198 (sha256
15eef66e 7199 (base32 "0kpcqdchi7ikzhqacy4rh4dxz3v37paxyb84wqa66sysb72wkabj"))))
271a5365
FB
7200 (build-system haskell-build-system)
7201 (inputs
7202 `(("ghc-hmatrix" ,ghc-hmatrix)
7203 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7204 (home-page "https://github.com/albertoruiz/hmatrix")
7205 (synopsis "Haskell interface to GSL special functions")
7206 (description "This library provides an interface to GSL special
7207functions for Haskell.")
7208 (license license:gpl3+)))
7209
4225c711
FB
7210(define-public ghc-hmatrix-gsl-stats
7211 (package
7212 (name "ghc-hmatrix-gsl-stats")
26d6539b 7213 (version "0.4.1.7")
4225c711
FB
7214 (source
7215 (origin
7216 (method url-fetch)
7217 (uri
7218 (string-append
7219 "http://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
7220 version ".tar.gz"))
7221 (sha256
26d6539b 7222 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4225c711
FB
7223 (build-system haskell-build-system)
7224 (inputs
7225 `(("ghc-vector" ,ghc-vector)
7226 ("ghc-storable-complex" ,ghc-storable-complex)
7227 ("ghc-hmatrix" ,ghc-hmatrix)
7228 ("gsl" ,gsl)))
7229 (native-inputs `(("pkg-config" ,pkg-config)))
7230 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
7231 (synopsis "GSL Statistics interface for Haskell")
7232 (description "This Haskell library provides a purely functional
7233interface for statistics based on hmatrix and GSL.")
7234 (license license:bsd-3)))
7235
db61a009
FB
7236(define-public ghc-easyplot
7237 (package
7238 (name "ghc-easyplot")
7239 (version "1.0")
7240 (source
7241 (origin
7242 (method url-fetch)
7243 (uri (string-append
7244 "http://hackage.haskell.org/package/easyplot/easyplot-"
7245 version ".tar.gz"))
7246 (sha256
7247 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
7248 (build-system haskell-build-system)
7249 (propagated-inputs `(("gnuplot" ,gnuplot)))
7250 (arguments
7251 `(#:phases (modify-phases %standard-phases
7252 (add-after 'unpack 'fix-setup-suffix
7253 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
7254 (home-page "http://hub.darcs.net/scravy/easyplot")
7255 (synopsis "Haskell plotting library based on gnuplot")
7256 (description "This package provides a plotting library for
7257Haskell, using gnuplot for rendering.")
7258 (license license:expat)))
7259
1bd00f17
FB
7260(define-public ghc-hashtables
7261 (package
7262 (name "ghc-hashtables")
7263 (version "1.2.1.0")
7264 (source
7265 (origin
7266 (method url-fetch)
7267 (uri (string-append
7268 "http://hackage.haskell.org/package/hashtables/hashtables-"
7269 version ".tar.gz"))
7270 (sha256
7271 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"))))
7272 (build-system haskell-build-system)
7273 (inputs
7274 `(("ghc-hashable" ,ghc-hashable)
7275 ("ghc-primitive" ,ghc-primitive)
7276 ("ghc-vector" ,ghc-vector)))
7bf837fd 7277 (home-page "https://github.com/gregorycollins/hashtables")
1bd00f17
FB
7278 (synopsis "Haskell Mutable hash tables in the ST monad")
7279 (description "This package provides a Haskell library including a
7280couple of different implementations of mutable hash tables in the ST
7281monad, as well as a typeclass abstracting their common operations, and
7282a set of wrappers to use the hash tables in the IO monad.")
7283 (license license:bsd-3)))
7284
505e0150
FB
7285(define-public ghc-data-accessor
7286 (package
7287 (name "ghc-data-accessor")
7288 (version "0.2.2.7")
7289 (source
7290 (origin
7291 (method url-fetch)
7292 (uri (string-append
6846f084 7293 "mirror://hackage/package/data-accessor/data-accessor-"
505e0150
FB
7294 version ".tar.gz"))
7295 (sha256
7296 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
7297 (build-system haskell-build-system)
7298 (home-page "http://www.haskell.org/haskellwiki/Record_access")
7299 (synopsis
7300 "Haskell utilities for accessing and manipulating fields of records")
7301 (description "This package provides Haskell modules for accessing and
7302manipulating fields of records.")
7303 (license license:bsd-3)))
7304
81a11919
FB
7305(define-public ghc-data-accessor-transformers
7306 (package
7307 (name "ghc-data-accessor-transformers")
7308 (version "0.2.1.7")
7309 (source
7310 (origin
7311 (method url-fetch)
7312 (uri (string-append
6846f084
EF
7313 "mirror://hackage/package/data-accessor-transformers/"
7314 "data-accessor-transformers-" version ".tar.gz"))
81a11919
FB
7315 (sha256
7316 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
7317 (build-system haskell-build-system)
7318 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
7319 (home-page "http://www.haskell.org/haskellwiki/Record_access")
7320 (synopsis "Use Accessor to access state in transformers State monad")
7321 (description "This package provides Haskell modules to allow use of
7322Accessor to access state in transformers State monad.")
7323 (license license:bsd-3)))
7324
a5cbef03
FB
7325(define-public ghc-utility-ht
7326 (package
7327 (name "ghc-utility-ht")
7328 (version "0.0.12")
7329 (home-page "https://hackage.haskell.org/package/utility-ht")
7330 (source
7331 (origin
7332 (method url-fetch)
7333 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
7334 (sha256
7335 (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
7336 (build-system haskell-build-system)
7337 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7338 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
7339 (description "This package includes Hakell modules providing various
7340helper functions for Lists, Maybes, Tuples, Functions.")
7341 (license license:bsd-3)))
7342
1a86b671
FB
7343(define-public ghc-gnuplot
7344 (package
7345 (name "ghc-gnuplot")
7346 (version "0.5.4.1")
7347 (source
7348 (origin
7349 (method url-fetch)
7350 (uri (string-append
6846f084 7351 "mirror://hackage/package/gnuplot/gnuplot-"
1a86b671
FB
7352 version ".tar.gz"))
7353 (sha256
7354 (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
7355 (build-system haskell-build-system)
7356 (inputs
7357 `(("ghc-temporary" ,ghc-temporary)
7358 ("ghc-utility-ht" ,ghc-utility-ht)
7359 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
7360 ("ghc-data-accessor" ,ghc-data-accessor)
7361 ("gnuplot" ,gnuplot)))
7362 (arguments
7363 `(#:phases
7364 (modify-phases %standard-phases
7365 (add-before 'configure 'fix-path-to-gnuplot
7366 (lambda* (#:key inputs #:allow-other-keys)
7367 (let ((gnuplot (assoc-ref inputs "gnuplot")))
7368 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
7369 (("(gnuplotName = ).*$" all cmd)
7370 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
7371 (home-page "http://www.haskell.org/haskellwiki/Gnuplot")
7372 (synopsis "2D and 3D plots using gnuplot")
7373 (description "This package provides a Haskell module for creating 2D and
73743D plots using gnuplot.")
7375 (license license:bsd-3)))
7376
f63981de
DC
7377(define-public ghc-hinotify
7378 (package
7379 (name "ghc-hinotify")
7380 (version "0.3.8.1")
7381 (source (origin
7382 (method url-fetch)
7383 (uri (string-append
7384 "https://hackage.haskell.org/package/hinotify/"
7385 "hinotify-" version ".tar.gz"))
7386 (sha256
7387 (base32
7388 "03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
7389 (build-system haskell-build-system)
7390 (home-page "https://github.com/kolmodin/hinotify.git")
7391 (synopsis "Haskell binding to inotify")
7392 (description "This library provides a wrapper to the Linux kernel's inotify
7393feature, allowing applications to subscribe to notifications when a file is
7394accessed or modified.")
7395 (license license:bsd-3)))
7396
b7f96285
DC
7397(define-public ghc-fsnotify
7398 (package
7399 (name "ghc-fsnotify")
7400 (version "0.2.1")
7401 (source (origin
7402 (method url-fetch)
7403 (uri (string-append
7404 "https://hackage.haskell.org/package/fsnotify/"
7405 "fsnotify-" version ".tar.gz"))
7406 (sha256
7407 (base32
7408 "0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
7409 (build-system haskell-build-system)
7410 (inputs
7411 `(("ghc-text" ,ghc-text)
7412 ("ghc-async" ,ghc-async)
7413 ("ghc-unix-compat" ,ghc-unix-compat)
7414 ("ghc-hinotify" ,ghc-hinotify)
7415 ("ghc-tasty" ,ghc-tasty)
7416 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7417 ("ghc-temporary-rc" ,ghc-temporary-rc)))
7418 (home-page "https://github.com/haskell-fswatch/hfsnotify")
7419 (synopsis "Cross platform library for file change notification.")
7420 (description "Cross platform library for file creation, modification, and
7421deletion notification. This library builds upon existing libraries for platform
162a1374 7422specific Windows, Mac, and Linux file system event notification.")
b7f96285
DC
7423 (license license:bsd-3)))
7424
5e6cafe1
DC
7425(define-public ghc-ieee754
7426 (package
7427 (name "ghc-ieee754")
7428 (version "0.7.8")
7429 (source (origin
7430 (method url-fetch)
7431 (uri (string-append
7432 "https://hackage.haskell.org/package/ieee754/"
7433 "ieee754-" version ".tar.gz"))
7434 (sha256
7435 (base32
7436 "1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
7437 (build-system haskell-build-system)
7bf837fd 7438 (home-page "https://github.com/patperry/hs-ieee754")
5e6cafe1
DC
7439 (synopsis "Utilities for dealing with IEEE floating point numbers")
7440 (description "Utilities for dealing with IEEE floating point numbers,
7441ported from the Tango math library; approximate and exact equality comparisons
7442for general types.")
7443 (license license:bsd-3)))
7444
4e05c326
DC
7445(define-public ghc-terminal-size
7446 (package
7447 (name "ghc-terminal-size")
7448 (version "0.3.2.1")
7449 (source (origin
7450 (method url-fetch)
7451 (uri (string-append
7452 "https://hackage.haskell.org/package/terminal-size/"
7453 "terminal-size-" version ".tar.gz"))
7454 (sha256
7455 (base32
7456 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
7457 (build-system haskell-build-system)
7458 (home-page "http://hackage.haskell.org/package/terminal-size")
7459 (synopsis "Get terminal window height and width")
7460 (description "Get terminal window height and width without ncurses
7461dependency.")
7462 (license license:bsd-3)))
7463
2d2388e2
DM
7464(define-public ghc-language-c
7465 (package
de793e9a
RW
7466 (name "ghc-language-c")
7467 (version "0.5.0")
7468 (source
2d2388e2
DM
7469 (origin
7470 (method url-fetch)
de793e9a
RW
7471 (uri (string-append "https://hackage.haskell.org/package/"
7472 "language-c/language-c-" version ".tar.gz"))
2d2388e2 7473 (sha256
de793e9a
RW
7474 (base32
7475 "08i2bl7jmmymn2sldzlbz6ig7lx3wfwhlpadzibs3fx72z08pmc6"))))
7476 (build-system haskell-build-system)
7477 (inputs `(("ghc-syb" ,ghc-syb)))
7478 (native-inputs
2d2388e2
DM
7479 `(("ghc-happy" ,ghc-happy)
7480 ("ghc-alex" ,ghc-alex)))
de793e9a
RW
7481 (home-page "http://visq.github.io/language-c/")
7482 (synopsis "Analysis and generation of C code")
7483 (description
7484 "Language C is a Haskell library for the analysis and generation of C code.
7485It features a complete, well-tested parser and pretty printer for all of C99
2d2388e2 7486and a large set of GNU extensions.")
de793e9a 7487 (license license:bsd-3)))
2d2388e2 7488
6c8a387a
DM
7489(define-public ghc-markdown-unlit
7490 (package
7491 (name "ghc-markdown-unlit")
7492 (version "0.4.0")
7493 (source (origin
7494 (method url-fetch)
7495 (uri (string-append
7496 "mirror://hackage/package/markdown-unlit/"
7497 "markdown-unlit-" version ".tar.gz"))
7498 (sha256
7499 (base32
7500 "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"))))
7501 (build-system haskell-build-system)
7502 (inputs
7503 `(("ghc-base-compat" ,ghc-base-compat)
7504 ("ghc-hspec" ,ghc-hspec)
7505 ("ghc-quickcheck" ,ghc-quickcheck)
7506 ("ghc-silently" ,ghc-silently)
7507 ("ghc-stringbuilder" ,ghc-stringbuilder)
7508 ("ghc-temporary" ,ghc-temporary)
7509 ("hspec-discover" ,hspec-discover)))
7510 (home-page "https://github.com/sol/markdown-unlit#readme")
7511 (synopsis "Literate Haskell support for Markdown")
7512 (description "This package allows you to have a README.md that at the
7513same time is a literate Haskell program.")
7514 (license license:expat)))
7515
ee719fba
DM
7516(define-public corrode
7517 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
7518 (package
7519 (name "corrode")
7520 (version (string-append "0.0.1-" (string-take commit 7)))
7521 (source
7522 (origin
7523 (method git-fetch)
7524 (uri (git-reference
7525 (url "https://github.com/jameysharp/corrode.git")
7526 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
7527 (file-name
7528 (string-append name "-" version "-checkout"))
7529 (sha256
7530 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
7531 (build-system haskell-build-system)
7532 (inputs
7533 `(("ghc-language-c" ,ghc-language-c)
7534 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
7535 (home-page "https://github.com/jameysharp/corrode")
7536 (synopsis "Automatic semantics-preserving translation from C to Rust")
7537 (description
7538 "This program reads a C source file and prints an equivalent module in
7539Rust syntax. It is intended to be useful for two different purposes:
7540
7541@enumerate
7542@item Partial automation for migrating legacy code that was implemented in C.
7543@item A new, complementary approach to static analysis for C programs.
7544@end enumerate\n")
7545 (license license:gpl2+))))
7546
90762815
DM
7547(define-public ghc-wave
7548 (package
7549 (name "ghc-wave")
7550 (version "0.1.4")
7551 (source (origin
7552 (method url-fetch)
7553 (uri (string-append
7554 "https://hackage.haskell.org/package/wave/wave-"
7555 version
7556 ".tar.gz"))
7557 (sha256
7558 (base32
7559 "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8"))))
7560 (build-system haskell-build-system)
7561 (inputs
7562 `(("ghc-cereal" ,ghc-cereal)
7563 ("ghc-data-default-class"
7564 ,ghc-data-default-class)
7565 ("ghc-quickcheck" ,ghc-quickcheck)
7566 ("ghc-temporary" ,ghc-temporary)))
7567 (native-inputs
7568 `(("hspec-discover" ,hspec-discover)
7569 ("ghc-hspec" ,ghc-hspec)))
7570 (home-page "https://github.com/mrkkrp/wave")
7571 (synopsis "Work with WAVE and RF64 files in Haskell")
7572 (description "This package allows you to work with WAVE and RF64
7573files in Haskell.")
7574 (license license:bsd-3)))
7575
5f622de1 7576(define-public ghc-hslogger
7577 (package
7578 (name "ghc-hslogger")
7579 (version "1.2.10")
7580 (source
7581 (origin
7582 (method url-fetch)
7583 (uri (string-append "https://hackage.haskell.org/package/"
7584 "hslogger-" version "/" "hslogger-"
7585 version ".tar.gz"))
7586 (sha256 (base32
7587 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
7588 (build-system haskell-build-system)
7589 (inputs
7590 `(("ghc-mtl" ,ghc-mtl)
7591 ("ghc-network" ,ghc-network)
7592 ("ghc-directory", ghc-directory)
831cb419 7593 ("ghc-old-locale" ,ghc-old-locale)))
5f622de1 7594 (native-inputs
7595 `(("ghc-hunit" ,ghc-hunit)))
7596 (home-page "http://software.complete.org/hslogger")
7597 (synopsis "Logging framework for Haskell, similar to Python's logging module")
7598 (description "Hslogger lets each log message have a priority and source be
7599associated with it. The programmer can then define global handlers that route
7600or filter messages based on the priority and source. It also has a syslog
7601handler built in.")
7602 (license license:bsd-3)))
7603
a1563803 7604(define-public ghc-unexceptionalio
7605 (package
7606 (name "ghc-unexceptionalio")
7607 (version "0.3.0")
7608 (source
7609 (origin
7610 (method url-fetch)
7611 (uri (string-append "https://hackage.haskell.org/package/"
7612 "unexceptionalio-" version "/" "unexceptionalio-"
7613 version ".tar.gz"))
7614 (sha256 (base32 "1f7h7zwky4scdcyjspg4ksfh7x6yra0wjybxq70p7vcwpgk2nzlj"))))
7615 (build-system haskell-build-system)
7616 (home-page "https://github.com/singpolyma/unexceptionalio")
7617 (synopsis "IO without any non-error, synchronous exceptions")
7618 (description "When you've caught all the exceptions that can be
7619handled safely, this is what you're left with.")
7620 (license license:isc)))
7621
6f8016f4
DM
7622(define-public ghc-json
7623 (package
7624 (name "ghc-json")
7625 (version "0.9.1")
7626 (source
7627 (origin
7628 (method url-fetch)
7629 (uri (string-append "https://hackage.haskell.org/package/json/"
7630 "json-" version ".tar.gz"))
7631 (sha256
7632 (base32
7633 "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
7634 (build-system haskell-build-system)
7635 (inputs
7636 `(("ghc-syb" ,ghc-syb)
7637 ("ghc-mtl" ,ghc-mtl)
7638 ("ghc-text" ,ghc-text)
7639 ("ghc-parsec" ,ghc-parsec)))
7640 (home-page "http://hackage.haskell.org/package/json")
7641 (synopsis "Serializes Haskell data to and from JSON")
7642 (description "This package provides a parser and pretty printer for
7643converting between Haskell values and JSON.
7644JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
7645 (license license:bsd-3)))
7646
7e58cbbb
DM
7647(define-public shellcheck
7648 (package
7649 (name "shellcheck")
49d3d1d9 7650 (version "0.4.6")
7e58cbbb
DM
7651 (source
7652 (origin
7653 (method url-fetch)
7654 (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
7655 "v" version ".tar.gz"))
7656 (sha256
7657 (base32
49d3d1d9 7658 "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w"))
7e58cbbb
DM
7659 (file-name (string-append name "-" version ".tar.gz"))))
7660 (build-system haskell-build-system)
7661 (inputs
7662 `(("ghc-quickcheck" ,ghc-quickcheck)
7663 ("ghc-json" ,ghc-json)
7664 ("ghc-mtl" ,ghc-mtl)
7665 ("ghc-parsec" ,ghc-parsec)
7666 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
7667 (home-page "https://github.com/koalaman/shellcheck")
7668 (synopsis "Static analysis for shell scripts")
7669 (description "@code{shellcheck} provides static analysis for
7670@command{bash} and @command{sh} shell scripts.
7671It gives warnings and suggestions in order to:
7672
7673@enumerate
7674@item Point out and clarify typical beginner's syntax issues that cause
7675a shell to give cryptic error messages.
7676@item Point out and clarify typical intermediate level semantic problems
7677that cause a shell to behave strangely and counter-intuitively.
7678@item Point out subtle caveats, corner cases and pitfalls that may cause an
7679advanced user's otherwise working script to fail under future circumstances.
7680@end enumerate")
7681 (license license:gpl3+)))
7682
789dc568 7683(define-public ghc-simple-sendfile
7684 (package
7685 (name "ghc-simple-sendfile")
7686 (version "0.2.25")
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append "https://hackage.haskell.org/package/"
7691 "simple-sendfile-" version "/"
7692 "simple-sendfile-" version ".tar.gz"))
7693 (sha256
7694 (base32
7695 "0k99j9xfcf83c55jmn202hdinhjaa4yn3dal4rvjk2w2rlhqirha"))))
7696 (build-system haskell-build-system)
7697 (inputs
7698 `(("ghc-conduit" ,ghc-conduit)
7699 ("ghc-conduit-extra" ,ghc-conduit-extra)
7700 ("ghc-network" ,ghc-network)
7701 ("ghc-resourcet" ,ghc-resourcet)))
7702 (native-inputs
7703 `(("ghc-hspec" ,ghc-hspec)
7704 ("hspec-discover" ,hspec-discover)))
7705 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
7706 (synopsis "Cross platform library for the sendfile system call")
7707 (description "This library tries to call minimum system calls which
7708are the bottleneck of web servers.")
7709 (license license:bsd-3)))
7710
59b340a5 7711(define-public ghc-hex
7712 (package
7713 (name "ghc-hex")
7714 (version "0.1.2")
7715 (source
7716 (origin
7717 (method url-fetch)
7718 (uri (string-append "https://hackage.haskell.org/package/"
7719 "hex-" version "/"
7720 "hex-" version ".tar.gz"))
7721 (sha256
7722 (base32
7723 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
7724 (build-system haskell-build-system)
7725 (home-page "http://hackage.haskell.org/package/hex")
7726 (synopsis "Convert strings into hexadecimal and back")
7727 (description "This package provides conversion functions between
7728bytestrings and their hexademical representation.")
7729 (license license:bsd-3)))
7730
aba85f8c 7731(define-public ghc-psqueues
7732 (package
7733 (name "ghc-psqueues")
7734 (version "0.2.2.3")
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "psqueues-" version "/"
7740 "psqueues-" version ".tar.gz"))
7741 (sha256
7742 (base32
7743 "1dd6xv1wjxj1xinx155b14hijw8fafrg4096srzdzj7xyqq7qxbd"))))
7744 (build-system haskell-build-system)
7745 (inputs
7746 `(("ghc-hashable" ,ghc-hashable)))
7747 (native-inputs
7748 `(("ghc-hunit" ,ghc-hunit)
7749 ("ghc-quickcheck" ,ghc-quickcheck)
7750 ("ghc-tagged" ,ghc-tagged)
7751 ("ghc-test-framework" ,ghc-test-framework)
7752 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7753 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7754 (home-page "https://github.com/bttr/psqueues")
7755 (synopsis "Pure priority search queues")
7756 (description "The psqueues package provides
7757@uref{http://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
7758three different flavors:
7759
7760@itemize
7761@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
7762fast insertion, deletion and lookup. This implementation is based on Ralf
7763Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
7764Implementation Technique for Priority Search Queues}.
7765
7766Hence, it is similar to the @uref{http://hackage.haskell.org/package/PSQueue,
7767PSQueue} library, although it is considerably faster and provides a slightly
7768different API.
7769
7770@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
7771key type to @code{Int} and uses a
a5f89a63
TGR
7772@code{http://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
7773with an additional min-heap property.
aba85f8c 7774
7775@item @code{HashPSQ k p v} is a fairly straightforward extension
7776of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
7777@code{IntPSQ}. If there are any hash collisions, it uses an
7778@code{OrdPSQ} to resolve those. The performance of this implementation
7779is comparable to that of @code{IntPSQ}, but it is more widely
7780applicable since the keys are not restricted to @code{Int},
7781but rather to any @code{Hashable} datatype.
7782@end itemize
7783
7784Each of the three implementations provides the same API, so they can
7785be used interchangeably.
7786
7787Typical applications of Priority Search Queues include:
7788
7789@itemize
7790@item Caches, and more specifically LRU Caches;
7791@item Schedulers;
7792@item Pathfinding algorithms, such as Dijkstra's and A*.
7793@end itemize")
7794 (license license:bsd-3)))
7795
4031fb60 7796(define-public ghc-glob
7797 (package
7798 (name "ghc-glob")
c0fc5003 7799 (version "0.9.1")
4031fb60 7800 (source
7801 (origin
7802 (method url-fetch)
7803 (uri (string-append "https://hackage.haskell.org/package/"
7804 "Glob-" version "/"
7805 "Glob-" version ".tar.gz"))
7806 (sha256
7807 (base32
c0fc5003 7808 "0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0"))))
4031fb60 7809 (build-system haskell-build-system)
7810 (inputs
7811 `(("ghc-dlist" ,ghc-dlist)
7812 ("ghc-semigroups" ,ghc-semigroups)
7813 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7814 (native-inputs
7815 `(("ghc-hunit" ,ghc-hunit)
7816 ("ghc-quickcheck" ,ghc-quickcheck)
7817 ("ghc-test-framework" ,ghc-test-framework)
7818 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7819 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7820 (home-page "http://iki.fi/matti.niemenmaa/glob/")
7821 (synopsis "Haskell library matching glob patterns against file paths")
581a006b 7822 (description "This package provides a Haskell library for @dfn{globbing}:
4031fb60 7823matching patterns against file paths.")
7824 (license license:bsd-3)))
7825
78d8b8f3 7826(define-public ghc-errors
7827 (package
7828 (name "ghc-errors")
7829 (version "2.2.2")
7830 (source
7831 (origin
7832 (method url-fetch)
7833 (uri (string-append "https://hackage.haskell.org/package/"
7834 "errors-" version "/"
7835 "errors-" version ".tar.gz"))
7836 (sha256
7837 (base32
7838 "13sflhglcm5skwrxb48fw96skdcx7ydiy4zg22200733pxhjncpn"))))
7839 (build-system haskell-build-system)
7840 (inputs
7841 `(("ghc-exceptions" ,ghc-exceptions)
7842 ("ghc-text" ,ghc-text)
7843 ("ghc-transformers-compat" ,ghc-transformers-compat)
7844 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
7845 ("ghc-safe" ,ghc-safe)))
7846 (home-page "https://github.com/gabriel439/haskell-errors-library")
7847 (synopsis "Error handling library for Haskell")
7848 (description "This library encourages an error-handling style that
7849directly uses the type system, rather than out-of-band exceptions.")
7850 (license license:bsd-3)))
7851
c1274a0b 7852(define-public ghc-vector-th-unbox
7853 (package
7854 (name "ghc-vector-th-unbox")
7855 (version "0.2.1.6")
7856 (source
7857 (origin
7858 (method url-fetch)
7859 (uri (string-append "https://hackage.haskell.org/package/"
7860 "vector-th-unbox-" version "/"
7861 "vector-th-unbox-" version ".tar.gz"))
7862 (sha256
7863 (base32
7864 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
7865 (build-system haskell-build-system)
7866 (inputs
7867 `(("ghc-vector" ,ghc-vector)
7868 ("ghc-data-default" ,ghc-data-default)))
7869 (home-page "https://github.com/liyang/vector-th-unbox")
7870 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
7871 (description "This Haskell library provides a Template Haskell
7872deriver for unboxed vectors, given a pair of coercion functions to
7873and from some existing type with an Unbox instance.")
7874 (license license:bsd-3)))
7875
bdd7e395 7876(define-public ghc-erf
7877 (package
7878 (name "ghc-erf")
7879 (version "2.0.0.0")
7880 (source
7881 (origin
7882 (method url-fetch)
7883 (uri (string-append "https://hackage.haskell.org/package/"
7884 "erf-" version "/"
7885 "erf-" version ".tar.gz"))
7886 (sha256
7887 (base32
7888 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
7889 (build-system haskell-build-system)
7890 (home-page "https://hackage.haskell.org/package/erf")
7891 (synopsis "The error function, erf, and related functions for Haskell")
7892 (description "This Haskell library provides a type class for the
7893error function, erf, and related functions. Instances for Float and
7894Double.")
7895 (license license:bsd-3)))
7896
a51ba897 7897(define-public ghc-math-functions
7898 (package
7899 (name "ghc-math-functions")
7900 (version "0.2.1.0")
7901 (source
7902 (origin
7903 (method url-fetch)
7904 (uri (string-append "https://hackage.haskell.org/package/"
7905 "math-functions-" version "/"
7906 "math-functions-" version ".tar.gz"))
7907 (sha256
7908 (base32
7909 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
7910 (build-system haskell-build-system)
7911 (inputs
7912 `(("ghc-vector" ,ghc-vector)
7913 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7914 (native-inputs
7915 `(("ghc-hunit" ,ghc-hunit)
7916 ("ghc-quickcheck" ,ghc-quickcheck)
7917 ("ghc-erf" ,ghc-erf)
7918 ("ghc-test-framework" ,ghc-test-framework)
7919 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7920 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7921 (home-page "https://github.com/bos/math-functions")
7922 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7923 (description "This Haskell library provides implementations of
7924special mathematical functions and Chebyshev polynomials. These
7925functions are often useful in statistical and numerical computing.")
7926 (license license:bsd-3)))
7927
1a2a247b 7928(define-public ghc-mwc-random
7929 (package
7930 (name "ghc-mwc-random")
7931 (version "0.13.6.0")
7932 (source
7933 (origin
7934 (method url-fetch)
7935 (uri (string-append "https://hackage.haskell.org/package/"
7936 "mwc-random-" version "/"
7937 "mwc-random-" version ".tar.gz"))
7938 (sha256
7939 (base32
7940 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
7941 (build-system haskell-build-system)
7942 (inputs
7943 `(("ghc-primitive" ,ghc-primitive)
7944 ("ghc-vector" ,ghc-vector)
7945 ("ghc-math-functions" ,ghc-math-functions)))
7946 (arguments
7947 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7948 (native-inputs
7949 `(("ghc-hunit" ,ghc-hunit)
7950 ("ghc-quickcheck" ,ghc-quickcheck)
7951 ("ghc-test-framework" ,ghc-test-framework)
7952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7953 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7954 (home-page "https://github.com/bos/mwc-random")
7955 (synopsis "Random number generation library for Haskell")
7956 (description "This Haskell package contains code for generating
7957high quality random numbers that follow either a uniform or normal
7958distribution. The generated numbers are suitable for use in
7959statistical applications.
7960
7961The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7962multiply-with-carry generator, which has a period of 2^{8222} and
7963fares well in tests of randomness. It is also extremely fast,
7964between 2 and 3 times faster than the Mersenne Twister.")
7965 (license license:bsd-3)))
7966
30aede1b 7967(define-public ghc-vector-algorithms
7968 (package
7969 (name "ghc-vector-algorithms")
7970 (version "0.7.0.1")
7971 (source
7972 (origin
7973 (method url-fetch)
7974 (uri (string-append "https://hackage.haskell.org/package/"
7975 "vector-algorithms-" version "/"
7976 "vector-algorithms-" version ".tar.gz"))
7977 (sha256
7978 (base32
7979 "0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd"))))
7980 (build-system haskell-build-system)
7981 (inputs
7982 `(("ghc-vector" ,ghc-vector)
7983 ("ghc-mtl" ,ghc-mtl)
7984 ("ghc-mwc-random" ,ghc-mwc-random)))
7985 (native-inputs
7986 `(("ghc-quickcheck" ,ghc-quickcheck)))
7987 (home-page "https://github.com/bos/math-functions")
7988 (synopsis "Algorithms for vector arrays in Haskell")
7989 (description "This Haskell library algorithms for vector arrays.")
7990 (license license:bsd-3)))
7991
897d4f28 7992(define-public ghc-language-haskell-extract
7993 (package
7994 (name "ghc-language-haskell-extract")
7995 (version "0.2.4")
7996 (source
7997 (origin
7998 (method url-fetch)
7999 (uri (string-append "https://hackage.haskell.org/package/"
8000 "language-haskell-extract-" version "/"
8001 "language-haskell-extract-" version ".tar.gz"))
8002 (sha256
8003 (base32
8004 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8005 (build-system haskell-build-system)
8006 (inputs
8007 `(("ghc-regex-posix" ,ghc-regex-posix)))
8008 (home-page "https://github.com/finnsson/template-helper")
8009 (synopsis "Haskell module to automatically extract functions from
8010the local code")
8011 (description "This package contains helper functions on top of
8012Template Haskell.
8013
8014For example, @code{functionExtractor} extracts all functions after a
8015regexp-pattern, which can be useful if you wish to extract all functions
8016beginning with @code{test} (for a test framework) or all functions beginning
8017with @code{wc} (for a web service).")
8018 (license license:bsd-3)))
8019
97b26920 8020(define-public ghc-abstract-par
8021 (package
8022 (name "ghc-abstract-par")
8023 (version "0.3.3")
8024 (source
8025 (origin
8026 (method url-fetch)
8027 (uri (string-append "https://hackage.haskell.org/package/"
8028 "abstract-par-" version "/"
8029 "abstract-par-" version ".tar.gz"))
8030 (sha256
8031 (base32
8032 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8033 (build-system haskell-build-system)
8034 (home-page "https://github.com/simonmar/monad-par")
8035 (synopsis "Abstract parallelization interface for Haskell")
8036 (description "This Haskell package is an abstract interface
8037only. It provides a number of type clasess, but not an
8038implementation. The type classes separate different levels
8039of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8040module for more details.")
8041 (license license:bsd-3)))
8042
59551881 8043(define-public ghc-monad-par-extras
8044 (package
8045 (name "ghc-monad-par-extras")
8046 (version "0.3.3")
8047 (source
8048 (origin
8049 (method url-fetch)
8050 (uri (string-append "https://hackage.haskell.org/package/"
8051 "monad-par-extras-" version "/"
8052 "monad-par-extras-" version ".tar.gz"))
8053 (sha256
8054 (base32
8055 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8056 (build-system haskell-build-system)
8057 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8058 ("ghc-cereal" ,ghc-cereal)
8059 ("ghc-random" ,ghc-random)
8060 ("ghc-mtl" ,ghc-mtl)))
8061 (home-page "https://github.com/simonmar/monad-par")
8062 (synopsis "Combinators and extra features for Par monads for Haskell")
8063 (description "This Haskell package provides additional data structures,
8064and other added capabilities layered on top of the @code{Par} monad.")
8065 (license license:bsd-3)))
8066
f978e2ac 8067(define-public ghc-abstract-deque
8068 (package
8069 (name "ghc-abstract-deque")
8070 (version "0.3")
8071 (source
8072 (origin
8073 (method url-fetch)
8074 (uri (string-append "https://hackage.haskell.org/package/"
8075 "abstract-deque-" version "/"
8076 "abstract-deque-" version ".tar.gz"))
8077 (sha256
8078 (base32
8079 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8080 (build-system haskell-build-system)
8081 (inputs `(("ghc-random" ,ghc-random)))
8082 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8083 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8084 (description "This Haskell package provides an abstract interface to
8085highly-parameterizable queues/deques.
8086
8087Background: There exists a feature space for queues that extends between:
8088
8089@itemize
8090@item Simple, single-ended, non-concurrent, bounded queues
8091
8092@item Double-ended, threadsafe, growable queues with important points
8093inbetween (such as the queues used for work-stealing).
8094@end itemize
8095
8096This package includes an interface for Deques that allows the programmer
8097to use a single API for all of the above, while using the type-system to
8098select an efficient implementation given the requirements (using type families).
8099
8100This package also includes a simple reference implementation based on
8101@code{IORef} and @code{Data.Sequence}.")
8102 (license license:bsd-3)))
8103
608bf276 8104(define-public ghc-monad-par
8105 (package
8106 (name "ghc-monad-par")
8107 (version "0.3.4.8")
8108 (source
8109 (origin
8110 (method url-fetch)
8111 (uri (string-append "https://hackage.haskell.org/package/"
8112 "monad-par-" version "/"
8113 "monad-par-" version ".tar.gz"))
8114 (sha256
8115 (base32
8116 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8117 (build-system haskell-build-system)
8118 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8119 ("ghc-abstract-deque" ,ghc-abstract-deque)
8120 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8121 ("ghc-mwc-random" ,ghc-mwc-random)
8122 ("ghc-parallel" ,ghc-parallel)
8123 ("ghc-mtl" ,ghc-mtl)))
8124 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8125 ("ghc-hunit" ,ghc-hunit)
8126 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8127 ("ghc-test-framework-quickcheck2"
8128 ,ghc-test-framework-quickcheck2)
8129 ("ghc-test-framework" ,ghc-test-framework)
8130 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8131 (home-page "https://github.com/simonmar/monad-par")
8132 (synopsis "Haskell library for parallel programming based on a monad")
8133 (description "The @code{Par} monad offers an API for parallel
8134programming. The library works for parallelising both pure and @code{IO}
8135computations, although only the pure version is deterministic. The default
8136implementation provides a work-stealing scheduler and supports forking tasks
8137that are much lighter weight than IO-threads.")
8138 (license license:bsd-3)))
8139
0c717284 8140(define-public ghc-statistics
8141 (package
8142 (name "ghc-statistics")
8143 (version "0.14.0.2")
8144 (source
8145 (origin
8146 (method url-fetch)
8147 (uri (string-append "https://hackage.haskell.org/package/"
8148 "statistics-" version "/"
8149 "statistics-" version ".tar.gz"))
8150 (sha256
8151 (base32
8152 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
8153 (build-system haskell-build-system)
8154 (inputs
8155 `(("ghc-aeson" ,ghc-aeson)
8156 ("ghc-base-orphans" ,ghc-base-orphans)
8157 ("ghc-erf" ,ghc-erf)
8158 ("ghc-math-functions" ,ghc-math-functions)
8159 ("ghc-monad-par" ,ghc-monad-par)
8160 ("ghc-mwc-random" ,ghc-mwc-random)
8161 ("ghc-primitive" ,ghc-primitive)
8162 ("ghc-vector" ,ghc-vector)
8163 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8164 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
8165 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
8166 (native-inputs
8167 `(("ghc-hunit" ,ghc-hunit)
8168 ("ghc-quickcheck" ,ghc-quickcheck)
8169 ("ghc-ieee754", ghc-ieee754)
8170 ("ghc-test-framework" ,ghc-test-framework)
8171 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8172 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8173 (arguments
8174 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8175 (home-page "https://github.com/bos/mwc-random")
8176 (synopsis "Haskell library of statistical types, data, and functions")
8177 (description "This library provides a number of common functions
8178and types useful in statistics. We focus on high performance, numerical
8179robustness, and use of good algorithms. Where possible, we provide references
8180to the statistical literature.
8181
8182The library's facilities can be divided into four broad categories:
8183
8184@itemize
8185@item Working with widely used discrete and continuous probability
8186distributions. (There are dozens of exotic distributions in use; we focus
8187on the most common.)
8188
8189@item Computing with sample data: quantile estimation, kernel density
8190estimation, histograms, bootstrap methods, significance testing,
8191and regression and autocorrelation analysis.
8192
8193@item Random variate generation under several different distributions.
8194
8195@item Common statistical tests for significant differences between samples.
8196@end itemize")
8197 (license license:bsd-2)))
8198
371ad40c 8199(define-public ghc-chunked-data
8200 (package
8201 (name "ghc-chunked-data")
8202 (version "0.3.0")
8203 (source
8204 (origin
8205 (method url-fetch)
8206 (uri (string-append "https://hackage.haskell.org/package/"
8207 "chunked-data-" version "/"
8208 "chunked-data-" version ".tar.gz"))
8209 (sha256
8210 (base32
8211 "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
8212 (build-system haskell-build-system)
8213 (inputs `(("ghc-vector" ,ghc-vector)
8214 ("ghc-semigroups" ,ghc-semigroups)))
8215 (home-page "https://github.com/snoyberg/mono-traversable")
8216 (synopsis "Typeclasses for dealing with various chunked data
8217representations for Haskell")
8218 (description "This Haskell package was originally present in
8219classy-prelude.")
8220 (license license:expat)))
8221
ac4cb8fd 8222(define-public ghc-base-prelude
8223 (package
8224 (name "ghc-base-prelude")
8225 (version "1.2.0.1")
8226 (source
8227 (origin
8228 (method url-fetch)
8229 (uri (string-append "https://hackage.haskell.org/package/"
8230 "base-prelude-" version "/"
8231 "base-prelude-" version ".tar.gz"))
8232 (sha256
8233 (base32
8234 "17hivs7lmsglagdlzxd9q9zsddmgqin2788mpq911zwnb57lj6l1"))))
8235 (build-system haskell-build-system)
8236 (home-page "https://github.com/nikita-volkov/base-prelude")
8237 (synopsis "The most complete prelude formed solely from the Haskell's base
8238package")
8239 (description "This Haskell package aims to reexport all the non-conflicting
8240and most general definitions from the \"base\" package.
8241
8242This includes APIs for applicatives, arrows, monoids, foldables, traversables,
8243exceptions, generics, ST, MVars and STM.
8244
8245This package will never have any dependencies other than \"base\".
8246
8247Versioning policy:
8248
8249The versioning policy of this package deviates from PVP in the sense
8250that its exports in part are transitively determined by the version of \"base\".
8251Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
8252the bounds of \"base\" as well.")
8253 (license license:expat)))
8254
e329bacb 8255(define-public ghc-tuple-th
8256 (package
8257 (name "ghc-tuple-th")
8258 (version "0.2.5")
8259 (source
8260 (origin
8261 (method url-fetch)
8262 (uri (string-append "https://hackage.haskell.org/package/"
8263 "tuple-th-" version "/"
8264 "tuple-th-" version ".tar.gz"))
8265 (sha256
8266 (base32
8267 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
8268 (build-system haskell-build-system)
8269 (home-page "https://github.com/DanielSchuessler/tuple-th")
8270 (synopsis "Generate utility functions for tuples of statically known size
8271for Haskell")
8272 (description "This Haskell package contains Template Haskell functions for
8273generating functions similar to those in @code{Data.List} for tuples of
8274statically known size.")
8275 (license license:bsd-3)))
8276
4562c8c8 8277(define-public ghc-contravariant-extras
8278 (package
8279 (name "ghc-contravariant-extras")
8280 (version "0.3.3.1")
8281 (source
8282 (origin
8283 (method url-fetch)
8284 (uri (string-append "https://hackage.haskell.org/package/"
8285 "contravariant-extras-" version "/"
8286 "contravariant-extras-" version ".tar.gz"))
8287 (sha256
8288 (base32
8289 "1mbrgjybdx8fjdck4ldwi8955w4qnmm0ql56zix7dyn0s7s9spgk"))))
8290 (build-system haskell-build-system)
8291 (inputs `(("ghc-tuple-th" ,ghc-tuple-th)
8292 ("ghc-contravariant" ,ghc-contravariant)
8293 ("ghc-base-prelude",ghc-base-prelude)))
8294 (home-page "https://github.com/nikita-volkov/contravariant-extras")
8295 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
8296 (description "This Haskell package provides extras for the
8297@code{ghc-contravariant} package.")
8298 (license license:expat)))
8299
87129984 8300(define-public ghc-monadrandom
8301 (package
8302 (name "ghc-monadrandom")
8303 (version "0.4.2.3")
8304 (source
8305 (origin
8306 (method url-fetch)
8307 (uri (string-append "https://hackage.haskell.org/package/"
8308 "MonadRandom-" version "/"
8309 "MonadRandom-" version ".tar.gz"))
8310 (sha256
8311 (base32
8312 "1h1nhswrcmhy3mq6vd530p0df51fcnnf4csbwnljar7cf0mb2h6y"))))
8313 (build-system haskell-build-system)
8314 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8315 ("ghc-mtl" ,ghc-mtl)
8316 ("ghc-primitive" ,ghc-primitive)
8317 ("ghc-fail" ,ghc-fail)
8318 ("ghc-random" ,ghc-random)))
8319 (home-page "https://github.com/byorgey/MonadRandom")
8320 (synopsis "Random-number generation monad for Haskell")
8321 (description "This Haskell package provides support for computations
8322which consume random values.")
8323 (license license:bsd-3)))
8324
16d4125e 8325(define-public ghc-either
8326 (package
8327 (name "ghc-either")
8328 (version "4.4.1.1")
8329 (source
8330 (origin
8331 (method url-fetch)
8332 (uri (string-append "https://hackage.haskell.org/package/"
8333 "either-" version "/"
8334 "either-" version ".tar.gz"))
8335 (sha256
8336 (base32
8337 "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh"))))
8338 (build-system haskell-build-system)
8339 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
8340 ("ghc-exceptions" ,ghc-exceptions)
8341 ("ghc-free" ,ghc-free)
8342 ("ghc-monad-control" ,ghc-monad-control)
8343 ("ghc-manodrandom" ,ghc-monadrandom)
8344 ("ghc-mtl" ,ghc-mtl)
8345 ("ghc-mmorph" ,ghc-mmorph)
8346 ("ghc-profunctors" ,ghc-profunctors)
8347 ("ghc-semigroups" ,ghc-semigroups)
8348 ("ghc-semigroupoids" ,ghc-semigroupoids)
8349 ("ghc-transformers-base" ,ghc-transformers-base)))
8350 (home-page "https://github.com/ekmett/either")
8351 (synopsis "Provides an either monad transformer for Haskell")
8352 (description "This Haskell package provides an either monad transformer.")
8353 (license license:bsd-3)))
933e7804 8354
f78ed5d5 8355(define-public ghc-pretty-hex
8356 (package
8357 (name "ghc-pretty-hex")
8358 (version "1.0")
8359 (source
8360 (origin
8361 (method url-fetch)
8362 (uri (string-append "https://hackage.haskell.org/package/"
8363 "pretty-hex-" version "/"
8364 "pretty-hex-" version ".tar.gz"))
8365 (sha256
8366 (base32
8367 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8368 (build-system haskell-build-system)
8369 (home-page "https://github.com/GaloisInc/hexdump")
8370 (synopsis "Haskell library for hex dumps of ByteStrings")
8371 (description "This Haskell library generates pretty hex dumps of
8372ByteStrings in the style of other common *nix hex dump tools.")
8373 (license license:bsd-3)))
8374
6eda2635 8375(define-public ghc-network-info
8376 (package
8377 (name "ghc-network-info")
8378 (version "0.2.0.8")
8379 (source
8380 (origin
8381 (method url-fetch)
8382 (uri (string-append "https://hackage.haskell.org/package/"
8383 "network-info-" version "/"
8384 "network-info-" version ".tar.gz"))
8385 (sha256
8386 (base32
8387 "0xndvg776241fgjmynxfpy81f1csjmh8dg33yf0c8m71ychz3pzc"))))
8388 (build-system haskell-build-system)
8389 (home-page "https://github.com/jystic/network-info")
8390 (synopsis "Access the local computer's basic network configuration")
8391 (description "This Haskell library provides simple read-only access to the
8392local computer's networking configuration. It is currently capable of
8393getting a list of all the network interfaces and their respective
8394IPv4, IPv6 and MAC addresses.")
8395 (license license:bsd-3)))
8396
b999b009 8397(define-public ghc-uuid-types
8398 (package
8399 (name "ghc-uuid-types")
8400 (version "1.0.3")
8401 (source
8402 (origin
8403 (method url-fetch)
8404 (uri (string-append "https://hackage.haskell.org/package/"
8405 "uuid-types-" version "/"
8406 "uuid-types-" version ".tar.gz"))
8407 (sha256
8408 (base32
8409 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
8410 (build-system haskell-build-system)
b1c5c8de
RW
8411 (arguments
8412 `(#:configure-flags (list "--allow-newer=QuickCheck")))
b999b009 8413 (inputs `(("ghc-hashable" ,ghc-hashable)
8414 ("ghc-random" ,ghc-random)
8415 ("ghc-text" ,ghc-text)))
8416 (native-inputs `(("ghc-hunit" ,ghc-hunit)
8417 ("ghc-quickcheck" ,ghc-quickcheck)
8418 ("ghc-tasty" ,ghc-tasty)
8419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8420 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8421 (home-page "https://github.com/hvr/uuid")
8422 (synopsis "Haskell type definitions for UUIDs")
8423 (description "This Haskell library contains type definitions for
8424@dfn{Universally Unique Identifiers} or
8425@uref{http://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
8426functions.")
8427 (license license:bsd-3)))
8428
24535a3d 8429(define-public ghc-uuid
8430 (package
8431 (name "ghc-uuid")
8432 (version "1.3.13")
8433 (source
8434 (origin
8435 (method url-fetch)
8436 (uri (string-append "https://hackage.haskell.org/package/"
8437 "uuid-" version "/"
8438 "uuid-" version ".tar.gz"))
8439 (sha256
8440 (base32
8441 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
8442 (build-system haskell-build-system)
8443 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
8444 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
8445 ("ghc-entropy" ,ghc-entropy)
8446 ("ghc-network-info" ,ghc-network-info)
8447 ("ghc-random" ,ghc-random)
8448 ("ghc-text" ,ghc-text)
8449 ("ghc-uuid-types" ,ghc-uuid-types)))
8450 (native-inputs `(("ghc-hunit" ,ghc-hunit)
8451 ("ghc-quickcheck" ,ghc-quickcheck)
8452 ("ghc-tasty" ,ghc-tasty)
8453 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8454 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8455 (home-page "https://github.com/hvr/uuid")
8456 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
8457 (description "This Haskell library provides utilities creating, comparing,
8458parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
8459 (license license:bsd-3)))
8460
33109c82 8461(define-public ghc-rebase
8462 (package
8463 (name "ghc-rebase")
8464 (version "1.1")
8465 (source
8466 (origin
8467 (method url-fetch)
8468 (uri (string-append "https://hackage.haskell.org/package/"
8469 "rebase-" version "/"
8470 "rebase-" version ".tar.gz"))
8471 (sha256
8472 (base32
8473 "1qkhnpcc4g2vd6jmbf3b6psqkan6hyawqzrwzqdd931hsb02l6ia"))))
8474 (build-system haskell-build-system)
8475 (inputs `(("ghc-stm" ,ghc-stm)
8476 ("ghc-hashable" ,ghc-hashable)
8477 ("ghc-vector" ,ghc-vector)
8478 ("ghc-unordered-containers" ,ghc-unordered-containers)
8479 ("ghc-text" ,ghc-text)
8480 ("ghc-scientific" ,ghc-scientific)
8481 ("ghc-uuid" ,ghc-uuid)
8482 ("ghc-dlist" ,ghc-dlist)
8483 ("ghc-void" ,ghc-void)
8484 ("ghc-bifunctors" ,ghc-bifunctors)
8485 ("ghc-profunctors" ,ghc-profunctors)
8486 ("ghc-contravariant" ,ghc-contravariant)
8487 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8488 ("ghc-semigroups" ,ghc-semigroups)
8489 ("ghc-mtl" ,ghc-mtl)
8490 ("ghc-either" ,ghc-either)
8491 ("ghc-fail" ,ghc-fail)
8492 ("ghc-base-prelude" ,ghc-base-prelude)))
8493 (home-page "https://github.com/nikita-volkov/rebase")
8494 (synopsis "Progressive alternative to the base package
8495for Haskell")
8496 (description "This Haskell package is intended for those who are
8497tired of keeping long lists of dependencies to the same essential libraries
8498in each package as well as the endless imports of the same APIs all over again.
8499
8500It also supports the modern tendencies in the language.
8501
8502To solve those problems this package does the following:
8503
8504@itemize
8505@item Reexport the original APIs under the @code{Rebase} namespace.
8506
8507@item Export all the possible non-conflicting symbols from the
8508@code{Rebase.Prelude} module.
8509
8510@item Give priority to the modern practices in the conflicting cases.
8511@end itemize
8512
8513The policy behind the package is only to reexport the non-ambiguous and
8514non-controversial APIs, which the community has obviously settled on.
8515The package is intended to rapidly evolve with the contribution from
8516the community, with the missing features being added with pull-requests.")
8517 (license license:expat)))
8518
1896a252 8519(define-public ghc-vector-builder
8520 (package
8521 (name "ghc-vector-builder")
8522 (version "0.3.1")
8523 (source
8524 (origin
8525 (method url-fetch)
8526 (uri (string-append "https://hackage.haskell.org/package/"
8527 "vector-builder-" version "/"
8528 "vector-builder-" version ".tar.gz"))
8529 (sha256
8530 (base32
8531 "1l6sfgd2s107zkp1qd1w6jdjcbznp31769qf99pxar087f697wvp"))))
8532 (build-system haskell-build-system)
8533 (inputs `(("ghc-vector" ,ghc-vector)
8534 ("ghc-semigroups" ,ghc-semigroups)
8535 ("ghc-base-prelude" ,ghc-base-prelude)))
8536 (native-inputs `(("ghc-tasty" ,ghc-tasty)
8537 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8538 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8539 ("ghc-hunit" ,ghc-hunit)
8540 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8541 ("ghc-rebase" ,ghc-rebase)))
8542 (home-page "https://github.com/nikita-volkov/vector-builder")
8543 (synopsis "Vector builder for Haskell")
8544 (description "This Haskell package provides an API for constructing vectors.
8545It provides the composable @code{Builder} abstraction, which has instances of the
8546@code{Monoid} and @code{Semigroup} classes.
8547
8548You would first use the @code{Builder} abstraction to specify the structure of
8549the vector; then you can execute the builder to actually produce the
8550vector. ")
8551 (license license:expat)))
8552
f6094850 8553(define-public ghc-foldl
8554 (package
8555 (name "ghc-foldl")
93e8c799 8556 (version "1.3.5")
f6094850 8557 (source
8558 (origin
8559 (method url-fetch)
8560 (uri (string-append "https://hackage.haskell.org/package/"
8561 "foldl-" version "/"
8562 "foldl-" version ".tar.gz"))
8563 (sha256
8564 (base32
93e8c799 8565 "10qsp7dj2xsq4q2xm6x6b12y5pq32qf7my41hnkmdwwbccvhdxb2"))))
f6094850 8566 (build-system haskell-build-system)
8567 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
8568 ("ghc-primitive" ,ghc-primitive)
8569 ("ghc-text" ,ghc-text)
8570 ("ghc-vector" ,ghc-vector)
8571 ("ghc-unordered-containers" ,ghc-unordered-containers)
8572 ("ghc-hashable" ,ghc-hashable)
8573 ("ghc-contravariant" ,ghc-contravariant)
8574 ("ghc-profunctors" ,ghc-profunctors)
8575 ("ghc-comonad" ,ghc-comonad)
8576 ("ghc-vector-builder" ,ghc-vector-builder)))
8577 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
8578 (synopsis "Composable, streaming, and efficient left folds for Haskell")
8579 (description "This Haskell library provides strict left folds that stream
8580in constant memory, and you can combine folds using @code{Applicative} style
8581to derive new folds. Derived folds still traverse the container just once
8582and are often as efficient as hand-written folds.")
8583 (license license:bsd-3)))
8584
ed4cc0c5 8585(define-public ghc-mono-traversable
8586 (package
8587 (name "ghc-mono-traversable")
8588 (version "1.0.2.1")
8589 (source
8590 (origin
8591 (method url-fetch)
8592 (uri (string-append "https://hackage.haskell.org/package/"
8593 "mono-traversable-" version "/"
8594 "mono-traversable-" version ".tar.gz"))
8595 (sha256
8596 (base32
8597 "0smirpwika7d5a98h20jr9jqg41n7vqfy7k31crmn449qfig9ljf"))))
8598 (build-system haskell-build-system)
8599 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
8600 ("ghc-hashable" ,ghc-hashable)
8601 ("ghc-text" ,ghc-text)
8602 ("ghc-vector" ,ghc-vector)
8603 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8604 ("ghc-split" ,ghc-split)))
8605 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8606 ("ghc-hunit",ghc-hunit)
8607 ("ghc-quickcheck" ,ghc-quickcheck)
8608 ("ghc-semigroups" ,ghc-semigroups)
8609 ("ghc-foldl" ,ghc-foldl)))
8610 (home-page "https://github.com/snoyberg/mono-traversable")
8611 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
8612containers")
8613 (description "This Haskell package provides Monomorphic variants of the
8614Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
8615basic typeclasses, you understand mono-traversable. In addition to what
8616you are used to, it adds on an IsSequence typeclass and has code for marking
8617data structures as non-empty.")
8618 (license license:expat)))
8619
95fb25bf 8620(define-public ghc-conduit-combinators
8621 (package
8622 (name "ghc-conduit-combinators")
8623 (version "1.1.1")
8624 (source
8625 (origin
8626 (method url-fetch)
8627 (uri (string-append "https://hackage.haskell.org/package/"
8628 "conduit-combinators-" version "/"
8629 "conduit-combinators-" version ".tar.gz"))
8630 (sha256
8631 (base32
8632 "0609miq03lq9visfb2dqqsxghmvgzm24pq39mqby1jnnah6yh8m0"))))
8633 (build-system haskell-build-system)
8634 (inputs `(("ghc-conduit" ,ghc-conduit)
8635 ("ghc-conduit-extra" ,ghc-conduit-extra)
8636 ("ghc-transformers-base" ,ghc-transformers-base)
8637 ("ghc-primitive" ,ghc-primitive)
8638 ("ghc-vector" ,ghc-vector)
8639 ("ghc-text" ,ghc-text)
8640 ("ghc-void" ,ghc-void)
8641 ("ghc-mwc-random" ,ghc-mwc-random)
8642 ("ghc-unix-compat" ,ghc-unix-compat)
8643 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
8644 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8645 ("ghc-resourcet" ,ghc-resourcet)
8646 ("ghc-monad-control" ,ghc-monad-control)
8647 ("ghc-chunked-data" ,ghc-chunked-data)
8648 ("ghc-mono-traversable" ,ghc-mono-traversable)))
8649 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8650 ("ghc-silently" ,ghc-silently)
8651 ("ghc-mtl" ,ghc-mtl)
8652 ("ghc-safe" ,ghc-safe)
8653 ("ghc-quickcheck" ,ghc-quickcheck)))
8654 (home-page "https://github.com/snoyberg/mono-traversable")
8655 (synopsis "Commonly used conduit functions, for both chunked and
8656unchunked data")
8657 (description "This Haskell package provides a replacement for Data.Conduit.List,
8658as well as a convenient Conduit module.")
8659 (license license:expat)))
8660
3a784700 8661(define-public ghc-aws
8662 (package
8663 (name "ghc-aws")
0faddfc3 8664 (version "0.18")
3a784700 8665 (source
8666 (origin
8667 (method url-fetch)
8668 (uri (string-append "https://hackage.haskell.org/package/"
8669 "aws-" version "/aws-" version ".tar.gz"))
8670 (sha256 (base32
0faddfc3 8671 "0h7473wkvc5xjzx5fd5k5fp70rjq5gqmn1cpy95mswvvfsq3irxj"))))
3a784700 8672 (build-system haskell-build-system)
8673 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
8674 (inputs
8675 `(("ghc-aeson" ,ghc-aeson)
8676 ("ghc-attoparsec" ,ghc-attoparsec)
8677 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
8678 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8679 ("ghc-blaze-builder" ,ghc-blaze-builder)
8680 ("ghc-byteable" ,ghc-byteable)
8681 ("ghc-case-insensitive" ,ghc-case-insensitive)
8682 ("ghc-cereal" ,ghc-cereal)
8683 ("ghc-conduit" ,ghc-conduit)
8684 ("ghc-conduit-extra" ,ghc-conduit-extra)
0faddfc3 8685 ("ghc-cryptonite" ,ghc-cryptonite)
3a784700 8686 ("ghc-data-default" ,ghc-data-default)
8687 ("ghc-http-conduit" ,ghc-http-conduit)
8688 ("ghc-http-types" ,ghc-http-types)
8689 ("ghc-monad-control" ,ghc-monad-control)
8690 ("ghc-mtl" ,ghc-mtl)
8691 ("ghc-network" ,ghc-network)
8692 ("ghc-old-locale" ,ghc-old-locale)
8693 ("ghc-safe" ,ghc-safe)
8694 ("ghc-scientific" ,ghc-scientific)
8695 ("ghc-tagged" ,ghc-tagged)
8696 ("ghc-text" ,ghc-text)
8697 ("ghc-unordered-containers" ,ghc-unordered-containers)
8698 ("ghc-utf8-string" ,ghc-utf8-string)
8699 ("ghc-vector" ,ghc-vector)
8700 ("ghc-xml-conduit" ,ghc-xml-conduit)))
8701 (native-inputs
8702 `(("ghc-quickcheck" ,ghc-quickcheck)
8703 ("ghc-errors" ,ghc-errors)
8704 ("ghc-http-client" ,ghc-http-client)
8705 ("ghc-http-client-tls" ,ghc-http-client-tls)
8706 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8707 ("ghc-tasty" ,ghc-tasty)
8708 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8709 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8710 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
8711 (home-page "https://github.com/aristidb/aws")
8712 (synopsis "Amazon Web Services for Haskell")
8713 (description "This package attempts to provide support for using
8714Amazon Web Services like S3 (storage), SQS (queuing) and others to
8715Haskell programmers. The ultimate goal is to support all Amazon
8716Web Services.")
8717 (license license:bsd-3)))
8718
246b3437 8719;;; haskell.scm ends here