gnu: ghc-fgl-arbitrary: Allow building with newer hspec.
[jackhill/guix/guix.git] / gnu / packages / haskell.scm
CommitLineData
246b3437 1;;; GNU Guix --- Functional package management for GNU
95595618 2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
df1db767 3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
0e03d76a 4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
ccd7b308 5;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
ae785e5e 6;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
4a78fd46 7;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
7531b1fc 8;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
b90f72dc 9;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
c7a7129c 10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
ee719fba 11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
df7309fc 12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
98b90194 13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
78d8b8f3 14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
a9717a52 15;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
e5d92c1c 16;;; Copyright © 2018 Tonton <tonton@riseup.net>
4c798726 17;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
b1a16000 18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
246b3437
FB
19;;;
20;;; This file is part of GNU Guix.
21;;;
22;;; GNU Guix is free software; you can redistribute it and/or modify it
23;;; under the terms of the GNU General Public License as published by
24;;; the Free Software Foundation; either version 3 of the License, or (at
25;;; your option) any later version.
26;;;
27;;; GNU Guix is distributed in the hope that it will be useful, but
28;;; WITHOUT ANY WARRANTY; without even the implied warranty of
29;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30;;; GNU General Public License for more details.
31;;;
32;;; You should have received a copy of the GNU General Public License
33;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
34
35(define-module (gnu packages haskell)
d8e85b20 36 #:use-module (gnu packages)
c0d5b645 37 #:use-module (gnu packages bootstrap)
ac257f12 38 #:use-module (gnu packages check)
3d3613d5 39 #:use-module (gnu packages compression)
246b3437 40 #:use-module (gnu packages elf)
600621a1 41 #:use-module (gnu packages gcc)
246b3437 42 #:use-module (gnu packages ghostscript)
c0d5b645 43 #:use-module (gnu packages gl)
a06b9b50 44 #:use-module (gnu packages haskell-check)
f24eba89 45 #:use-module (gnu packages haskell-crypto)
44b7374a 46 #:use-module (gnu packages haskell-web)
c0d5b645 47 #:use-module (gnu packages libffi)
a7101996 48 #:use-module (gnu packages linux)
95e654ae 49 #:use-module (gnu packages lisp)
ac5d633a 50 #:use-module (gnu packages lua)
95595618 51 #:use-module (gnu packages maths)
246b3437
FB
52 #:use-module (gnu packages multiprecision)
53 #:use-module (gnu packages ncurses)
b10f7be3 54 #:use-module (gnu packages pcre)
c0d5b645
DC
55 #:use-module (gnu packages perl)
56 #:use-module (gnu packages pkg-config)
57 #:use-module (gnu packages python)
58 #:use-module (gnu packages sdl)
587d1752 59 #:use-module (gnu packages tls)
793bcc19 60 #:use-module (gnu packages xml)
c0d5b645 61 #:use-module (gnu packages xorg)
c0d5b645
DC
62 #:use-module (guix build-system gnu)
63 #:use-module (guix build-system haskell)
64 #:use-module (guix download)
ee719fba 65 #:use-module (guix git-download)
c0d5b645
DC
66 #:use-module ((guix licenses) #:prefix license:)
67 #:use-module (guix packages)
68 #:use-module (guix utils)
8e3149ee
RW
69 #:use-module (ice-9 regex)
70 #:use-module ((srfi srfi-1) #:select (alist-delete)))
246b3437 71
95e654ae
RW
72(define-public cl-yale-haskell
73 (let ((commit "85f94c72a16c5f70301dd8db04cde9de2d7dd270")
74 (revision "1"))
75 (package
76 (name "cl-yale-haskell")
77 (version (string-append "2.0.5-" revision "." (string-take commit 9)))
78 (source (origin
79 (method git-fetch)
80 (uri (git-reference
98b90194 81 (url "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
82 (commit commit)))
83 (file-name (string-append "yale-haskell-" commit "-checkout"))
84 (sha256
85 (base32
86 "0bal3m6ryrjamz5p93bhs9rp5msk8k7lpcqr44wd7xs9b9k8w74g"))))
87 (build-system gnu-build-system)
88 (arguments
89 `(#:tests? #f ; no tests
90 ;; Stripping binaries leads to a broken executable lisp system image.
91 #:strip-binaries? #f
92 #:make-flags
93 (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
94 #:phases
95 (modify-phases %standard-phases
96 (replace 'configure
97 (lambda _
98 (setenv "PRELUDE" "./progs/prelude")
99 (setenv "HASKELL_LIBRARY" "./progs/lib")
100 (setenv "PRELUDEBIN" "./progs/prelude/clisp")
101 (setenv "HASKELLPROG" "./bin/clisp-haskell")
102 #t)))))
103 (inputs
104 `(("clisp" ,clisp)))
98b90194 105 (home-page "https://git.elephly.net/software/yale-haskell.git")
95e654ae
RW
106 (synopsis "Port of the Yale Haskell system to CLISP")
107 (description "This package provides the Yale Haskell system running on
108top of CLISP.")
109 (license license:bsd-4))))
110
5868a8bf 111(define ghc-bootstrap-x86_64-7.8.4
246b3437
FB
112 (origin
113 (method url-fetch)
5868a8bf
FB
114 (uri
115 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-x86_64-unknown-linux-deb7.tar.xz")
246b3437
FB
116 (sha256
117 (base32
5868a8bf
FB
118 "13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"))))
119
120(define ghc-bootstrap-i686-7.8.4
121 (origin
122 (method url-fetch)
123 (uri
124 "https://www.haskell.org/ghc/dist/7.8.4/ghc-7.8.4-i386-unknown-linux-deb7.tar.xz")
125 (sha256
126 (base32
127 "0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg"))))
246b3437
FB
128
129;; 43 tests out of 3965 fail.
130;;
131;; Most of them do not appear to be serious:
132;;
133;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
134;; figured out how these references are generated.
135;;
136;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
137;;
138;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
139;; Data.Vector, Control.Monad.State.
140;;
141;; - Test posix010 tries to check the existence of a user on the system:
142;; getUserEntryForName: does not exist (no such user)
e2dc97d6 143(define-public ghc-7
246b3437
FB
144 (package
145 (name "ghc")
0e03d76a 146 (version "7.10.2")
246b3437
FB
147 (source
148 (origin
149 (method url-fetch)
150 (uri (string-append "https://www.haskell.org/ghc/dist/"
151 version "/" name "-" version "-src.tar.xz"))
152 (sha256
153 (base32
0e03d76a 154 "1x8m4rp2v7ydnrz6z9g8x7z3x3d3pxhv2pixy7i7hkbqbdsp7kal"))))
246b3437
FB
155 (build-system gnu-build-system)
156 (supported-systems '("i686-linux" "x86_64-linux"))
157 (outputs '("out" "doc"))
158 (inputs
159 `(("gmp" ,gmp)
160 ("ncurses" ,ncurses)
161 ("libffi" ,libffi)
246b3437
FB
162 ("ghc-testsuite"
163 ,(origin
164 (method url-fetch)
165 (uri (string-append
166 "https://www.haskell.org/ghc/dist/"
167 version "/" name "-" version "-testsuite.tar.xz"))
168 (sha256
169 (base32
0e03d76a 170 "0qp9da9ar87zbyn6wjgacd2ic1vgzbi3cklxnhsmjqyafv9qaj4b"))))))
246b3437
FB
171 (native-inputs
172 `(("perl" ,perl)
173 ("python" ,python-2) ; for tests (fails with python-3)
174 ("ghostscript" ,ghostscript) ; for tests
175 ("patchelf" ,patchelf)
176 ;; GHC is built with GHC. Therefore we need bootstrap binaries.
5868a8bf
FB
177 ("ghc-binary"
178 ,(if (string-match "x86_64" (or (%current-target-system) (%current-system)))
179 ghc-bootstrap-x86_64-7.8.4
180 ghc-bootstrap-i686-7.8.4))))
246b3437
FB
181 (arguments
182 `(#:test-target "test"
183 ;; We get a smaller number of test failures by disabling parallel test
184 ;; execution.
185 #:parallel-tests? #f
fb799cb7
LC
186
187 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
188 ;; gremlin) doesn't support it yet, so skip this phase.
189 #:validate-runpath? #f
190
bbd19615
MW
191 ;; Don't pass --build=<triplet>, because the configure script
192 ;; auto-detects slightly different triplets for --host and --target and
193 ;; then complains that they don't match.
194 #:build #f
195
246b3437
FB
196 #:modules ((guix build gnu-build-system)
197 (guix build utils)
198 (guix build rpath)
199 (srfi srfi-26)
200 (srfi srfi-1))
caaf1933 201 #:imported-modules (,@%gnu-build-system-modules
246b3437
FB
202 (guix build rpath))
203 #:configure-flags
204 (list
205 (string-append "--with-gmp-libraries="
206 (assoc-ref %build-inputs "gmp") "/lib")
207 (string-append "--with-gmp-includes="
208 (assoc-ref %build-inputs "gmp") "/include")
209 "--with-system-libffi"
210 (string-append "--with-ffi-libraries="
211 (assoc-ref %build-inputs "libffi") "/lib")
212 (string-append "--with-ffi-includes="
213 (assoc-ref %build-inputs "libffi") "/include"))
214 ;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
215 ;; Currently we do not have the last one.
216 ;; #:make-flags
217 ;; (list "BUILD_DOCBOOK_HTML = YES")
218 #:phases
219 (let* ((ghc-bootstrap-path
220 (string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
221 (ghc-bootstrap-prefix
222 (string-append ghc-bootstrap-path "/usr" )))
223 (alist-cons-after
48d21d6c 224 'unpack-bin 'unpack-testsuite-and-fix-bins
246b3437
FB
225 (lambda* (#:key inputs outputs #:allow-other-keys)
226 (with-directory-excursion ".."
227 (copy-file (assoc-ref inputs "ghc-testsuite")
228 "ghc-testsuite.tar.xz")
229 (system* "tar" "xvf" "ghc-testsuite.tar.xz"))
246b3437
FB
230 (substitute*
231 (list "testsuite/timeout/Makefile"
232 "testsuite/timeout/timeout.py"
233 "testsuite/timeout/timeout.hs"
234 "testsuite/tests/rename/prog006/Setup.lhs"
48d21d6c
EB
235 "testsuite/tests/programs/life_space_leak/life.test"
236 "libraries/process/System/Process/Internals.hs"
237 "libraries/unix/cbits/execvpe.c")
246b3437
FB
238 (("/bin/sh") (which "sh"))
239 (("/bin/rm") "rm"))
240 #t)
241 (alist-cons-after
242 'unpack 'unpack-bin
243 (lambda* (#:key inputs outputs #:allow-other-keys)
244 (mkdir-p ghc-bootstrap-prefix)
245 (with-directory-excursion ghc-bootstrap-path
246 (copy-file (assoc-ref inputs "ghc-binary")
247 "ghc-bin.tar.xz")
248 (zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
249 (alist-cons-before
250 'install-bin 'configure-bin
251 (lambda* (#:key inputs outputs #:allow-other-keys)
252 (let* ((binaries
253 (list
254 "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
255 "./utils/hpc/dist-install/build/tmp/hpc"
256 "./utils/haddock/dist/build/tmp/haddock"
257 "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
258 "./utils/runghc/dist-install/build/tmp/runghc"
259 "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
260 "./utils/hp2ps/dist/build/tmp/hp2ps"
261 "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
262 "./utils/unlit/dist/build/tmp/unlit"
263 "./ghc/stage2/build/tmp/ghc-stage2"))
264 (gmp (assoc-ref inputs "gmp"))
265 (gmp-lib (string-append gmp "/lib"))
266 (gmp-include (string-append gmp "/include"))
267 (ncurses-lib
268 (string-append (assoc-ref inputs "ncurses") "/lib"))
269 (ld-so (string-append (assoc-ref inputs "libc")
270 ,(glibc-dynamic-linker)))
271 (libtinfo-dir
272 (string-append ghc-bootstrap-prefix
273 "/lib/ghc-7.8.4/terminfo-0.4.0.0")))
274 (with-directory-excursion
0e03d76a 275 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
276 (setenv "CONFIG_SHELL" (which "bash"))
277 (setenv "LD_LIBRARY_PATH" gmp-lib)
278 ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
279 (for-each
280 (cut system* "patchelf" "--set-interpreter" ld-so <>)
281 binaries)
282 ;; The binaries include a reference to libtinfo.so.5 which
283 ;; is a subset of libncurses.so.5. We create a symlink in a
284 ;; directory included in the bootstrap binaries rpath.
285 (mkdir-p libtinfo-dir)
286 (symlink
287 (string-append ncurses-lib "/libncursesw.so."
74733195
RW
288 ;; Extract "6.0" from "6.0-20170930" if a
289 ;; dash-separated version tag exists.
ae785e5e 290 ,(let* ((v (package-version ncurses))
74733195
RW
291 (d (or (string-index v #\-)
292 (string-length v))))
ae785e5e 293 (version-major+minor (string-take v d))))
246b3437 294 (string-append libtinfo-dir "/libtinfo.so.5"))
ae785e5e 295
246b3437
FB
296 (setenv "PATH"
297 (string-append (getenv "PATH") ":"
298 ghc-bootstrap-prefix "/bin"))
299 (system*
300 (string-append (getcwd) "/configure")
301 (string-append "--prefix=" ghc-bootstrap-prefix)
302 (string-append "--with-gmp-libraries=" gmp-lib)
303 (string-append "--with-gmp-includes=" gmp-include)))))
304 (alist-cons-before
305 'configure 'install-bin
306 (lambda* (#:key inputs outputs #:allow-other-keys)
307 (with-directory-excursion
0e03d76a 308 (string-append ghc-bootstrap-path "/ghc-7.8.4")
246b3437
FB
309 (zero? (system* "make" "install"))))
310 %standard-phases)))))))
e17d5133
EB
311 (native-search-paths (list (search-path-specification
312 (variable "GHC_PACKAGE_PATH")
313 (files (list
314 (string-append "lib/ghc-" version)))
315 (file-pattern ".*\\.conf\\.d$")
316 (file-type 'directory))))
246b3437
FB
317 (home-page "https://www.haskell.org/ghc")
318 (synopsis "The Glasgow Haskell Compiler")
7d95c000
FB
319 (description
320 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
321interactive environment for the functional language Haskell.")
322 (license license:bsd-3)))
323
324(define-public ghc-8
325 (package
326 (name "ghc")
d8e85b20 327 (version "8.0.2")
7d95c000
FB
328 (source
329 (origin
330 (method url-fetch)
331 (uri (string-append "https://www.haskell.org/ghc/dist/"
332 version "/" name "-" version "-src.tar.xz"))
333 (sha256
d8e85b20
FB
334 (base32 "1c8qc4fhkycynk4g1f9hvk53dj6a1vvqi6bklqznns6hw59m8qhi"))
335 (patches
336 (search-patches
f6cccefe
DM
337 "ghc-dont-pass-linker-flags-via-response-files.patch"
338 "ghc-8.0-fall-back-to-madv_dontneed.patch"))))
7d95c000
FB
339 (build-system gnu-build-system)
340 (supported-systems '("i686-linux" "x86_64-linux"))
341 (outputs '("out" "doc"))
342 (inputs
343 `(("gmp" ,gmp)
344 ("ncurses" ,ncurses)
345 ("libffi" ,libffi)
7d95c000
FB
346 ("ghc-testsuite"
347 ,(origin
348 (method url-fetch)
349 (uri (string-append
350 "https://www.haskell.org/ghc/dist/"
351 version "/" name "-" version "-testsuite.tar.xz"))
352 (sha256
d8e85b20 353 (base32 "1wjc3x68l305bl1h1ijd3yhqp2vqj83lkp3kqbr94qmmkqlms8sj"))))))
7d95c000
FB
354 (native-inputs
355 `(("perl" ,perl)
356 ("python" ,python-2) ; for tests
357 ("ghostscript" ,ghostscript) ; for tests
358 ;; GHC is built with GHC.
e2dc97d6 359 ("ghc-bootstrap" ,ghc-7)))
7d95c000
FB
360 (arguments
361 `(#:test-target "test"
362 ;; We get a smaller number of test failures by disabling parallel test
363 ;; execution.
364 #:parallel-tests? #f
365
366 ;; The DSOs use $ORIGIN to refer to each other, but (guix build
367 ;; gremlin) doesn't support it yet, so skip this phase.
368 #:validate-runpath? #f
369
370 ;; Don't pass --build=<triplet>, because the configure script
371 ;; auto-detects slightly different triplets for --host and --target and
372 ;; then complains that they don't match.
373 #:build #f
374
7d95c000
FB
375 #:configure-flags
376 (list
377 (string-append "--with-gmp-libraries="
378 (assoc-ref %build-inputs "gmp") "/lib")
379 (string-append "--with-gmp-includes="
380 (assoc-ref %build-inputs "gmp") "/include")
381 "--with-system-libffi"
382 (string-append "--with-ffi-libraries="
383 (assoc-ref %build-inputs "libffi") "/lib")
384 (string-append "--with-ffi-includes="
385 (assoc-ref %build-inputs "libffi") "/include")
386 (string-append "--with-curses-libraries="
387 (assoc-ref %build-inputs "ncurses") "/lib")
388 (string-append "--with-curses-includes="
389 (assoc-ref %build-inputs "ncurses") "/include"))
390 #:phases
391 (modify-phases %standard-phases
392 (add-after 'unpack 'unpack-testsuite
393 (lambda* (#:key inputs #:allow-other-keys)
394 (with-directory-excursion ".."
395 (copy-file (assoc-ref inputs "ghc-testsuite")
396 "ghc-testsuite.tar.xz")
397 (zero? (system* "tar" "xvf" "ghc-testsuite.tar.xz")))))
398 (add-before 'build 'fix-lib-paths
399 (lambda _
400 (substitute*
401 (list "libraries/process/System/Process/Posix.hs"
402 "libraries/process/tests/process001.hs"
403 "libraries/process/tests/process002.hs"
404 "libraries/unix/cbits/execvpe.c")
405 (("/bin/sh") (which "sh"))
406 (("/bin/ls") (which "ls")))
407 #t))
408 (add-before 'build 'fix-environment
409 (lambda _
410 (unsetenv "GHC_PACKAGE_PATH")
411 (setenv "CONFIG_SHELL" (which "bash"))
412 #t))
413 (add-before 'check 'fix-testsuite
414 (lambda _
415 (substitute*
416 (list "testsuite/timeout/Makefile"
417 "testsuite/timeout/timeout.py"
418 "testsuite/timeout/timeout.hs"
419 "testsuite/tests/programs/life_space_leak/life.test")
420 (("/bin/sh") (which "sh"))
421 (("/bin/rm") "rm"))
d8e85b20 422 #t)))))
7d95c000
FB
423 (native-search-paths (list (search-path-specification
424 (variable "GHC_PACKAGE_PATH")
425 (files (list
426 (string-append "lib/ghc-" version)))
427 (file-pattern ".*\\.conf\\.d$")
428 (file-type 'directory))))
429 (home-page "https://www.haskell.org/ghc")
430 (synopsis "The Glasgow Haskell Compiler")
246b3437
FB
431 (description
432 "The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
433interactive environment for the functional language Haskell.")
3ac73271 434 (license license:bsd-3)))
246b3437 435
e2dc97d6
RW
436(define-public ghc ghc-8)
437
ccd7b308
EB
438(define-public ghc-hostname
439 (package
440 (name "ghc-hostname")
441 (version "1.0")
442 (source
443 (origin
444 (method url-fetch)
612fddec 445 (uri (string-append "https://hackage.haskell.org/package/hostname/"
ccd7b308
EB
446 "hostname-" version ".tar.gz"))
447 (sha256
448 (base32
449 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
450 (build-system haskell-build-system)
451 (home-page "https://hackage.haskell.org/package/hostname")
452 (synopsis "Hostname in Haskell")
453 (description "Network.HostName is a simple package providing a means to
454determine the hostname.")
3ac73271 455 (license license:bsd-3)))
ccd7b308 456
f8362eac
RW
457(define-public ghc-convertible
458 (package
459 (name "ghc-convertible")
460 (version "1.1.1.0")
461 (source
462 (origin
463 (method url-fetch)
464 (uri (string-append "https://hackage.haskell.org/package/convertible/"
465 "convertible-" version ".tar.gz"))
466 (sha256
467 (base32
468 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
469 (build-system haskell-build-system)
470 (inputs
471 `(("ghc-old-time" ,ghc-old-time)
472 ("ghc-old-locale" ,ghc-old-locale)
473 ("ghc-mtl" ,ghc-mtl)
474 ("ghc-text" ,ghc-text)))
475 (home-page "https://hackage.haskell.org/package/convertible")
476 (synopsis "Typeclasses and instances for converting between types")
477 (description
478 "This package provides a typeclass with a single function that is
479designed to help convert between different types: numeric values, dates and
480times, and the like. The conversions perform bounds checking and return a
481pure @code{Either} value. This means that you need not remember which specific
482function performs the conversion you desire.")
483 (license license:bsd-3)))
484
de866854
RW
485(define-public ghc-double-conversion
486 (package
487 (name "ghc-double-conversion")
488 (version "2.0.2.0")
489 (source
490 (origin
491 (method url-fetch)
492 (uri (string-append "https://hackage.haskell.org/package/"
493 "double-conversion/double-conversion-"
494 version ".tar.gz"))
495 (sha256
496 (base32
497 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
498 (build-system haskell-build-system)
499 (inputs `(("ghc-text" ,ghc-text)))
500 (native-inputs
501 `(("ghc-hunit" ,ghc-hunit)
502 ("ghc-test-framework" ,ghc-test-framework)
503 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
504 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
505 (home-page "https://github.com/bos/double-conversion")
506 (synopsis "Fast conversion between double precision floating point and text")
507 (description
508 "This package provides a library that performs fast, accurate conversion
509between double precision floating point and text.")
510 (license license:bsd-3)))
511
1472ba25
EB
512(define-public ghc-libxml
513 (package
514 (name "ghc-libxml")
515 (version "0.1.1")
516 (source
517 (origin
518 (method url-fetch)
98b90194 519 (uri (string-append "https://hackage.haskell.org/package/libxml/"
1472ba25
EB
520 "libxml-" version ".tar.gz"))
521 (sha256
522 (base32
523 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
524 (build-system haskell-build-system)
525 (inputs
526 `(("ghc-mtl" ,ghc-mtl)
527 ("libxml2" ,libxml2)))
528 (arguments
529 `(#:configure-flags
530 `(,(string-append "--extra-include-dirs="
531 (assoc-ref %build-inputs "libxml2")
532 "/include/libxml2"))))
98b90194 533 (home-page "https://hackage.haskell.org/package/libxml")
1472ba25
EB
534 (synopsis "Haskell bindings to libxml2")
535 (description
536 "This library provides minimal Haskell binding to libxml2.")
3ac73271 537 (license license:bsd-3)))
1472ba25 538
1e473fb8
PW
539(define-public ghc-prelude-extras
540 (package
541 (name "ghc-prelude-extras")
29466a9b 542 (version "0.4.0.3")
1e473fb8
PW
543 (source
544 (origin
545 (method url-fetch)
546 (uri (string-append
612fddec 547 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
1e473fb8
PW
548 version
549 ".tar.gz"))
550 (sha256
551 (base32
29466a9b 552 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
1e473fb8 553 (build-system haskell-build-system)
612fddec 554 (home-page "https://github.com/ekmett/prelude-extras")
1e473fb8
PW
555 (synopsis "Higher order versions of Prelude classes")
556 (description "This library provides higher order versions of
557@code{Prelude} classes to ease programming with polymorphic recursion and
558reduce @code{UndecidableInstances}.")
3ac73271 559 (license license:bsd-3)))
1e473fb8 560
1c77d0ca
SB
561(define-public ghc-data-default
562 (package
563 (name "ghc-data-default")
f9cb5105 564 (version "0.7.1.1")
1c77d0ca
SB
565 (source
566 (origin
567 (method url-fetch)
568 (uri (string-append
612fddec 569 "https://hackage.haskell.org/package/data-default/data-default-"
1c77d0ca
SB
570 version
571 ".tar.gz"))
572 (sha256
f9cb5105 573 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
1c77d0ca 574 (build-system haskell-build-system)
2d47cee2 575 (inputs
1c77d0ca
SB
576 `(("ghc-data-default-class"
577 ,ghc-data-default-class)
578 ("ghc-data-default-instances-base"
579 ,ghc-data-default-instances-base)
580 ("ghc-data-default-instances-containers"
581 ,ghc-data-default-instances-containers)
582 ("ghc-data-default-instances-dlist"
583 ,ghc-data-default-instances-dlist)
584 ("ghc-data-default-instances-old-locale"
585 ,ghc-data-default-instances-old-locale)))
612fddec 586 (home-page "https://hackage.haskell.org/package/data-default")
1c77d0ca
SB
587 (synopsis "Types with default values")
588 (description
589 "This package defines a class for types with a default value, and
590provides instances for types from the base, containers, dlist and old-locale
591packages.")
3ac73271 592 (license license:bsd-3)))
1c77d0ca 593
5079a0af
SB
594(define-public ghc-data-default-class
595 (package
596 (name "ghc-data-default-class")
f378ea16 597 (version "0.1.2.0")
5079a0af
SB
598 (source
599 (origin
600 (method url-fetch)
601 (uri (string-append
612fddec 602 "https://hackage.haskell.org/package/data-default-class/"
5079a0af
SB
603 "data-default-class-" version ".tar.gz"))
604 (sha256
f378ea16 605 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
5079a0af 606 (build-system haskell-build-system)
612fddec 607 (home-page "https://hackage.haskell.org/package/data-default-class")
5079a0af
SB
608 (synopsis "Types with default values")
609 (description
610 "This package defines a class for types with default values.")
3ac73271 611 (license license:bsd-3)))
5079a0af 612
9deb95aa
SB
613(define-public ghc-data-default-instances-base
614 (package
615 (name "ghc-data-default-instances-base")
64a6954b 616 (version "0.1.0.1")
9deb95aa
SB
617 (source
618 (origin
619 (method url-fetch)
620 (uri (string-append
612fddec 621 "https://hackage.haskell.org/package/"
9deb95aa
SB
622 "data-default-instances-base/"
623 "data-default-instances-base-" version ".tar.gz"))
624 (sha256
64a6954b 625 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
9deb95aa 626 (build-system haskell-build-system)
2d47cee2 627 (inputs
9deb95aa 628 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 629 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
9deb95aa
SB
630 (synopsis "Default instances for types in base")
631 (description
632 "This package provides default instances for types from the base
633package.")
3ac73271 634 (license license:bsd-3)))
9deb95aa 635
77a23be2
SB
636(define-public ghc-data-default-instances-containers
637 (package
638 (name "ghc-data-default-instances-containers")
639 (version "0.0.1")
640 (source
641 (origin
642 (method url-fetch)
643 (uri (string-append
612fddec 644 "https://hackage.haskell.org/package/"
77a23be2
SB
645 "data-default-instances-containers/"
646 "data-default-instances-containers-" version ".tar.gz"))
647 (sha256
648 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
649 (build-system haskell-build-system)
2d47cee2 650 (inputs
77a23be2 651 `(("ghc-data-default-class" ,ghc-data-default-class)))
612fddec 652 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
77a23be2
SB
653 (synopsis "Default instances for types in containers")
654 (description "Provides default instances for types from the containers
655package.")
3ac73271 656 (license license:bsd-3)))
77a23be2 657
4271d134
SB
658(define-public ghc-data-default-instances-dlist
659 (package
660 (name "ghc-data-default-instances-dlist")
661 (version "0.0.1")
662 (source
663 (origin
664 (method url-fetch)
665 (uri (string-append
612fddec 666 "https://hackage.haskell.org/package/"
4271d134
SB
667 "data-default-instances-dlist/"
668 "data-default-instances-dlist-" version ".tar.gz"))
669 (sha256
670 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
671 (build-system haskell-build-system)
2d47cee2 672 (inputs
4271d134
SB
673 `(("ghc-data-default-class" ,ghc-data-default-class)
674 ("ghc-dlist" ,ghc-dlist)))
612fddec 675 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
4271d134
SB
676 (synopsis "Default instances for types in dlist")
677 (description "Provides default instances for types from the dlist
678package.")
3ac73271 679 (license license:bsd-3)))
4271d134 680
df7309fc
PM
681(define-public ghc-code-page
682 (package
683 (name "ghc-code-page")
684 (version "0.1.3")
685 (source
686 (origin
687 (method url-fetch)
688 (uri (string-append
689 "https://hackage.haskell.org/package/code-page/code-page-"
690 version ".tar.gz"))
691 (sha256
692 (base32
693 "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76"))))
694 (build-system haskell-build-system)
695 (home-page "https://github.com/RyanGlScott/code-page")
696 (synopsis "Windows code page library for Haskell")
697 (description "A cross-platform library with functions for adjusting
698code pages on Windows. On all other operating systems, the library does
699nothing.")
700 (license license:bsd-3)))
701
56b3bc56 702(define-public ghc-haddock-library
eb6ae860 703 (package
56b3bc56 704 (name "ghc-haddock-library")
354902e4 705 (version "1.4.3")
eb6ae860
SB
706 (source
707 (origin
708 (method url-fetch)
709 (uri (string-append
612fddec 710 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
eb6ae860
SB
711 version
712 ".tar.gz"))
713 (sha256
56b3bc56 714 (base32
354902e4 715 "0ns4bpf6whmcfl0cm2gx2c73if416x4q3ac4l4qm8w84h0zpcr7p"))))
eb6ae860 716 (build-system haskell-build-system)
56b3bc56 717 (inputs
354902e4
RW
718 `(("ghc-base-compat" ,ghc-base-compat)))
719 (native-inputs
720 `(("hspec-discover" ,hspec-discover)
56b3bc56
PW
721 ("ghc-hspec" ,ghc-hspec)
722 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 723 (home-page "https://www.haskell.org/haddock/")
354902e4 724 (synopsis "Library exposing some functionality of Haddock")
eb6ae860 725 (description
56b3bc56
PW
726 "Haddock is a documentation-generation tool for Haskell libraries. These
727modules expose some functionality of it without pulling in the GHC dependency.
728Please note that the API is likely to change so specify upper bounds in your
729project if you can't release often. For interacting with Haddock itself, see
730the ‘haddock’ package.")
3ac73271 731 (license license:bsd-3)))
eb6ae860 732
735bd9c9 733(define-public ghc-haddock-api
05b964ae 734 (package
735bd9c9 735 (name "ghc-haddock-api")
a559c26c
RW
736 ;; This is the last version to be supported by Cabal < 2.0
737 (version "2.17.4")
05b964ae
SB
738 (source
739 (origin
740 (method url-fetch)
735bd9c9 741 (uri (string-append
612fddec 742 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
735bd9c9
PW
743 version
744 ".tar.gz"))
05b964ae 745 (sha256
735bd9c9 746 (base32
a559c26c 747 "00fn6pzgg8xjbaw12d76jdqh2dbc5xy7miyz0x6kidvvar7i35ss"))))
05b964ae 748 (build-system haskell-build-system)
2d47cee2 749 (inputs
735bd9c9
PW
750 `(("ghc-paths" ,ghc-paths)
751 ("ghc-haddock-library" ,ghc-haddock-library)))
a559c26c
RW
752 (native-inputs
753 `(("ghc-quickcheck" ,ghc-quickcheck)
754 ("ghc-hspec" ,ghc-hspec)
755 ("hspec-discover" ,hspec-discover)))
98b90194 756 (home-page "https://www.haskell.org/haddock/")
735bd9c9
PW
757 (synopsis "API for documentation-generation tool Haddock")
758 (description "This package provides an API to Haddock, the
759documentation-generation tool for Haskell libraries.")
3ac73271 760 (license license:bsd-3)))
05b964ae 761
35182fa2
RW
762(define-public ghc-haddock-test
763 (package
764 (name "ghc-haddock-test")
765 (version "0.0.1")
766 (source
767 (origin
768 (method url-fetch)
769 (uri (string-append "https://hackage.haskell.org/package/"
770 "haddock-test/haddock-test-"
771 version ".tar.gz"))
772 (sha256
773 (base32
774 "1ax8fnfrwx66csj952f3virxzapipan9da7z5l1zc12nqkifbs7w"))))
775 (build-system haskell-build-system)
776 (inputs
777 `(("ghc-xml" ,ghc-xml)
778 ("ghc-syb" ,ghc-syb)))
779 (home-page "http://www.haskell.org/haddock/")
780 (synopsis "Test utilities for Haddock")
781 (description "This package provides test utilities for Haddock.")
782 (license license:bsd-3)))
783
e0492a8d 784(define-public ghc-haddock
7d5baa30 785 (package
e0492a8d 786 (name "ghc-haddock")
613845d0 787 (version "2.17.4")
7d5baa30
FB
788 (source
789 (origin
790 (method url-fetch)
791 (uri (string-append
612fddec 792 "https://hackage.haskell.org/package/haddock/haddock-"
7d5baa30
FB
793 version
794 ".tar.gz"))
795 (sha256
796 (base32
613845d0 797 "1z3h3v7w84dzsm47iavdppc2w899mr4c1agq9fzghgz902i0a655"))))
7d5baa30 798 (build-system haskell-build-system)
613845d0
RW
799 ;; FIXME: Tests fail with this error:
800 ;; driver-test/Main.hs:4:1: error:
801 ;; Failed to load interface for ‘ResponseFileSpec’
802 (arguments `(#:tests? #f))
e0492a8d 803 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
613845d0
RW
804 (native-inputs
805 `(("ghc-hspec" ,ghc-hspec)
806 ("ghc-haddock-test" ,ghc-haddock-test)))
98b90194 807 (home-page "https://www.haskell.org/haddock/")
7d5baa30 808 (synopsis
e0492a8d 809 "Documentation-generation tool for Haskell libraries")
7d5baa30 810 (description
e0492a8d 811 "Haddock is a documentation-generation tool for Haskell libraries.")
3ac73271 812 (license license:bsd-3)))
7d5baa30 813
6729152d 814(define-public ghc-simple-reflect
0939da6e 815 (package
6729152d
PW
816 (name "ghc-simple-reflect")
817 (version "0.3.2")
0939da6e
FB
818 (source
819 (origin
820 (method url-fetch)
821 (uri (string-append
612fddec 822 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
0939da6e
FB
823 version
824 ".tar.gz"))
825 (sha256
826 (base32
6729152d 827 "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq"))))
0939da6e 828 (build-system haskell-build-system)
6729152d 829 (home-page
98b90194 830 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
0939da6e 831 (synopsis
6729152d 832 "Simple reflection of expressions containing variables")
0939da6e 833 (description
6729152d
PW
834 "This package allows simple reflection of expressions containing
835variables. Reflection here means that a Haskell expression is turned into a
836string. The primary aim of this package is teaching and understanding; there
837are no options for manipulating the reflected expressions beyond showing
838them.")
3ac73271 839 (license license:bsd-3)))
0939da6e 840
e0d17b84 841(define-public ghc-haskell-src
3d3613d5 842 (package
e0d17b84
PW
843 (name "ghc-haskell-src")
844 (version "1.0.2.0")
3d3613d5
FB
845 (source
846 (origin
847 (method url-fetch)
848 (uri (string-append
612fddec 849 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
3d3613d5
FB
850 version
851 ".tar.gz"))
852 (sha256
853 (base32
e0d17b84 854 "19lilhpwnjb7cks9fq1ipnc8f7dwxy0ri3dgjkdxs3i355byw99a"))))
3d3613d5 855 (build-system haskell-build-system)
e0d17b84
PW
856 (inputs
857 `(("ghc-happy" ,ghc-happy)
858 ("ghc-syb" ,ghc-syb)))
859 (home-page
612fddec 860 "https://hackage.haskell.org/package/haskell-src")
3d3613d5 861 (synopsis
e0d17b84 862 "Support for manipulating Haskell source code")
3d3613d5 863 (description
e0d17b84
PW
864 "The 'haskell-src' package provides support for manipulating Haskell
865source code. The package provides a lexer, parser and pretty-printer, and a
866definition of a Haskell abstract syntax tree (AST). Common uses of this
867package are to parse or generate Haskell 98 code.")
3ac73271 868 (license license:bsd-3)))
3d3613d5 869
e40b2543 870(define-public ghc-alex
a39f3936 871 (package
e40b2543 872 (name "ghc-alex")
8301d739 873 (version "3.2.3")
a39f3936
FB
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append
612fddec 878 "https://hackage.haskell.org/package/alex/alex-"
a39f3936
FB
879 version
880 ".tar.gz"))
881 (sha256
882 (base32
8301d739 883 "0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs"))))
a39f3936 884 (build-system haskell-build-system)
e40b2543 885 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 886 (home-page "https://www.haskell.org/alex/")
e40b2543
PW
887 (synopsis
888 "Tool for generating lexical analysers in Haskell")
a39f3936 889 (description
e40b2543
PW
890 "Alex is a tool for generating lexical analysers in Haskell. It takes a
891description of tokens based on regular expressions and generates a Haskell
892module containing code for scanning text efficiently. It is similar to the
893tool lex or flex for C/C++.")
3ac73271 894 (license license:bsd-3)))
a39f3936 895
1f477b59 896(define-public ghc-cgi
e916e211 897 (package
1f477b59 898 (name "ghc-cgi")
22b439db 899 (version "3001.3.0.2")
e916e211
FB
900 (source
901 (origin
902 (method url-fetch)
903 (uri (string-append
612fddec 904 "https://hackage.haskell.org/package/cgi/cgi-"
e916e211
FB
905 version
906 ".tar.gz"))
907 (sha256
908 (base32
22b439db 909 "1hbpplss1m4rdpm4ibip6fpimlhssqa14fl338kl2jbc463i64cj"))))
e916e211 910 (build-system haskell-build-system)
22b439db
RW
911 (arguments
912 `(#:configure-flags (list "--allow-newer=QuickCheck")))
1f477b59
PW
913 (inputs
914 `(("ghc-parsec" ,ghc-parsec)
1f477b59
PW
915 ("ghc-exceptions" ,ghc-exceptions)
916 ("ghc-multipart" ,ghc-multipart)
917 ("ghc-network-uri" ,ghc-network-uri)
918 ("ghc-network" ,ghc-network)
919 ("ghc-mtl" ,ghc-mtl)))
22b439db
RW
920 (native-inputs
921 `(("ghc-doctest" ,ghc-doctest)
922 ("ghc-quickcheck" ,ghc-quickcheck)))
1f477b59
PW
923 (home-page
924 "https://github.com/cheecheeo/haskell-cgi")
925 (synopsis "Library for writing CGI programs")
e916e211 926 (description
1f477b59 927 "This is a Haskell library for writing CGI programs.")
3ac73271 928 (license license:bsd-3)))
e916e211 929
0ba56364 930(define-public ghc-cmdargs
deb36de0 931 (package
0ba56364 932 (name "ghc-cmdargs")
bfd2ebda 933 (version "0.10.18")
deb36de0
FB
934 (source
935 (origin
936 (method url-fetch)
937 (uri (string-append
612fddec 938 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
bfd2ebda 939 version ".tar.gz"))
deb36de0
FB
940 (sha256
941 (base32
bfd2ebda 942 "1lnmcsf6p9yrwwz1zvrw5lbc32xpff7b70yz4ylawaflnlz6wrlh"))))
deb36de0 943 (build-system haskell-build-system)
0ba56364
PW
944 (home-page
945 "http://community.haskell.org/~ndm/cmdargs/")
946 (synopsis "Command line argument processing")
deb36de0 947 (description
0ba56364 948 "This library provides an easy way to define command line parsers.")
3ac73271 949 (license license:bsd-3)))
deb36de0 950
839415ec
LC
951(define-public ghc-concatenative
952 (package
953 (name "ghc-concatenative")
954 (version "1.0.1")
955 (source (origin
956 (method url-fetch)
957 (uri (string-append
612fddec 958 "https://hackage.haskell.org/package/concatenative/concatenative-"
839415ec
LC
959 version ".tar.gz"))
960 (sha256
961 (base32
962 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
963 (build-system haskell-build-system)
964 (home-page
965 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
966 (synopsis "Library for postfix control flow")
967 (description
968 "Concatenative gives Haskell Factor-style combinators and arrows for
969postfix notation. For more information on stack based languages, see
98b90194 970@uref{https://concatenative.org}.")
839415ec
LC
971 (license license:bsd-3)))
972
81da1a45 973(define-public ghc-happy
775be802 974 (package
81da1a45 975 (name "ghc-happy")
ead48d05 976 (version "1.19.8")
775be802
FB
977 (source
978 (origin
979 (method url-fetch)
980 (uri (string-append
612fddec 981 "https://hackage.haskell.org/package/happy/happy-"
775be802
FB
982 version
983 ".tar.gz"))
984 (sha256
985 (base32
ead48d05 986 "186ky3bly0i3cc56qk3r7j7pxh2108aackq4n2lli7jmbnb3kxsd"))))
775be802 987 (build-system haskell-build-system)
2d47cee2 988 (inputs
81da1a45
PW
989 `(("ghc-mtl" ,ghc-mtl)))
990 (home-page "https://hackage.haskell.org/package/happy")
991 (synopsis "Parser generator for Haskell")
992 (description "Happy is a parser generator for Haskell. Given a grammar
993specification in BNF, Happy generates Haskell code to parse the grammar.
994Happy works in a similar way to the yacc tool for C.")
3ac73271 995 (license license:bsd-3)))
775be802 996
b9a64a36
RW
997(define-public ghc-haskell-lexer
998 (package
999 (name "ghc-haskell-lexer")
1000 (version "1.0.1")
1001 (source
1002 (origin
1003 (method url-fetch)
1004 (uri (string-append
1005 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
1006 version ".tar.gz"))
1007 (sha256
1008 (base32
1009 "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p"))))
1010 (build-system haskell-build-system)
1011 (home-page "http://hackage.haskell.org/package/haskell-lexer")
1012 (synopsis "Fully compliant Haskell 98 lexer")
1013 (description
1014 "This package provides a fully compliant Haskell 98 lexer.")
1015 (license license:bsd-3)))
1016
f30b7538
RW
1017(define-public ghc-pretty-show
1018 (package
1019 (name "ghc-pretty-show")
1020 (version "1.6.12")
1021 (source
1022 (origin
1023 (method url-fetch)
1024 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1025 "pretty-show-" version ".tar.gz"))
1026 (sha256
1027 (base32
1028 "1fblcxw4z4ry14brin1mvwccs6hqqlhi7xhwv1f23szjq25cjacn"))))
1029 (build-system haskell-build-system)
1030 (inputs
1031 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
1032 ("ghc-happy" ,ghc-happy)))
1033 (home-page "http://wiki.github.com/yav/pretty-show")
1034 (synopsis "Tools for working with derived `Show` instances")
1035 (description
1036 "This package provides a library and an executable for working with
1037derived @code{Show} instances. By using the library, derived @code{Show}
1038instances can be parsed into a generic data structure. The @code{ppsh} tool
1039uses the library to produce human-readable versions of @code{Show} instances,
1040which can be quite handy for debugging Haskell programs. We can also render
1041complex generic values into an interactive Html page, for easier
1042examination.")
1043 (license license:expat)))
1044
e0ba59a9
RW
1045(define-public ghc-pretty-show-for-haskell-src-exts
1046 (package (inherit ghc-pretty-show)
1047 (name "ghc-pretty-show")
1048 (version "1.6.10")
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
1053 "pretty-show-" version ".tar.gz"))
1054 (sha256
1055 (base32
1056 "133s4l1gk46saf6ycm785rswycy8g3j0qqrv93b5wp8cp50kd0ww"))))))
1057
6ff19687 1058(define-public ghc-haskell-src-exts
c3b90c0e 1059 (package
6ff19687 1060 (name "ghc-haskell-src-exts")
f707b243 1061 (version "1.20.1")
c3b90c0e
FB
1062 (source
1063 (origin
1064 (method url-fetch)
1065 (uri (string-append
612fddec 1066 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
c3b90c0e
FB
1067 version
1068 ".tar.gz"))
1069 (sha256
1070 (base32
f707b243 1071 "1jsjl9hja2dpcfq4mzlfpwyr6axwnwgacfb7aa070kz4lbygzaa8"))))
c3b90c0e 1072 (build-system haskell-build-system)
2d47cee2 1073 (inputs
6ff19687 1074 `(("cpphs" ,cpphs)
6ff19687 1075 ("ghc-happy" ,ghc-happy)
f707b243
RW
1076 ("ghc-mtl" ,ghc-mtl)
1077 ("ghc-pretty-show" ,ghc-pretty-show-for-haskell-src-exts)))
172bb3b8
RW
1078 (native-inputs
1079 `(("ghc-smallcheck" ,ghc-smallcheck)
1080 ("ghc-tasty" ,ghc-tasty)
1081 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
1082 ("ghc-tasty-golden" ,ghc-tasty-golden)))
6ff19687
PW
1083 (home-page "https://github.com/haskell-suite/haskell-src-exts")
1084 (synopsis "Library for manipulating Haskell source")
1085 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
1086extension of the standard @code{haskell-src} package, and handles most
1087registered syntactic extensions to Haskell. All extensions implemented in GHC
1088are supported. Apart from these standard extensions, it also handles regular
1089patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
3ac73271 1090 (license license:bsd-3)))
c3b90c0e 1091
3657bd1f
RW
1092(define-public ghc-haskell-src-exts-util
1093 (package
1094 (name "ghc-haskell-src-exts-util")
1095 (version "0.2.2")
1096 (source
1097 (origin
1098 (method url-fetch)
1099 (uri (string-append "https://hackage.haskell.org/package/"
1100 "haskell-src-exts-util/haskell-src-exts-util-"
1101 version ".tar.gz"))
1102 (sha256
1103 (base32
1104 "14rhwcrdz3kfb69c64qn8kybl7wnpajrjlfz5p95ca4bva4mwclg"))))
1105 (build-system haskell-build-system)
1106 (inputs
1107 `(("ghc-data-default" ,ghc-data-default)
1108 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
1109 ("ghc-semigroups" ,ghc-semigroups)
1110 ("ghc-uniplate" ,ghc-uniplate)))
1111 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
1112 (synopsis "Helper functions for working with haskell-src-exts trees")
1113 (description
1114 "This package provides helper functions for working with
1115@code{haskell-src-exts} trees.")
1116 (license license:bsd-3)))
1117
b28f0ffa
RW
1118(define-public ghc-refact
1119 (package
1120 (name "ghc-refact")
1121 (version "0.3.0.2")
1122 (source
1123 (origin
1124 (method url-fetch)
1125 (uri (string-append "https://hackage.haskell.org/package/"
1126 "refact/refact-"
1127 version ".tar.gz"))
1128 (sha256
1129 (base32
1130 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
1131 (build-system haskell-build-system)
1132 (home-page "http://hackage.haskell.org/package/refact")
1133 (synopsis "Specify refactorings to perform with apply-refact")
1134 (description
1135 "This library provides a datatype which can be interpreted by
add928d3 1136@code{apply-refact}. It exists as a separate library so that applications can
b28f0ffa
RW
1137specify refactorings without depending on GHC.")
1138 (license license:bsd-3)))
1139
6397aef0 1140(define-public hlint
df596b94 1141 (package
6397aef0 1142 (name "hlint")
5b367a1a 1143 (version "2.1.1")
df596b94
FB
1144 (source
1145 (origin
1146 (method url-fetch)
1147 (uri (string-append
612fddec 1148 "https://hackage.haskell.org/package/" name
6397aef0 1149 "/" name "-" version ".tar.gz"))
df596b94 1150 (sha256
6397aef0 1151 (base32
5b367a1a 1152 "0mmfavd158l5ig5wb1b1zbhbraj8hhqvbk4mg85n6c8ndpr4grd4"))))
df596b94 1153 (build-system haskell-build-system)
6397aef0
PW
1154 (inputs
1155 `(("cpphs" ,cpphs)
780185cc
RW
1156 ("ghc-unordered-containers" ,ghc-unordered-containers)
1157 ("ghc-yaml" ,ghc-yaml)
1158 ("ghc-vector" ,ghc-vector)
1159 ("ghc-text" ,ghc-text)
1160 ("ghc-data-default" ,ghc-data-default)
6397aef0
PW
1161 ("ghc-cmdargs" ,ghc-cmdargs)
1162 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
780185cc 1163 ("ghc-haskell-src-exts-util" ,ghc-haskell-src-exts-util)
6397aef0
PW
1164 ("ghc-uniplate" ,ghc-uniplate)
1165 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1166 ("ghc-extra" ,ghc-extra)
780185cc
RW
1167 ("ghc-refact" ,ghc-refact)
1168 ("ghc-aeson" ,ghc-aeson)
6397aef0
PW
1169 ("hscolour" ,hscolour)))
1170 (home-page "http://community.haskell.org/~ndm/hlint/")
1171 (synopsis "Suggest improvements for Haskell source code")
1172 (description "HLint reads Haskell programs and suggests changes that
1173hopefully make them easier to read. HLint also makes it easy to disable
1174unwanted suggestions, and to add your own custom suggestions.")
3ac73271 1175 (license license:bsd-3)))
4af803a7 1176
85b2a2f5 1177(define-public ghc-resourcet
4af803a7 1178 (package
85b2a2f5 1179 (name "ghc-resourcet")
990cd5ef 1180 (version "1.2.1")
4af803a7
FB
1181 (source
1182 (origin
1183 (method url-fetch)
990cd5ef
RW
1184 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
1185 "resourcet-" version ".tar.gz"))
4af803a7
FB
1186 (sha256
1187 (base32
990cd5ef 1188 "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7"))))
4af803a7 1189 (build-system haskell-build-system)
2d47cee2 1190 (inputs
85b2a2f5
PW
1191 `(("ghc-transformers-base" ,ghc-transformers-base)
1192 ("ghc-monad-control" ,ghc-monad-control)
1193 ("ghc-transformers-compat" ,ghc-transformers-compat)
1194 ("ghc-mtl" ,ghc-mtl)
1195 ("ghc-mmorph" ,ghc-mmorph)
990cd5ef
RW
1196 ("ghc-exceptions" ,ghc-exceptions)
1197 ("ghc-unliftio-core" ,ghc-unliftio-core)))
2d47cee2 1198 (native-inputs
85b2a2f5
PW
1199 `(("ghc-lifted-base" ,ghc-lifted-base)
1200 ("ghc-hspec" ,ghc-hspec)))
612fddec 1201 (home-page "https://github.com/snoyberg/conduit")
85b2a2f5
PW
1202 (synopsis "Deterministic allocation and freeing of scarce resources")
1203 (description "ResourceT is a monad transformer which creates a region of
1204code where you can safely allocate resources.")
3ac73271 1205 (license license:bsd-3)))
4af803a7 1206
74fa80ee 1207(define-public ghc-objectname
dc0ae39a 1208 (package
74fa80ee 1209 (name "ghc-objectname")
1d9d3ec2 1210 (version "1.1.0.1")
dc0ae39a
FB
1211 (source
1212 (origin
1213 (method url-fetch)
1214 (uri (string-append
612fddec 1215 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
dc0ae39a
FB
1216 version
1217 ".tar.gz"))
1218 (sha256
1219 (base32
1d9d3ec2 1220 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
dc0ae39a 1221 (build-system haskell-build-system)
74fa80ee
PW
1222 (home-page "https://hackage.haskell.org/package/ObjectName")
1223 (synopsis "Helper library for Haskell OpenGL")
1224 (description "This tiny package contains the class ObjectName, which
1225corresponds to the general notion of explicitly handled identifiers for API
1226objects, e.g. a texture object name in OpenGL or a buffer object name in
1227OpenAL.")
3ac73271 1228 (license license:bsd-3)))
dc0ae39a 1229
b784e8c5 1230(define-public ghc-sdl
7a1e8c74 1231 (package
b784e8c5
PW
1232 (name "ghc-sdl")
1233 (version "0.6.5.1")
7a1e8c74
FB
1234 (source
1235 (origin
1236 (method url-fetch)
1237 (uri (string-append
612fddec 1238 "https://hackage.haskell.org/package/SDL/SDL-"
7a1e8c74
FB
1239 version
1240 ".tar.gz"))
1241 (sha256
1242 (base32
b784e8c5 1243 "1sa3zx3vrs1gbinxx33zwq0x2bsf3i964bff7419p7vzidn36k46"))))
7a1e8c74
FB
1244 (build-system haskell-build-system)
1245 (inputs
b784e8c5
PW
1246 `(("sdl" ,sdl)))
1247 (home-page "https://hackage.haskell.org/package/SDL")
1248 (synopsis "LibSDL for Haskell")
1249 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
1250multimedia library designed to provide low level access to audio, keyboard,
1251mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
1252by MPEG playback software, emulators, and many popular games, including the
1253award winning Linux port of \"Civilization: Call To Power.\"")
3ac73271 1254 (license license:bsd-3)))
7a1e8c74 1255
224a0ddb 1256(define-public ghc-sdl-mixer
eaa3088e 1257 (package
224a0ddb 1258 (name "ghc-sdl-mixer")
4123cb7f 1259 (version "0.6.2.0")
eaa3088e
FB
1260 (source
1261 (origin
1262 (method url-fetch)
1263 (uri (string-append
612fddec 1264 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
eaa3088e
FB
1265 version
1266 ".tar.gz"))
1267 (sha256
1268 (base32
4123cb7f 1269 "1fhray79d80dk2aj9mx3ks05mm48sd832g8zgxli226jx471fs8r"))))
eaa3088e 1270 (build-system haskell-build-system)
224a0ddb
PW
1271 (arguments
1272 `(#:configure-flags
1273 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
1274 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
fd59d2ee 1275 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
eaa3088e 1276 (inputs
2d47cee2
RW
1277 `(("ghc-sdl" ,ghc-sdl)
1278 ("sdl-mixer" ,sdl-mixer)))
612fddec 1279 (home-page "https://hackage.haskell.org/package/SDL-mixer")
224a0ddb
PW
1280 (synopsis "Haskell bindings to libSDL_mixer")
1281 (description "SDL_mixer is a sample multi-channel audio mixer library. It
1282supports any number of simultaneously playing channels of 16 bit stereo audio,
1283plus a single channel of music, mixed by the popular MikMod MOD, Timidity
1284MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
3ac73271 1285 (license license:bsd-3)))
eaa3088e 1286
c783cac0 1287(define-public ghc-sdl-image
61c02099 1288 (package
c783cac0 1289 (name "ghc-sdl-image")
4fa53bd3 1290 (version "0.6.1.2")
61c02099
FB
1291 (source
1292 (origin
1293 (method url-fetch)
1294 (uri (string-append
612fddec 1295 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
61c02099
FB
1296 version
1297 ".tar.gz"))
1298 (sha256
1299 (base32
4fa53bd3 1300 "1ybdwlqi5nqzpsbh2md5mxhwmjn910iqysf6nykwjxlmvhcjk281"))))
61c02099 1301 (build-system haskell-build-system)
61c02099 1302 (arguments
c783cac0
PW
1303 `(#:configure-flags
1304 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
1305 (sdl-image-include (string-append sdl-image "/include/SDL")))
fd59d2ee 1306 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
c783cac0 1307 (inputs
2d47cee2
RW
1308 `(("ghc-sdl" ,ghc-sdl)
1309 ("sdl-image" ,sdl-image)))
612fddec 1310 (home-page "https://hackage.haskell.org/package/SDL-image")
c783cac0
PW
1311 (synopsis "Haskell bindings to libSDL_image")
1312 (description "SDL_image is an image file loading library. It loads images
1313as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
1314PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
3ac73271 1315 (license license:bsd-3)))
61c02099 1316
22db3ce7 1317(define-public ghc-half
c5043f4a 1318 (package
22db3ce7 1319 (name "ghc-half")
f1c2aed7 1320 (version "0.2.2.3")
c5043f4a
FB
1321 (source
1322 (origin
1323 (method url-fetch)
1324 (uri (string-append
612fddec 1325 "https://hackage.haskell.org/package/half/half-"
f1c2aed7 1326 version ".tar.gz"))
c5043f4a
FB
1327 (sha256
1328 (base32
f1c2aed7 1329 "0p4sb7vv9cljv48wlx65wgdnkryrk5d6yfh7g4yrm20w1p449hl5"))))
c5043f4a 1330 (build-system haskell-build-system)
612fddec 1331 (home-page "https://github.com/ekmett/half")
22db3ce7
PW
1332 (synopsis "Half-precision floating-point computations")
1333 (description "This library provides a half-precision floating-point
1334computation library for Haskell.")
3ac73271 1335 (license license:bsd-3)))
c5043f4a 1336
0ffea6f2
RW
1337(define-public ghc-fixed
1338 (package
1339 (name "ghc-fixed")
1340 (version "0.2.1.1")
1341 (source
1342 (origin
1343 (method url-fetch)
1344 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
1345 version ".tar.gz"))
1346 (sha256
1347 (base32
1348 "1qhmwx8iqshns0crmr9d2f8hm65jxbcp3dvv0c39v34ra7if3a94"))))
1349 (build-system haskell-build-system)
1350 (home-page "https://github.com/ekmett/fixed")
1351 (synopsis "Signed 15.16 precision fixed point arithmetic")
1352 (description
1353 "This package provides functions for signed 15.16 precision fixed point
1354arithmetic.")
1355 (license license:bsd-3)))
1356
c480b85e 1357(define-public ghc-openglraw
01a687da 1358 (package
c480b85e 1359 (name "ghc-openglraw")
e80e97b5 1360 (version "3.2.7.0")
01a687da
FB
1361 (source
1362 (origin
1363 (method url-fetch)
1364 (uri (string-append
612fddec 1365 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
01a687da
FB
1366 version
1367 ".tar.gz"))
1368 (sha256
1369 (base32
e80e97b5 1370 "024aln102d1mmsdalq9jd5mmwjbnrb8gxcak73lybrc7q87kswk2"))))
01a687da
FB
1371 (build-system haskell-build-system)
1372 (inputs
c480b85e 1373 `(("ghc-half" ,ghc-half)
e80e97b5 1374 ("ghc-fixed" ,ghc-fixed)
c480b85e
PW
1375 ("glu" ,glu)
1376 ("ghc-text" ,ghc-text)))
98b90194 1377 (home-page "https://www.haskell.org/haskellwiki/Opengl")
c480b85e
PW
1378 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
1379 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
1380graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
1381of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
1382offers access to all necessary functions, tokens and types plus a general
1383facility for loading extension entries. The module hierarchy closely mirrors
1384the naming structure of the OpenGL extensions, making it easy to find the
1385right module to import. All API entries are loaded dynamically, so no special
1386C header files are needed for building this package. If an API entry is not
1387found at runtime, a userError is thrown.")
3ac73271 1388 (license license:bsd-3)))
01a687da 1389
bce03084 1390(define-public ghc-glut
d692228e 1391 (package
bce03084 1392 (name "ghc-glut")
8951861c 1393 (version "2.7.0.10")
d692228e
FB
1394 (source
1395 (origin
1396 (method url-fetch)
1397 (uri (string-append
612fddec 1398 "https://hackage.haskell.org/package/GLUT/GLUT-"
d692228e
FB
1399 version
1400 ".tar.gz"))
1401 (sha256
1402 (base32
8951861c 1403 "0sbm943bg896nf3qjmlnsg3zzrr3pl330rzh9g0hwv47nzwwn4ab"))))
d692228e 1404 (build-system haskell-build-system)
2d47cee2 1405 (inputs
bce03084 1406 `(("ghc-statevar" ,ghc-statevar)
2d47cee2 1407 ("ghc-opengl" ,ghc-opengl)
dd169b73 1408 ("ghc-openglraw" ,ghc-openglraw)
bce03084 1409 ("freeglut" ,freeglut)))
98b90194 1410 (home-page "https://www.haskell.org/haskellwiki/Opengl")
bce03084
PW
1411 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
1412 (description "This library provides Haskell bindings for the OpenGL
1413Utility Toolkit, a window system-independent toolkit for writing OpenGL
1414programs.")
3ac73271 1415 (license license:bsd-3)))
d692228e 1416
894562e3 1417(define-public ghc-gluraw
fa468e87 1418 (package
894562e3 1419 (name "ghc-gluraw")
a36c03b2 1420 (version "2.0.0.2")
fa468e87
FB
1421 (source
1422 (origin
1423 (method url-fetch)
1424 (uri (string-append
612fddec 1425 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
fa468e87
FB
1426 version
1427 ".tar.gz"))
1428 (sha256
894562e3 1429 (base32
a36c03b2 1430 "1phmvxr0kkxq89ykmr8rj77inj8dvcxd6h72z1ncdgdazfz3sjw8"))))
fa468e87 1431 (build-system haskell-build-system)
2d47cee2 1432 (inputs
894562e3 1433 `(("ghc-openglraw" ,ghc-openglraw)))
98b90194 1434 (home-page "https://www.haskell.org/haskellwiki/Opengl")
894562e3
PW
1435 (synopsis "Raw Haskell bindings GLU")
1436 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
1437utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
1438basis for a nicer interface.")
3ac73271 1439 (license license:bsd-3)))
fa468e87 1440
fe28ba70 1441(define-public ghc-opengl
f50fc138 1442 (package
fe28ba70 1443 (name "ghc-opengl")
aad2e837 1444 (version "3.0.1.0")
f50fc138
FB
1445 (source
1446 (origin
1447 (method url-fetch)
1448 (uri (string-append
612fddec 1449 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
f50fc138
FB
1450 version
1451 ".tar.gz"))
1452 (sha256
1453 (base32
aad2e837 1454 "1nm2mzrn1h2nnfs9vl5p088hqpll7rdvcsyqsn8q641im9jhqp7l"))))
f50fc138 1455 (build-system haskell-build-system)
2d47cee2 1456 (inputs
fe28ba70
PW
1457 `(("ghc-text" ,ghc-text)
1458 ("ghc-objectname" ,ghc-objectname)
1459 ("ghc-gluraw" ,ghc-gluraw)
1460 ("ghc-statevar" ,ghc-statevar)
1461 ("ghc-openglraw" ,ghc-openglraw)))
98b90194 1462 (home-page "https://www.haskell.org/haskellwiki/Opengl")
fe28ba70
PW
1463 (synopsis "Haskell bindings for the OpenGL graphics system")
1464 (description "This package provides Haskell bindings for the OpenGL
1465graphics system (GL, version 4.5) and its accompanying utility library (GLU,
1466version 1.3).")
3ac73271 1467 (license license:bsd-3)))
f50fc138 1468
f550db48 1469(define-public ghc-streaming-commons
abfed253 1470 (package
f550db48 1471 (name "ghc-streaming-commons")
c437b800 1472 (version "0.2.1.0")
abfed253
FB
1473 (source
1474 (origin
1475 (method url-fetch)
c437b800
RW
1476 (uri (string-append "https://hackage.haskell.org/package/"
1477 "streaming-commons/streaming-commons-"
1478 version ".tar.gz"))
abfed253
FB
1479 (sha256
1480 (base32
c437b800 1481 "13fn6qmpiggwpn8lczyydgp77cyzfypwds7wxskrwir4i5cgxlfq"))))
abfed253
FB
1482 (build-system haskell-build-system)
1483 (inputs
c437b800
RW
1484 `(("ghc-async" ,ghc-async)
1485 ("ghc-blaze-builder" ,ghc-blaze-builder)
2d47cee2
RW
1486 ("ghc-network" ,ghc-network)
1487 ("ghc-random" ,ghc-random)
f550db48
PW
1488 ("ghc-stm" ,ghc-stm)
1489 ("ghc-text" ,ghc-text)
f550db48 1490 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
1491 (native-inputs
1492 `(("ghc-quickcheck" ,ghc-quickcheck)
1493 ("ghc-hspec" ,ghc-hspec)
1494 ("hspec-discover" ,hspec-discover)))
f550db48
PW
1495 (home-page "https://hackage.haskell.org/package/streaming-commons")
1496 (synopsis "Conduit and pipes needed by some streaming data libraries")
b90f72dc
RW
1497 (description "This package provides low-dependency functionality commonly
1498needed by various Haskell streaming data libraries, such as @code{conduit} and
f550db48 1499@code{pipe}s.")
b90f72dc 1500 (license license:expat)))
abfed253 1501
78249cc0 1502(define-public cpphs
9ce031c5 1503 (package
78249cc0 1504 (name "cpphs")
c12562e1 1505 (version "1.20.8")
9ce031c5
FB
1506 (source
1507 (origin
1508 (method url-fetch)
1509 (uri (string-append
612fddec 1510 "https://hackage.haskell.org/package/" name "/"
78249cc0
PW
1511 name "-" version ".tar.gz"))
1512 (sha256
1513 (base32
c12562e1 1514 "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
78249cc0 1515 (build-system haskell-build-system)
2d47cee2 1516 (inputs
78249cc0
PW
1517 `(("ghc-polyparse" ,ghc-polyparse)
1518 ("ghc-old-locale" ,ghc-old-locale)
1519 ("ghc-old-time" ,ghc-old-time)))
1520 (home-page "http://projects.haskell.org/cpphs/")
1521 (synopsis "Liberalised re-implementation of cpp, the C pre-processor")
1522 (description "Cpphs is a re-implementation of the C pre-processor that is
1523both more compatible with Haskell, and itself written in Haskell so that it
1524can be distributed with compilers. This version of the C pre-processor is
1525pretty-much feature-complete and compatible with traditional (K&R)
1526pre-processors. Additional features include: a plain-text mode; an option to
1527unlit literate code files; and an option to turn off macro-expansion.")
3ac73271 1528 (license (list license:lgpl2.1+ license:gpl3+))))
78249cc0 1529
865ac573
PW
1530(define-public ghc-reflection
1531 (package
1532 (name "ghc-reflection")
fd4f26ee 1533 (version "2.1.2")
865ac573
PW
1534 (source
1535 (origin
1536 (method url-fetch)
1537 (uri (string-append
612fddec 1538 "https://hackage.haskell.org/package/reflection/reflection-"
9ce031c5
FB
1539 version
1540 ".tar.gz"))
1541 (sha256
1542 (base32
fd4f26ee 1543 "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9"))))
9ce031c5 1544 (build-system haskell-build-system)
865ac573 1545 (inputs `(("ghc-tagged" ,ghc-tagged)))
612fddec 1546 (home-page "https://github.com/ekmett/reflection")
865ac573
PW
1547 (synopsis "Reify arbitrary terms into types that can be reflected back
1548into terms")
1549 (description "This package addresses the 'configuration problem' which is
1550propogating configurations that are available at run-time, allowing multiple
1551configurations to coexist without resorting to mutable global variables or
1552@code{System.IO.Unsafe.unsafePerformIO}.")
3ac73271 1553 (license license:bsd-3)))
9ce031c5 1554
6a0add9c 1555(define-public ghc-old-locale
a231ef7e 1556 (package
6a0add9c
PW
1557 (name "ghc-old-locale")
1558 (version "1.0.0.7")
a231ef7e
FB
1559 (source
1560 (origin
1561 (method url-fetch)
1562 (uri (string-append
612fddec 1563 "https://hackage.haskell.org/package/old-locale/old-locale-"
a231ef7e
FB
1564 version
1565 ".tar.gz"))
1566 (sha256
6a0add9c 1567 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
a231ef7e 1568 (build-system haskell-build-system)
afff0b6d
RW
1569 (arguments
1570 `(#:configure-flags (list "--allow-newer=base")))
612fddec 1571 (home-page "https://hackage.haskell.org/package/old-locale")
6a0add9c
PW
1572 (synopsis "Adapt to locale conventions")
1573 (description
1574 "This package provides the ability to adapt to locale conventions such as
1575date and time formats.")
3ac73271 1576 (license license:bsd-3)))
6a0add9c 1577
7ae4c102
PW
1578(define-public ghc-old-time
1579 (package
1580 (name "ghc-old-time")
1581 (version "1.1.0.3")
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append
612fddec 1586 "https://hackage.haskell.org/package/old-time/old-time-"
7ae4c102
PW
1587 version
1588 ".tar.gz"))
1589 (sha256
1590 (base32
1591 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
1592 (build-system haskell-build-system)
037181ed
RW
1593 (arguments
1594 `(#:configure-flags (list "--allow-newer=base")))
2d47cee2 1595 (inputs
7ae4c102 1596 `(("ghc-old-locale" ,ghc-old-locale)))
612fddec 1597 (home-page "https://hackage.haskell.org/package/old-time")
7ae4c102
PW
1598 (synopsis "Time compatibility library for Haskell")
1599 (description "Old-time is a package for backwards compatibility with the
1600old @code{time} library. For new projects, the newer
612fddec 1601@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
3ac73271 1602 (license license:bsd-3)))
7ae4c102 1603
684f29ab
SB
1604(define-public ghc-data-default-instances-old-locale
1605 (package
1606 (name "ghc-data-default-instances-old-locale")
1607 (version "0.0.1")
1608 (source
1609 (origin
1610 (method url-fetch)
1611 (uri (string-append
612fddec 1612 "https://hackage.haskell.org/package/"
684f29ab
SB
1613 "data-default-instances-old-locale/"
1614 "data-default-instances-old-locale-" version ".tar.gz"))
1615 (sha256
1616 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
1617 (build-system haskell-build-system)
2d47cee2 1618 (inputs
6a0add9c
PW
1619 `(("ghc-data-default-class" ,ghc-data-default-class)
1620 ("ghc-old-locale" ,ghc-old-locale)))
684f29ab 1621 (home-page
612fddec 1622 "https://hackage.haskell.org/package/data-default-instances-old-locale")
684f29ab
SB
1623 (synopsis "Default instances for types in old-locale")
1624 (description "Provides Default instances for types from the old-locale
1625 package.")
3ac73271 1626 (license license:bsd-3)))
684f29ab 1627
eb6ae860
SB
1628(define-public ghc-dlist
1629 (package
1630 (name "ghc-dlist")
40a6d7a2 1631 (version "0.8.0.4")
eb6ae860
SB
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (string-append
612fddec 1636 "https://hackage.haskell.org/package/dlist/dlist-"
eb6ae860
SB
1637 version
1638 ".tar.gz"))
1639 (sha256
40a6d7a2 1640 (base32 "0yirrh0s6acjy9hhvf5fqg2d6q5y6gm9xs04v6w1imndh1xqdwdc"))))
eb6ae860 1641 (build-system haskell-build-system)
409ec7c0
PW
1642 (inputs
1643 `(("ghc-quickcheck" ,ghc-quickcheck)))
eb6ae860
SB
1644 (home-page "https://github.com/spl/dlist")
1645 (synopsis "Difference lists")
1646 (description
1647 "Difference lists are a list-like type supporting O(1) append. This is
1648particularly useful for efficient logging and pretty printing (e.g. with the
1649Writer monad), where list append quickly becomes too expensive.")
3ac73271 1650 (license license:bsd-3)))
eb6ae860 1651
05b964ae
SB
1652(define-public ghc-extensible-exceptions
1653 (package
1654 (name "ghc-extensible-exceptions")
1655 (version "0.1.1.4")
1656 (source
1657 (origin
1658 (method url-fetch)
612fddec 1659 (uri (string-append "https://hackage.haskell.org/package/"
05b964ae
SB
1660 "extensible-exceptions/extensible-exceptions-"
1661 version ".tar.gz"))
1662 (sha256
1663 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
1664 (build-system haskell-build-system)
612fddec 1665 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
05b964ae
SB
1666 (synopsis "Extensible exceptions for Haskell")
1667 (description
1668 "This package provides extensible exceptions for both new and old
1669versions of GHC (i.e., < 6.10).")
3ac73271 1670 (license license:bsd-3)))
05b964ae 1671
df1db767
SB
1672(define-public cabal-install
1673 (package
1674 (name "cabal-install")
35a9b5c7 1675 (version "1.22.6.0")
df1db767
SB
1676 (source
1677 (origin
1678 (method url-fetch)
1679 (uri (string-append
612fddec 1680 "https://hackage.haskell.org/package/cabal-install/cabal-install-"
df1db767
SB
1681 version
1682 ".tar.gz"))
1683 (sha256
35a9b5c7 1684 (base32 "1d5h7h2wjwc2s3dvsvzjgmmfrfl2312ym2h6kyjgm9wnaqw9w8wx"))))
df1db767
SB
1685 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
1686 (build-system haskell-build-system)
2d47cee2 1687 (inputs
df1db767
SB
1688 `(("ghc-http" ,ghc-http)
1689 ("ghc-mtl" ,ghc-mtl)
1690 ("ghc-network-uri" ,ghc-network-uri)
1691 ("ghc-network" ,ghc-network)
1692 ("ghc-random" ,ghc-random)
1693 ("ghc-stm" ,ghc-stm)
1694 ("ghc-zlib" ,ghc-zlib)))
98b90194 1695 (home-page "https://www.haskell.org/cabal/")
df1db767
SB
1696 (synopsis "Command-line interface for Cabal and Hackage")
1697 (description
1698 "The cabal command-line program simplifies the process of managing
1699Haskell software by automating the fetching, configuration, compilation and
1700installation of Haskell libraries and programs.")
3ac73271 1701 (license license:bsd-3)))
df1db767 1702
3168796a
RW
1703(define-public cabal-doctest
1704 (package
1705 (name "cabal-doctest")
1706 (version "1.0.6")
1707 (source
1708 (origin
1709 (method url-fetch)
1710 (uri (string-append "https://hackage.haskell.org/package/"
1711 "cabal-doctest/cabal-doctest-"
1712 version ".tar.gz"))
1713 (sha256
1714 (base32
1715 "0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
1716 (build-system haskell-build-system)
1717 (home-page "https://github.com/phadej/cabal-doctest")
1718 (synopsis "Setup.hs helper for running doctests")
1719 (description
1720 "To properly work, the @code{doctest} package needs plenty of
1721configuration. This library provides the common bits for writing custom
1722@file{Setup.hs} files.")
1723 (license license:bsd-3)))
1724
7d5baa30
FB
1725(define-public ghc-mtl
1726 (package
1727 (name "ghc-mtl")
a59ab247 1728 (version "2.2.1")
7d5baa30
FB
1729 (outputs '("out" "doc"))
1730 (source
1731 (origin
1732 (method url-fetch)
1733 (uri (string-append
612fddec 1734 "https://hackage.haskell.org/package/mtl/mtl-"
7d5baa30
FB
1735 version
1736 ".tar.gz"))
1737 (sha256
1738 (base32
a59ab247 1739 "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa"))))
7d5baa30 1740 (build-system haskell-build-system)
9729f975
RW
1741 ;; This is an official revision, relaxing the requirement transformers ==
1742 ;; 0.4 to transformers >= 0.4 && < 0.6; see
1743 ;; https://hackage.haskell.org/package/mtl-2.2.1/revision/1.cabal
c088e393
RW
1744 (arguments
1745 `(#:configure-flags (list "--allow-newer=transformers")))
612fddec 1746 (home-page "https://github.com/ekmett/mtl")
7d5baa30
FB
1747 (synopsis
1748 "Monad classes, using functional dependencies")
a59ab247
PW
1749 (description "Monad classes using functional dependencies, with instances
1750for various monad transformers, inspired by the paper 'Functional Programming
1751with Overloading and Higher-Order Polymorphism', by Mark P Jones, in 'Advanced
1752School of Functional Programming', 1995. See
98b90194 1753@uref{https://web.cecs.pdx.edu/~mpj/pubs/springschool.html, the paper}.")
3ac73271 1754 (license license:bsd-3)))
7d5baa30 1755
fe0fb890
TGR
1756(define-public ghc-parsec-numbers
1757 (package
1758 (name "ghc-parsec-numbers")
1759 (version "0.1.0")
1760 (source
1761 (origin
1762 (method url-fetch)
1763 (uri (string-append "https://hackage.haskell.org/package/"
1764 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
1765 (sha256
1766 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
1767 (build-system haskell-build-system)
1768 (inputs
1769 `(("ghc-parsec" ,ghc-parsec)))
95bf0780 1770 (home-page "https://hackage.haskell.org/package/parsec-numbers")
fe0fb890
TGR
1771 (synopsis "Utilities for parsing numbers from strings")
1772 (description
1773 "This package provides the number parsers without the need to use a large
1774(and unportable) token parser.")
1775 (license license:bsd-3)))
1776
0939da6e
FB
1777(define-public ghc-paths
1778 (package
1779 (name "ghc-paths")
1780 (version "0.1.0.9")
1781 (outputs '("out" "doc"))
1782 (source
1783 (origin
1784 (method url-fetch)
1785 (uri (string-append
612fddec 1786 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
0939da6e
FB
1787 version
1788 ".tar.gz"))
1789 (sha256
1790 (base32
1791 "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg"))))
1792 (build-system haskell-build-system)
1793 (home-page "https://github.com/simonmar/ghc-paths")
1794 (synopsis
1795 "Knowledge of GHC's installation directories")
1796 (description
1797 "Knowledge of GHC's installation directories.")
3ac73271 1798 (license license:bsd-3)))
0939da6e 1799
7fc7186e
SB
1800(define-public ghc-utf8-string
1801 (package
1802 (name "ghc-utf8-string")
ac426aa5 1803 (version "1.0.1.1")
7fc7186e
SB
1804 (source
1805 (origin
1806 (method url-fetch)
1807 (uri (string-append
612fddec 1808 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
7fc7186e
SB
1809 version
1810 ".tar.gz"))
1811 (sha256
ac426aa5 1812 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
7fc7186e 1813 (build-system haskell-build-system)
4fe3ce82
RW
1814 (arguments
1815 `(#:configure-flags (list "--allow-newer=base")))
612fddec 1816 (home-page "https://github.com/glguy/utf8-string/")
7fc7186e
SB
1817 (synopsis "Support for reading and writing UTF8 Strings")
1818 (description
ac426aa5 1819 "A UTF8 layer for Strings. The utf8-string package provides operations
7fc7186e
SB
1820for encoding UTF8 strings to Word8 lists and back, and for reading and writing
1821UTF8 without truncation.")
3ac73271 1822 (license license:bsd-3)))
7fc7186e 1823
a45a15df
PW
1824(define-public ghc-setenv
1825 (package
1826 (name "ghc-setenv")
1827 (version "0.1.1.3")
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
612fddec 1832 "https://hackage.haskell.org/package/setenv/setenv-"
a45a15df
PW
1833 version
1834 ".tar.gz"))
1835 (sha256
1836 (base32
1837 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
1838 (build-system haskell-build-system)
612fddec 1839 (home-page "https://hackage.haskell.org/package/setenv")
a45a15df
PW
1840 (synopsis "Library for setting environment variables")
1841 (description "This package provides a Haskell library for setting
1842environment variables.")
3ac73271 1843 (license license:expat)))
a45a15df 1844
c7bdb413
MM
1845(define-public ghc-setlocale
1846 (package
1847 (name "ghc-setlocale")
35a30cff 1848 (version "1.0.0.6")
c7bdb413
MM
1849 (source (origin
1850 (method url-fetch)
1851 (uri (string-append
1852 "https://hackage.haskell.org/package/setlocale-"
1853 version "/setlocale-" version ".tar.gz"))
1854 (sha256
1855 (base32
35a30cff 1856 "1rl8qb8vzv8fdbczy2dxwgn4cb68lfrjdxf2w8nn9wy1acqzcyjq"))))
c7bdb413
MM
1857 (build-system haskell-build-system)
1858 (home-page "https://hackage.haskell.org/package/setlocale")
1859 (synopsis "Haskell bindings to setlocale")
1860 (description "This package provides Haskell bindings to the
1861@code{setlocale} C function.")
1862 (license license:bsd-3)))
1863
720fb41c
SB
1864(define-public ghc-x11
1865 (package
1866 (name "ghc-x11")
48ca045c 1867 (version "1.8")
720fb41c
SB
1868 (source
1869 (origin
1870 (method url-fetch)
612fddec 1871 (uri (string-append "https://hackage.haskell.org/package/X11/"
720fb41c
SB
1872 "X11-" version ".tar.gz"))
1873 (sha256
48ca045c 1874 (base32 "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl"))))
720fb41c
SB
1875 (build-system haskell-build-system)
1876 (inputs
1877 `(("libx11" ,libx11)
1878 ("libxrandr" ,libxrandr)
1879 ("libxinerama" ,libxinerama)
2d47cee2
RW
1880 ("libxscrnsaver" ,libxscrnsaver)
1881 ("ghc-data-default" ,ghc-data-default)))
720fb41c
SB
1882 (home-page "https://github.com/haskell-pkg-janitors/X11")
1883 (synopsis "Bindings to the X11 graphics library")
1884 (description
1885 "This package provides Haskell bindings to the X11 graphics library. The
1886bindings are a direct translation of the C bindings.")
3ac73271 1887 (license license:bsd-3)))
720fb41c 1888
c34507d6
SB
1889(define-public ghc-x11-xft
1890 (package
1891 (name "ghc-x11-xft")
1892 (version "0.3.1")
1893 (source
1894 (origin
1895 (method url-fetch)
612fddec 1896 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
c34507d6
SB
1897 "X11-xft-" version ".tar.gz"))
1898 (sha256
1899 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
c34507d6 1900 (inputs
2d47cee2
RW
1901 `(("ghc-x11" ,ghc-x11)
1902 ("ghc-utf8-string" ,ghc-utf8-string)
1903 ("libx11" ,libx11)
c34507d6 1904 ("libxft" ,libxft)
6a6db57f 1905 ("xorgproto" ,xorgproto)))
c34507d6
SB
1906 (native-inputs
1907 `(("pkg-config" ,pkg-config)))
1908 (build-system haskell-build-system)
612fddec 1909 (home-page "https://hackage.haskell.org/package/X11-xft")
c34507d6
SB
1910 (synopsis "Bindings to Xft")
1911 (description
1912 "Bindings to the Xft, X Free Type interface library, and some Xrender
1913parts.")
3ac73271 1914 (license license:lgpl2.1)))
c34507d6 1915
318f9d88
PW
1916(define-public ghc-stringbuilder
1917 (package
1918 (name "ghc-stringbuilder")
1919 (version "0.5.0")
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
612fddec 1924 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
318f9d88
PW
1925 version
1926 ".tar.gz"))
1927 (sha256
1928 (base32
1929 "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9"))))
1930 (build-system haskell-build-system)
1931 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
1932 ; enabled
612fddec 1933 (home-page "https://hackage.haskell.org/package/stringbuilder")
318f9d88
PW
1934 (synopsis "Writer monad for multi-line string literals")
1935 (description "This package provides a writer monad for multi-line string
1936literals.")
3ac73271 1937 (license license:expat)))
318f9d88 1938
3d3613d5
FB
1939(define-public ghc-zlib
1940 (package
1941 (name "ghc-zlib")
6b76b705 1942 (version "0.6.1.1")
3d3613d5
FB
1943 (outputs '("out" "doc"))
1944 (source
1945 (origin
1946 (method url-fetch)
1947 (uri (string-append
612fddec 1948 "https://hackage.haskell.org/package/zlib/zlib-"
3d3613d5
FB
1949 version
1950 ".tar.gz"))
1951 (sha256
1952 (base32
6b76b705 1953 "0dd79dxf56d8f6ad9if3j87s9gg7yd17ckypjxwplrbkahlb9xf5"))))
3d3613d5 1954 (build-system haskell-build-system)
6b76b705
RW
1955 ;; Tests require older versions of testy.
1956 (arguments `(#:tests? #f))
3d3613d5 1957 (inputs `(("zlib" ,zlib)))
612fddec 1958 (home-page "https://hackage.haskell.org/package/zlib")
3d3613d5
FB
1959 (synopsis
1960 "Compression and decompression in the gzip and zlib formats")
1961 (description
1962 "This package provides a pure interface for compressing and decompressing
1963streams of data represented as lazy 'ByteString's. It uses the zlib C library
1964so it has high performance. It supports the 'zlib', 'gzip' and 'raw'
1965compression formats. It provides a convenient high level API suitable for
1966most tasks and for the few cases where more control is needed it provides
1967access to the full zlib feature set.")
3ac73271 1968 (license license:bsd-3)))
3d3613d5 1969
a39f3936
FB
1970(define-public ghc-stm
1971 (package
1972 (name "ghc-stm")
567bf5b9 1973 (version "2.4.5.0")
a39f3936
FB
1974 (outputs '("out" "doc"))
1975 (source
1976 (origin
1977 (method url-fetch)
1978 (uri (string-append
612fddec 1979 "https://hackage.haskell.org/package/stm/stm-"
a39f3936
FB
1980 version
1981 ".tar.gz"))
1982 (sha256
1983 (base32
567bf5b9 1984 "19sr11a0hqikhvf561b38phz6k3zg9s157a0f5ffvghk7wcdpmri"))))
a39f3936 1985 (build-system haskell-build-system)
612fddec 1986 (home-page "https://hackage.haskell.org/package/stm")
a39f3936
FB
1987 (synopsis "Software Transactional Memory")
1988 (description
567bf5b9
RW
1989 "Software Transactional Memory, or STM, is an abstraction for concurrent
1990communication. The main benefits of STM are composability and modularity.
1991That is, using STM you can write concurrent abstractions that can be easily
1992composed with any other abstraction built using STM, without exposing the
1993details of how your abstraction ensures safety. This is typically not the
1994case with other forms of concurrent communication, such as locks or
1995@code{MVar}s.")
3ac73271 1996 (license license:bsd-3)))
a39f3936 1997
e916e211
FB
1998(define-public ghc-parallel
1999 (package
2000 (name "ghc-parallel")
6d148d3b 2001 (version "3.2.1.0")
e916e211
FB
2002 (outputs '("out" "doc"))
2003 (source
2004 (origin
2005 (method url-fetch)
2006 (uri (string-append
612fddec 2007 "https://hackage.haskell.org/package/parallel/parallel-"
e916e211
FB
2008 version
2009 ".tar.gz"))
2010 (sha256
2011 (base32
6d148d3b 2012 "09l52k1gsn667lmv0pp052cbwkzkbhfivp51f2xkrlfzf6xwvqsd"))))
e916e211 2013 (build-system haskell-build-system)
612fddec 2014 (home-page "https://hackage.haskell.org/package/parallel")
e916e211
FB
2015 (synopsis "Parallel programming library")
2016 (description
2017 "This package provides a library for parallel programming.")
3ac73271 2018 (license license:bsd-3)))
e916e211 2019
6950a450
TS
2020(define-public ghc-safesemaphore
2021 (package
2022 (name "ghc-safesemaphore")
2023 (version "0.10.1")
2024 (source
2025 (origin
2026 (method url-fetch)
2027 (uri (string-append "https://hackage.haskell.org/package/"
2028 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
2029 (sha256
2030 (base32
2031 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
2032 (build-system haskell-build-system)
2033 (inputs
2034 `(("ghc-stm" ,ghc-stm)))
2035 (native-inputs
2036 `(("ghc-hunit" ,ghc-hunit)))
2037 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
2038 (synopsis "Exception safe semaphores")
2039 (description "This library provides exception safe semaphores that can be
2040used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
2041are not exception safe and can be broken by @code{killThread}.")
2042 (license license:bsd-3)))
2043
deb36de0
FB
2044(define-public ghc-text
2045 (package
2046 (name "ghc-text")
5e3840e2 2047 (version "1.2.2.2")
deb36de0
FB
2048 (outputs '("out" "doc"))
2049 (source
2050 (origin
2051 (method url-fetch)
2052 (uri (string-append
612fddec 2053 "https://hackage.haskell.org/package/text/text-"
deb36de0
FB
2054 version
2055 ".tar.gz"))
2056 (sha256
2057 (base32
5e3840e2 2058 "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii"))))
deb36de0 2059 (build-system haskell-build-system)
5e3840e2
RW
2060 ;; The test dependencies depend on ghc-text: ghc-test-framework -> ghc-xml -> ghc-text
2061 (arguments `(#:tests? #f))
2062 (inputs
2063 `(("ghc-random" ,ghc-random)))
deb36de0 2064 (home-page "https://github.com/bos/text")
1eefe4a8 2065 (synopsis "Efficient packed Unicode text type library")
deb36de0
FB
2066 (description
2067 "An efficient packed, immutable Unicode text type (both strict and
2068lazy), with a powerful loop fusion optimization framework.
2069
2070The 'Text' type represents Unicode character strings, in a time and
1eefe4a8 2071space-efficient manner. This package provides text processing
deb36de0
FB
2072capabilities that are optimized for performance critical use, both
2073in terms of large data quantities and high speed.")
3ac73271 2074 (license license:bsd-3)))
deb36de0 2075
f941a52a
RW
2076(define-public ghc-text-binary
2077 (package
2078 (name "ghc-text-binary")
2079 (version "0.2.1.1")
2080 (source
2081 (origin
2082 (method url-fetch)
2083 (uri (string-append "https://hackage.haskell.org/package/"
2084 "text-binary/text-binary-"
2085 version ".tar.gz"))
2086 (sha256
2087 (base32
2088 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
2089 (build-system haskell-build-system)
2090 (inputs `(("ghc-text" ,ghc-text)))
2091 (home-page "https://github.com/kawu/text-binary")
2092 (synopsis "Binary instances for text types")
2093 (description
2094 "This package provides a compatibility layer providing @code{Binary}
2095instances for strict and lazy text types for versions older than 1.2.1 of the
2096text package.")
2097 (license license:bsd-2)))
2098
f99a57dc
AV
2099(define-public ghc-strict
2100 (package
2101 (name "ghc-strict")
2102 (version "0.3.2")
2103 (source
2104 (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
2110 (build-system haskell-build-system)
2111 (home-page "https://hackage.haskell.org/package/strict")
2112 (synopsis "Strict data types and String IO")
2113 (description
2114 "This package provides strict versions of some standard Haskell data
2115types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
2116IO operations.")
2117 (license license:bsd-3)))
2118
775be802
FB
2119(define-public ghc-hashable
2120 (package
2121 (name "ghc-hashable")
c165ff9c 2122 (version "1.2.6.1")
775be802
FB
2123 (outputs '("out" "doc"))
2124 (source
2125 (origin
2126 (method url-fetch)
2127 (uri (string-append
612fddec 2128 "https://hackage.haskell.org/package/hashable/hashable-"
775be802
FB
2129 version
2130 ".tar.gz"))
2131 (sha256
2132 (base32
c165ff9c 2133 "0ymv2mcrrgbdc2w39rib171fwnhg7fgp0sy4h8amrh1vw64qgjll"))))
775be802 2134 (build-system haskell-build-system)
2d47cee2 2135 (inputs
c165ff9c
RW
2136 `(("ghc-text" ,ghc-text)
2137 ("ghc-random" ,ghc-random)))
2138 (native-inputs
2139 `(("ghc-test-framework" ,ghc-test-framework)
2140 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2141 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
2142 ("ghc-hunit" ,ghc-hunit)
2143 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 2144 (home-page "https://github.com/tibbe/hashable")
c165ff9c 2145 (synopsis "Class for types that can be converted to a hash value")
775be802 2146 (description
c165ff9c 2147 "This package defines a class, @code{Hashable}, for types that can be
775be802
FB
2148converted to a hash value. This class exists for the benefit of hashing-based
2149data structures. The package provides instances for basic types and a way to
2150combine hash values.")
3ac73271 2151 (license license:bsd-3)))
775be802 2152
82674ed9
RW
2153(define-public ghc-hashable-time
2154 (package
2155 (name "ghc-hashable-time")
2156 (version "0.2.0.1")
2157 (source
2158 (origin
2159 (method url-fetch)
2160 (uri (string-append
2161 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
2162 version
2163 ".tar.gz"))
2164 (sha256
2165 (base32
2166 "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm"))))
2167 (build-system haskell-build-system)
2168 (inputs `(("ghc-hashable" ,ghc-hashable)))
2169 (home-page "http://hackage.haskell.org/package/hashable-time")
2170 (synopsis "Hashable instances for Data.Time")
2171 (description
2172 "This package provides @code{Hashable} instances for types in
2173@code{Data.Time}.")
2174 (license license:bsd-3)))
2175
ca48a345
AV
2176(define-public ghc-data-hash
2177 (package
2178 (name "ghc-data-hash")
2179 (version "0.2.0.1")
2180 (source
2181 (origin
2182 (method url-fetch)
2183 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2184 "/data-hash-" version ".tar.gz"))
2185 (sha256
2186 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2187 (build-system haskell-build-system)
2188 (inputs
2189 `(("ghc-quickcheck" ,ghc-quickcheck)
2190 ("ghc-test-framework" ,ghc-test-framework)
2191 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2192 (home-page "https://hackage.haskell.org/package/data-hash")
2193 (synopsis "Combinators for building fast hashing functions")
2194 (description
2195 "This package provides combinators for building fast hashing functions.
2196It includes hashing functions for all basic Haskell98 types.")
2197 (license license:bsd-3)))
2198
a623fd7f
AV
2199(define-public ghc-murmur-hash
2200 (package
2201 (name "ghc-murmur-hash")
2202 (version "0.1.0.9")
2203 (source
2204 (origin
2205 (method url-fetch)
2206 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
2207 "/murmur-hash-" version ".tar.gz"))
2208 (sha256
2209 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
2210 (build-system haskell-build-system)
2211 (home-page "https://github.com/nominolo/murmur-hash")
2212 (synopsis "MurmurHash2 implementation for Haskell")
2213 (description
2214 "This package provides an implementation of MurmurHash2, a good, fast,
2215general-purpose, non-cryptographic hashing function. See
2216@url{https://sites.google.com/site/murmurhash/} for details. This
2217implementation is pure Haskell, so it might be a bit slower than a C FFI
2218binding.")
2219 (license license:bsd-3)))
2220
df596b94
FB
2221(define-public ghc-random
2222 (package
2223 (name "ghc-random")
2224 (version "1.1")
2225 (outputs '("out" "doc"))
2226 (source
2227 (origin
2228 (method url-fetch)
2229 (uri (string-append
612fddec 2230 "https://hackage.haskell.org/package/random/random-"
df596b94
FB
2231 version
2232 ".tar.gz"))
2233 (sha256
2234 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
2235 (build-system haskell-build-system)
612fddec 2236 (home-page "https://hackage.haskell.org/package/random")
df596b94
FB
2237 (synopsis "Random number library")
2238 (description "This package provides a basic random number generation
2239library, including the ability to split random number generators.")
3ac73271 2240 (license license:bsd-3)))
4af803a7
FB
2241
2242(define-public ghc-primitive
2243 (package
2244 (name "ghc-primitive")
49e5432b 2245 (version "0.6.3.0")
4af803a7
FB
2246 (outputs '("out" "doc"))
2247 (source
2248 (origin
2249 (method url-fetch)
2250 (uri (string-append
612fddec 2251 "https://hackage.haskell.org/package/primitive/primitive-"
4af803a7
FB
2252 version
2253 ".tar.gz"))
2254 (sha256
2255 (base32
49e5432b 2256 "0mcmbnj08wd6zfwn7xk6zf5hy5zwbla5v78pw0dpymqg9s0gzpnd"))))
4af803a7
FB
2257 (build-system haskell-build-system)
2258 (home-page
2259 "https://github.com/haskell/primitive")
2260 (synopsis "Primitive memory-related operations")
2261 (description
2262 "This package provides various primitive memory-related operations.")
3ac73271 2263 (license license:bsd-3)))
4af803a7 2264
c272160a
FB
2265(define-public ghc-tf-random
2266 (package
2267 (name "ghc-tf-random")
2268 (version "0.5")
2269 (outputs '("out" "doc"))
2270 (source
2271 (origin
2272 (method url-fetch)
2273 (uri (string-append
612fddec 2274 "https://hackage.haskell.org/package/tf-random/tf-random-"
c272160a
FB
2275 version
2276 ".tar.gz"))
2277 (sha256
2278 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
2279 (build-system haskell-build-system)
2d47cee2 2280 (inputs
c272160a
FB
2281 `(("ghc-primitive" ,ghc-primitive)
2282 ("ghc-random" ,ghc-random)))
612fddec 2283 (home-page "https://hackage.haskell.org/package/tf-random")
c272160a
FB
2284 (synopsis "High-quality splittable pseudorandom number generator")
2285 (description "This package contains an implementation of a high-quality
2286splittable pseudorandom number generator. The generator is based on a
2287cryptographic hash function built on top of the ThreeFish block cipher. See
2288the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
2289Hashing\" by Claessen, Pałka for details and the rationale of the design.")
3ac73271 2290 (license license:bsd-3)))
c272160a 2291
c27f3ace
PW
2292(define-public ghc-transformers-base
2293 (package
2294 (name "ghc-transformers-base")
2295 (version "0.4.4")
2296 (source
2297 (origin
2298 (method url-fetch)
2299 (uri (string-append
612fddec 2300 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
c27f3ace
PW
2301 version
2302 ".tar.gz"))
2303 (sha256
2304 (base32
2305 "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va"))))
2306 (build-system haskell-build-system)
c27f3ace 2307 (inputs
2d47cee2
RW
2308 `(("ghc-stm" ,ghc-stm)
2309 ("ghc-transformers-compat" ,ghc-transformers-compat)))
c27f3ace 2310 (home-page
612fddec 2311 "https://hackage.haskell.org/package/transformers-compat")
c27f3ace
PW
2312 (synopsis
2313 "Backported transformer library")
2314 (description
2315 "Backported versions of types that were added to transformers in
2316transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
2317compatibility to run on old versions of the platform.")
3ac73271 2318 (license license:bsd-3)))
c27f3ace 2319
379a5ad5
PW
2320(define-public ghc-transformers-compat
2321 (package
2322 (name "ghc-transformers-compat")
b85fbd99 2323 (version "0.5.1.4")
379a5ad5
PW
2324 (source
2325 (origin
2326 (method url-fetch)
2327 (uri (string-append
612fddec 2328 "https://hackage.haskell.org/package/transformers-compat"
379a5ad5
PW
2329 "/transformers-compat-" version ".tar.gz"))
2330 (sha256
2331 (base32
b85fbd99 2332 "17yam0199fh9ndsn9n69jx9nvbsmymzzwbi23dck3dk4q57fz0fq"))))
379a5ad5 2333 (build-system haskell-build-system)
612fddec 2334 (home-page "https://github.com/ekmett/transformers-compat/")
379a5ad5
PW
2335 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
2336 (description "This package includes backported versions of types that were
2337added to transformers in transformers 0.3 and 0.4 for users who need strict
2338transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
2339but also need those types.")
3ac73271 2340 (license license:bsd-3)))
379a5ad5 2341
5ef40cb2
PW
2342(define-public ghc-unix-time
2343 (package
2344 (name "ghc-unix-time")
5b4f6170 2345 (version "0.3.7")
5ef40cb2
PW
2346 (source
2347 (origin
2348 (method url-fetch)
2349 (uri (string-append
612fddec 2350 "https://hackage.haskell.org/package/unix-time/unix-time-"
5ef40cb2
PW
2351 version
2352 ".tar.gz"))
2353 (sha256
2354 (base32
5b4f6170 2355 "1qdlc9raih8s0m3x8x3n7q3ngh4faw2alv9l78sp6gnx648k0c8i"))))
5ef40cb2
PW
2356 (build-system haskell-build-system)
2357 (arguments
fd59d2ee
PW
2358 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
2359 ; is weird, that should be provided by GHC 7.10.2.
2d47cee2 2360 (inputs
5ef40cb2
PW
2361 `(("ghc-old-time" ,ghc-old-time)
2362 ("ghc-old-locale" ,ghc-old-locale)))
612fddec 2363 (home-page "https://hackage.haskell.org/package/unix-time")
5ef40cb2
PW
2364 (synopsis "Unix time parser/formatter and utilities")
2365 (description "This library provides fast parsing and formatting utilities
2366for Unix time in Haskell.")
3ac73271 2367 (license license:bsd-3)))
5ef40cb2 2368
801cc88d
PW
2369(define-public ghc-unix-compat
2370 (package
2371 (name "ghc-unix-compat")
99c4e561 2372 (version "0.4.2.0")
801cc88d
PW
2373 (source
2374 (origin
2375 (method url-fetch)
2376 (uri (string-append
612fddec 2377 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
801cc88d
PW
2378 version
2379 ".tar.gz"))
2380 (sha256
2381 (base32
99c4e561 2382 "036nv05w0yjxc3rfpar60ddjrlzc40mdgr5k6ihvwlvqfmq1gw9m"))))
801cc88d
PW
2383 (build-system haskell-build-system)
2384 (home-page
612fddec 2385 "https://github.com/jystic/unix-compat")
801cc88d
PW
2386 (synopsis "Portable POSIX-compatibility layer")
2387 (description
2388 "This package provides portable implementations of parts of the unix
2389package. This package re-exports the unix package when available. When it
2390isn't available, portable implementations are used.")
3ac73271 2391 (license license:bsd-3)))
801cc88d 2392
b6bfa2ca
LC
2393(define-public ghc-indents
2394 (package
2395 (name "ghc-indents")
2396 (version "0.3.3")
2397 (source (origin
2398 (method url-fetch)
2399 (uri (string-append
612fddec 2400 "https://hackage.haskell.org/package/indents/indents-"
b6bfa2ca
LC
2401 version ".tar.gz"))
2402 (sha256
2403 (base32
2404 "16lz21bp9j14xilnq8yym22p3saxvc9fsgfcf5awn2a6i6n527xn"))))
2405 (build-system haskell-build-system)
2406 (inputs
2407 `(("ghc-parsec" ,ghc-parsec)
2408 ("ghc-concatenative" ,ghc-concatenative)
2409 ("ghc-mtl" ,ghc-mtl)))
2410 (home-page "http://patch-tag.com/r/salazar/indents")
2411 (synopsis "Indentation sensitive parser-combinators for parsec")
2412 (description
2413 "This library provides functions for use in parsing indentation sensitive
2414contexts. It parses blocks of lines all indented to the same level as well as
2415lines continued at an indented level below.")
2416 (license license:bsd-3)))
2417
685502dc
PW
2418(define-public ghc-iproute
2419 (package
2420 (name "ghc-iproute")
1cc0942f 2421 (version "1.7.1")
685502dc
PW
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append
612fddec 2426 "https://hackage.haskell.org/package/iproute/iproute-"
685502dc
PW
2427 version
2428 ".tar.gz"))
2429 (sha256
2430 (base32
1cc0942f 2431 "1viyxq3m1aifl05w0hxwrhhhcfpmvwz4ymil2gngi4nfm0yd1f2p"))))
685502dc
PW
2432 (build-system haskell-build-system)
2433 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
2434 ; exported by ghc-byteorder. Doctest issue.
685502dc 2435 (inputs
2d47cee2
RW
2436 `(("ghc-appar" ,ghc-appar)
2437 ("ghc-byteorder" ,ghc-byteorder)
2438 ("ghc-network" ,ghc-network)
685502dc 2439 ("ghc-safe" ,ghc-safe)))
e427a0e4 2440 (home-page "https://www.mew.org/~kazu/proj/iproute/")
685502dc
PW
2441 (synopsis "IP routing table")
2442 (description "IP Routing Table is a tree of IP ranges to search one of
2443them on the longest match base. It is a kind of TRIE with one way branching
2444removed. Both IPv4 and IPv6 are supported.")
3ac73271 2445 (license license:bsd-3)))
685502dc 2446
a7101996
TGR
2447(define-public ghc-iwlib
2448 (package
2449 (name "ghc-iwlib")
2450 (version "0.1.0")
2451 (source
2452 (origin
2453 (method url-fetch)
2454 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
2455 version ".tar.gz"))
2456 (sha256
2457 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
2458 (build-system haskell-build-system)
2459 (inputs
2460 `(("wireless-tools" ,wireless-tools)))
2461 (home-page "https://github.com/jaor/iwlib")
2462 (synopsis "Haskell binding to the iw wireless networking library")
2463 (description
2464 "IWlib is a thin Haskell binding to the iw C library. It provides
2465information about the current wireless network connections, and adapters on
2466supported systems.")
2467 (license license:bsd-3)))
2468
9d5f0399
PW
2469(define-public ghc-regex-base
2470 (package
2471 (name "ghc-regex-base")
2472 (version "0.93.2")
2473 (source
2474 (origin
2475 (method url-fetch)
2476 (uri (string-append
612fddec 2477 "https://hackage.haskell.org/package/regex-base/regex-base-"
9d5f0399
PW
2478 version
2479 ".tar.gz"))
2480 (sha256
2481 (base32
2482 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
2483 (build-system haskell-build-system)
2d47cee2 2484 (inputs
9d5f0399
PW
2485 `(("ghc-mtl" ,ghc-mtl)))
2486 (home-page
3b3b60d0 2487 "https://sourceforge.net/projects/lazy-regex")
9d5f0399
PW
2488 (synopsis "Replaces/Enhances Text.Regex")
2489 (description "@code{Text.Regex.Base} provides the interface API for
2490regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
3ac73271 2491 (license license:bsd-3)))
9d5f0399 2492
e422279b
PW
2493(define-public ghc-regex-posix
2494 (package
2495 (name "ghc-regex-posix")
2496 (version "0.95.2")
2497 (source
2498 (origin
2499 (method url-fetch)
2500 (uri (string-append
612fddec 2501 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
e422279b
PW
2502 version
2503 ".tar.gz"))
2504 (sha256
2505 (base32
2506 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
2507 (build-system haskell-build-system)
2d47cee2 2508 (inputs
0eeaa169 2509 `(("ghc-regex-base" ,ghc-regex-base)))
3b3b60d0 2510 (home-page "https://sourceforge.net/projects/lazy-regex")
e422279b
PW
2511 (synopsis "POSIX regular expressions for Haskell")
2512 (description "This library provides the POSIX regex backend used by the
2513Haskell library @code{regex-base}.")
3ac73271 2514 (license license:bsd-3)))
e422279b 2515
25d51164
PW
2516(define-public ghc-regex-compat
2517 (package
2518 (name "ghc-regex-compat")
2519 (version "0.95.1")
2520 (source
2521 (origin
2522 (method url-fetch)
2523 (uri (string-append
612fddec 2524 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
25d51164
PW
2525 version
2526 ".tar.gz"))
2527 (sha256
2528 (base32
2529 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
2530 (build-system haskell-build-system)
2531 (inputs
2532 `(("ghc-regex-base" ,ghc-regex-base)
2533 ("ghc-regex-posix" ,ghc-regex-posix)))
3b3b60d0 2534 (home-page "https://sourceforge.net/projects/lazy-regex")
25d51164
PW
2535 (synopsis "Replaces/Enhances Text.Regex")
2536 (description "This library provides one module layer over
2537@code{regex-posix} to replace @code{Text.Regex}.")
3ac73271 2538 (license license:bsd-3)))
25d51164 2539
34128d2b
PW
2540(define-public ghc-regex-tdfa-rc
2541 (package
2542 (name "ghc-regex-tdfa-rc")
2543 (version "1.1.8.3")
2544 (source
2545 (origin
2546 (method url-fetch)
2547 (uri (string-append
612fddec 2548 "https://hackage.haskell.org/package/regex-tdfa-rc/regex-tdfa-rc-"
34128d2b
PW
2549 version
2550 ".tar.gz"))
2551 (sha256
2552 (base32
2553 "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3"))))
2554 (build-system haskell-build-system)
34128d2b 2555 (inputs
2d47cee2
RW
2556 `(("ghc-regex-base" ,ghc-regex-base)
2557 ("ghc-parsec" ,ghc-parsec)
2558 ("ghc-mtl" ,ghc-mtl)))
34128d2b 2559 (home-page
612fddec 2560 "https://hackage.haskell.org/package/regex-tdfa")
34128d2b
PW
2561 (synopsis "Tagged DFA regex engine for Haskell")
2562 (description "A new all-Haskell \"tagged\" DFA regex engine, inspired by
2563@code{libtre} (fork by Roman Cheplyaka).")
3ac73271 2564 (license license:bsd-3)))
34128d2b 2565
e73ed2a1
DM
2566(define-public ghc-regex-tdfa-text
2567 (package
2568 (name "ghc-regex-tdfa-text")
2569 (version "1.0.0.3")
2570 (source
2571 (origin
2572 (method url-fetch)
2573 (uri (string-append
2574 "https://hackage.haskell.org/package/regex-tdfa-text/"
2575 "regex-tdfa-text-" version ".tar.gz"))
2576 (sha256
2577 (base32
2578 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
2579 (build-system haskell-build-system)
2580 (inputs
2581 `(("ghc-text" ,ghc-text)
2582 ("ghc-regex-base" ,ghc-regex-base)
2583 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
2584 (home-page
2585 "http://hackage.haskell.org/package/regex-tdfa-text")
2586 (synopsis "Text interface for regex-tdfa")
2587 (description
2588 "This provides an extra text interface for regex-tdfa.")
2589 (license license:bsd-3)))
2590
7e2c8cb5
RW
2591(define-public ghc-regex
2592 (package
2593 (name "ghc-regex")
2594 (version "1.0.1.3")
2595 (source
2596 (origin
2597 (method url-fetch)
2598 (uri (string-append "https://hackage.haskell.org/package/regex/"
2599 "regex-" version ".tar.gz"))
2600 (sha256
2601 (base32
2602 "1sjkpkgv4phy5b5v2lr89x4vx4dh44pj0sbvlsp6n86w9v6v4jwb"))))
2603 (build-system haskell-build-system)
2604 (inputs
2605 `(("ghc-base-compat" ,ghc-base-compat)
2606 ("ghc-hashable" ,ghc-hashable)
2607 ("ghc-regex-base" ,ghc-regex-base)
2608 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
2609 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
2610 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
2611 ("ghc-text" ,ghc-text)
2612 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
2613 ("ghc-unordered-containers" ,ghc-unordered-containers)
2614 ("ghc-utf8-string" ,ghc-utf8-string)))
2615 (home-page "http://regex.uk")
2616 (synopsis "Toolkit for regex-base")
2617 (description
2618 "This package provides a regular expression toolkit for @code{regex-base}
2619with compile-time checking of regular expression syntax, data types for
2620matches and captures, a text replacement toolkit, portable options, high-level
2621AWK-like tools for building text processing apps, regular expression macros
2622with parsers and test bench, comprehensive documentation, tutorials and
2623copious examples.")
2624 (license license:bsd-3)))
2625
e372520e
PW
2626(define-public ghc-parsers
2627 (package
2628 (name "ghc-parsers")
fef57b73 2629 (version "0.12.4")
e372520e
PW
2630 (source
2631 (origin
2632 (method url-fetch)
2633 (uri (string-append
612fddec 2634 "https://hackage.haskell.org/package/parsers/parsers-"
e372520e
PW
2635 version
2636 ".tar.gz"))
2637 (sha256
2638 (base32
fef57b73 2639 "07najh7f9y3ahh42z96sw4hnd0kc4x3wm0xlf739y0gh81ys5097"))))
e372520e
PW
2640 (build-system haskell-build-system)
2641 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
2642 ; -package attoparsec-0.13.0.1"
2d47cee2 2643 (inputs
e372520e
PW
2644 `(("ghc-base-orphans" ,ghc-base-orphans)
2645 ("ghc-attoparsec" ,ghc-attoparsec)
2646 ("ghc-parsec" ,ghc-parsec)
2647 ("ghc-scientific" ,ghc-scientific)
2d47cee2
RW
2648 ("ghc-charset" ,ghc-charset)
2649 ("ghc-text" ,ghc-text)
e372520e 2650 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 2651 (home-page "https://github.com/ekmett/parsers/")
e372520e
PW
2652 (synopsis "Parsing combinators")
2653 (description "This library provides convenient combinators for working
2654with and building parsing combinator libraries. Given a few simple instances,
2655you get access to a large number of canned definitions. Instances exist for
2656the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
2657@code{Text.Read}.")
3ac73271 2658 (license license:bsd-3)))
e372520e 2659
93248cfd
PW
2660(define-public ghc-trifecta
2661 (package
2662 (name "ghc-trifecta")
183d1b1a 2663 (version "1.7.1.1")
3ea25176
DC
2664 (source (origin
2665 (method url-fetch)
2666 (uri (string-append
2667 "https://hackage.haskell.org/package/trifecta/"
2668 "trifecta-" version ".tar.gz"))
2669 (sha256
2670 (base32
183d1b1a 2671 "13n6a3fdxngnzsjnhfrzigv1c2g0xm6lqkjcnirpc37sd0rpby31"))))
93248cfd 2672 (build-system haskell-build-system)
2d47cee2 2673 (inputs
183d1b1a
RW
2674 `(("ghc-doctest" ,ghc-doctest-0.13)
2675 ("ghc-reducers" ,ghc-reducers)
2d47cee2
RW
2676 ("ghc-semigroups" ,ghc-semigroups)
2677 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
93248cfd
PW
2678 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2679 ("ghc-blaze-builder" ,ghc-blaze-builder)
2680 ("ghc-blaze-html" ,ghc-blaze-html)
2681 ("ghc-blaze-markup" ,ghc-blaze-markup)
3ea25176
DC
2682 ("ghc-charset" ,ghc-charset)
2683 ("ghc-comonad" ,ghc-comonad)
2684 ("ghc-doctest" ,ghc-doctest)
93248cfd
PW
2685 ("ghc-fingertree" ,ghc-fingertree)
2686 ("ghc-hashable" ,ghc-hashable)
3ea25176 2687 ("ghc-lens" ,ghc-lens)
93248cfd
PW
2688 ("ghc-mtl" ,ghc-mtl)
2689 ("ghc-parsers" ,ghc-parsers)
3ea25176
DC
2690 ("ghc-profunctors" ,ghc-profunctors)
2691 ("ghc-quickcheck" ,ghc-quickcheck)
93248cfd
PW
2692 ("ghc-unordered-containers" ,ghc-unordered-containers)
2693 ("ghc-utf8-string" ,ghc-utf8-string)))
183d1b1a
RW
2694 (native-inputs
2695 `(("cabal-doctest" ,cabal-doctest)))
612fddec 2696 (home-page "https://github.com/ekmett/trifecta/")
93248cfd
PW
2697 (synopsis "Parser combinator library with convenient diagnostics")
2698 (description "Trifecta is a modern parser combinator library for Haskell,
2699with slicing and Clang-style colored diagnostics.")
3ac73271 2700 (license license:bsd-3)))
93248cfd 2701
5e51bcf7
RW
2702(define-public ghc-time-locale-compat
2703 (package
2704 (name "ghc-time-locale-compat")
2705 (version "0.1.1.3")
2706 (source
2707 (origin
2708 (method url-fetch)
2709 (uri (string-append "https://hackage.haskell.org/package/"
2710 "time-locale-compat/time-locale-compat-"
2711 version ".tar.gz"))
2712 (sha256
2713 (base32
2714 "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i"))))
2715 (build-system haskell-build-system)
2716 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
2717 (home-page "https://github.com/khibino/haskell-time-locale-compat")
2718 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
2719 (description "This package contains a wrapped name module for
2720@code{TimeLocale}.")
2721 (license license:bsd-3)))
2722
bc74e0e1
PW
2723(define-public ghc-attoparsec
2724 (package
2725 (name "ghc-attoparsec")
1b1a1067 2726 (version "0.13.2.2")
bc74e0e1
PW
2727 (source
2728 (origin
2729 (method url-fetch)
2730 (uri (string-append
612fddec 2731 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
bc74e0e1
PW
2732 version
2733 ".tar.gz"))
2734 (sha256
2735 (base32
1b1a1067 2736 "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx"))))
bc74e0e1 2737 (build-system haskell-build-system)
1b1a1067
RW
2738 ;; FIXME: at least on test fails with QuickCheck > 2.9.2. Once upstream
2739 ;; has updated the tests to work with a later version of QuickCheck we can
2740 ;; re-enable them.
2741 (arguments `(#:tests? #f))
bc74e0e1 2742 (inputs
2d47cee2
RW
2743 `(("ghc-scientific" ,ghc-scientific)
2744 ("ghc-text" ,ghc-text)))
2745 (native-inputs
1b1a1067
RW
2746 `(("ghc-tasty" ,ghc-tasty)
2747 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2748 ("ghc-quickcheck" ,ghc-quickcheck)
19206f5e 2749 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
bc74e0e1
PW
2750 ("ghc-vector" ,ghc-vector)))
2751 (home-page "https://github.com/bos/attoparsec")
2752 (synopsis "Fast combinator parsing for bytestrings and text")
2753 (description "This library provides a fast parser combinator library,
2754aimed particularly at dealing efficiently with network protocols and
2755complicated text/binary file formats.")
3ac73271 2756 (license license:bsd-3)))
bc74e0e1 2757
ca41c155
PW
2758(define-public ghc-zip-archive
2759 (package
2760 (name "ghc-zip-archive")
2025964b 2761 (version "0.3.0.5")
ca41c155
PW
2762 (source
2763 (origin
2764 (method url-fetch)
2765 (uri (string-append
612fddec 2766 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
ca41c155
PW
2767 version
2768 ".tar.gz"))
2769 (sha256
2770 (base32
2025964b 2771 "1iwpzjck4jg9bz1yqky051i2wljsqc14q5zbi10dydfp8ip3d0yw"))))
ca41c155 2772 (build-system haskell-build-system)
ca41c155 2773 (inputs
2d47cee2
RW
2774 `(("ghc-old-time" ,ghc-old-time)
2775 ("ghc-digest" ,ghc-digest)
ca41c155 2776 ("zip" ,zip)
2d47cee2 2777 ("ghc-mtl" ,ghc-mtl)
2025964b 2778 ("ghc-temporary" ,ghc-temporary)
ca41c155
PW
2779 ("ghc-text" ,ghc-text)
2780 ("ghc-zlib" ,ghc-zlib)))
2d47cee2
RW
2781 (native-inputs
2782 `(("ghc-hunit" ,ghc-hunit)))
ca41c155
PW
2783 (home-page "https://hackage.haskell.org/package/zip-archive")
2784 (synopsis "Zip archive library for Haskell")
2785 (description "The zip-archive library provides functions for creating,
2786modifying, and extracting files from zip archives in Haskell.")
3ac73271 2787 (license license:bsd-3)))
ca41c155 2788
fa4f5024
PW
2789(define-public ghc-distributive
2790 (package
2791 (name "ghc-distributive")
c2d30e31 2792 (version "0.5.3")
fa4f5024
PW
2793 (source
2794 (origin
2795 (method url-fetch)
2796 (uri (string-append
612fddec 2797 "https://hackage.haskell.org/package/distributive/distributive-"
fa4f5024
PW
2798 version
2799 ".tar.gz"))
2800 (sha256
2801 (base32
c2d30e31 2802 "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi"))))
fa4f5024 2803 (build-system haskell-build-system)
2d47cee2 2804 (inputs
fa4f5024 2805 `(("ghc-tagged" ,ghc-tagged)
c2d30e31
RW
2806 ("ghc-base-orphans" ,ghc-base-orphans)
2807 ("ghc-transformers-compat" ,ghc-transformers-compat)
2808 ("ghc-semigroups" ,ghc-semigroups)
2809 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2810 (native-inputs
2811 `(("cabal-doctest" ,cabal-doctest)
2812 ("ghc-doctest" ,ghc-doctest-0.12)
2813 ("ghc-hspec" ,ghc-hspec)
2814 ("hspec-discover" ,hspec-discover)))
612fddec 2815 (home-page "https://github.com/ekmett/distributive/")
fa4f5024
PW
2816 (synopsis "Distributive functors for Haskell")
2817 (description "This package provides distributive functors for Haskell.
2818Dual to @code{Traversable}.")
3ac73271 2819 (license license:bsd-3)))
fa4f5024 2820
10e61452
PW
2821(define-public ghc-cereal
2822 (package
2823 (name "ghc-cereal")
3295a6da 2824 (version "0.5.3.0")
10e61452
PW
2825 (source
2826 (origin
2827 (method url-fetch)
2828 (uri (string-append
612fddec 2829 "https://hackage.haskell.org/package/cereal/cereal-"
10e61452
PW
2830 version
2831 ".tar.gz"))
2832 (sha256
2833 (base32
3295a6da 2834 "1x4aib7nnaf4x2b9zlndq5n5zsqniw78jifkf55nhnbmvryf05n3"))))
10e61452 2835 (build-system haskell-build-system)
3295a6da
RW
2836 (native-inputs
2837 `(("ghc-quickcheck" ,ghc-quickcheck)
2838 ("ghc-fail" ,ghc-fail)
2839 ("ghc-test-framework" ,ghc-test-framework)
2840 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 2841 (home-page "https://hackage.haskell.org/package/cereal")
10e61452
PW
2842 (synopsis "Binary serialization library")
2843 (description "This package provides a binary serialization library,
2844similar to @code{binary}, that introduces an @code{isolate} primitive for
2845parser isolation, and labeled blocks for better error messages.")
3ac73271 2846 (license license:bsd-3)))
10e61452 2847
40b56b52
PW
2848(define-public ghc-comonad
2849 (package
2850 (name "ghc-comonad")
4854c7be 2851 (version "5")
40b56b52
PW
2852 (source
2853 (origin
2854 (method url-fetch)
2855 (uri (string-append
612fddec 2856 "https://hackage.haskell.org/package/comonad/comonad-"
40b56b52
PW
2857 version
2858 ".tar.gz"))
2859 (sha256
2860 (base32
4854c7be 2861 "0anb36m9z52y9xsipxzj9w1b41b2rj8r389cxd6d20dplnfv3rbq"))))
40b56b52 2862 (build-system haskell-build-system)
bdd4aa16
TGR
2863 (native-inputs
2864 `(("ghc-doctest" ,ghc-doctest)))
40b56b52 2865 (inputs
7e95d0fd
TGR
2866 `(("ghc-contravariant" ,ghc-contravariant)
2867 ("ghc-distributive" ,ghc-distributive)
2d47cee2 2868 ("ghc-semigroups" ,ghc-semigroups)
40b56b52 2869 ("ghc-tagged" ,ghc-tagged)
7e95d0fd 2870 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 2871 (home-page "https://github.com/ekmett/comonad/")
40b56b52
PW
2872 (synopsis "Comonads for Haskell")
2873 (description "This library provides @code{Comonad}s for Haskell.")
3ac73271 2874 (license license:bsd-3)))
40b56b52 2875
ce78a0f5
PW
2876(define-public hscolour
2877 (package
2878 (name "hscolour")
c710d4e8 2879 (version "1.24.1")
ce78a0f5
PW
2880 (source
2881 (origin
2882 (method url-fetch)
2883 (uri (string-append
612fddec 2884 "https://hackage.haskell.org/package/hscolour/hscolour-"
ce78a0f5
PW
2885 version
2886 ".tar.gz"))
2887 (sha256
2888 (base32
c710d4e8 2889 "1j3rpzjygh3igvnd1n2xn63bq68rs047cjxr2qi6xyfnivgf6vz4"))))
ce78a0f5
PW
2890 (build-system haskell-build-system)
2891 (home-page "https://hackage.haskell.org/package/hscolour")
2892 (synopsis "Script to colourise Haskell code")
2893 (description "HSColour is a small Haskell script to colourise Haskell
2894code. It currently has six output formats: ANSI terminal codes (optionally
2895XTerm-256colour codes), HTML 3.2 with font tags, HTML 4.01 with CSS, HTML 4.01
2896with CSS and mouseover annotations, XHTML 1.0 with inline CSS styling, LaTeX,
2897and mIRC chat codes.")
3ac73271 2898 (license license:bsd-3)))
ce78a0f5 2899
47038762
PW
2900(define-public ghc-polyparse
2901 (package
2902 (name "ghc-polyparse")
7fb6eb17 2903 (version "1.12")
47038762
PW
2904 (source
2905 (origin
2906 (method url-fetch)
2907 (uri (string-append
612fddec 2908 "https://hackage.haskell.org/package/polyparse/polyparse-"
47038762
PW
2909 version
2910 ".tar.gz"))
2911 (sha256
2912 (base32
7fb6eb17 2913 "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m"))))
47038762 2914 (build-system haskell-build-system)
2d47cee2 2915 (inputs
47038762
PW
2916 `(("ghc-text" ,ghc-text)))
2917 (home-page
2918 "http://code.haskell.org/~malcolm/polyparse/")
2919 (synopsis
2920 "Alternative parser combinator libraries")
2921 (description
2922 "This package provides a variety of alternative parser combinator
2923libraries, including the original HuttonMeijer set. The Poly sets have
2924features like good error reporting, arbitrary token type, running state, lazy
2925parsing, and so on. Finally, Text.Parse is a proposed replacement for the
2926standard Read class, for better deserialisation of Haskell values from
2927Strings.")
3ac73271 2928 (license license:lgpl2.1)))
47038762 2929
fad564ec
PW
2930(define-public ghc-extra
2931 (package
2932 (name "ghc-extra")
7d4de988 2933 (version "1.6.3")
fad564ec
PW
2934 (source
2935 (origin
2936 (method url-fetch)
2937 (uri (string-append
612fddec 2938 "https://hackage.haskell.org/package/extra/extra-"
fad564ec
PW
2939 version
2940 ".tar.gz"))
2941 (sha256
2942 (base32
7d4de988 2943 "06ds0jlx6sljwdf63l154qbzia9mnsri79i9qm3xikky3nj9ia1m"))))
fad564ec 2944 (build-system haskell-build-system)
7d4de988
RW
2945 (inputs
2946 `(("ghc-clock" ,ghc-clock)
2947 ("ghc-quickcheck" ,ghc-quickcheck)))
fad564ec
PW
2948 (home-page "https://github.com/ndmitchell/extra")
2949 (synopsis "Extra Haskell functions")
2950 (description "This library provides extra functions for the standard
2951Haskell libraries. Most functions are simple additions, filling out missing
2952functionality. A few functions are available in later versions of GHC, but
2953this package makes them available back to GHC 7.2.")
3ac73271 2954 (license license:bsd-3)))
fad564ec 2955
f221841c
PW
2956(define-public ghc-profunctors
2957 (package
2958 (name "ghc-profunctors")
4a1b5600 2959 (version "5.2.2")
f221841c
PW
2960 (source
2961 (origin
2962 (method url-fetch)
2963 (uri (string-append
612fddec 2964 "https://hackage.haskell.org/package/profunctors/profunctors-"
f221841c
PW
2965 version
2966 ".tar.gz"))
2967 (sha256
2968 (base32
4a1b5600 2969 "0s1pwjidbn761xk43pmzyvn99hm3psdifjd78ylki7f97aiyd0g9"))))
f221841c 2970 (build-system haskell-build-system)
f221841c 2971 (inputs
4a1b5600
RW
2972 `(("ghc-base-orphans" ,ghc-base-orphans)
2973 ("ghc-bifunctors" ,ghc-bifunctors)
2d47cee2 2974 ("ghc-comonad" ,ghc-comonad)
4a1b5600
RW
2975 ("ghc-contravariant" ,ghc-contravariant)
2976 ("ghc-distributive" ,ghc-distributive)
2977 ("ghc-semigroups" ,ghc-semigroups)
f221841c 2978 ("ghc-tagged" ,ghc-tagged)))
612fddec 2979 (home-page "https://github.com/ekmett/profunctors/")
f221841c
PW
2980 (synopsis "Profunctors for Haskell")
2981 (description "This library provides profunctors for Haskell.")
3ac73271 2982 (license license:bsd-3)))
f221841c 2983
d2639cbc
PW
2984(define-public ghc-reducers
2985 (package
2986 (name "ghc-reducers")
2815963b 2987 (version "3.12.2")
d2639cbc
PW
2988 (source
2989 (origin
2990 (method url-fetch)
2991 (uri (string-append
612fddec 2992 "https://hackage.haskell.org/package/reducers/reducers-"
d2639cbc
PW
2993 version
2994 ".tar.gz"))
2995 (sha256
2996 (base32
2815963b 2997 "1gbaa5x4zbvnbklcb0d4q4m8hk6w0gz4s0c4m288czi1nw43dl65"))))
d2639cbc 2998 (build-system haskell-build-system)
d2639cbc
PW
2999 (inputs
3000 `(("ghc-fingertree" ,ghc-fingertree)
3001 ("ghc-hashable" ,ghc-hashable)
3002 ("ghc-text" ,ghc-text)
3003 ("ghc-unordered-containers" ,ghc-unordered-containers)
2d47cee2 3004 ("ghc-semigroupoids" ,ghc-semigroupoids)
d2639cbc 3005 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 3006 (home-page "https://github.com/ekmett/reducers/")
d2639cbc
PW
3007 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
3008 (description "This library provides various semigroups, specialized
3009containers and a general map/reduce framework for Haskell.")
3ac73271 3010 (license license:bsd-3)))
d2639cbc 3011
76ae28f1
PW
3012(define-public ghc-appar
3013 (package
3014 (name "ghc-appar")
3015 (version "0.1.4")
3016 (source
3017 (origin
3018 (method url-fetch)
3019 (uri (string-append
612fddec 3020 "https://hackage.haskell.org/package/appar/appar-"
76ae28f1
PW
3021 version
3022 ".tar.gz"))
3023 (sha256
3024 (base32
3025 "09jb9ij78fdkz2qk66rw99q19qnm504dpv0yq0pjsl6xwjmndsjq"))))
3026 (build-system haskell-build-system)
3027 (home-page
612fddec 3028 "https://hackage.haskell.org/package/appar")
76ae28f1
PW
3029 (synopsis "Simple applicative parser")
3030 (description "This package provides a simple applicative parser in Parsec
3031style.")
3ac73271 3032 (license license:bsd-3)))
76ae28f1 3033
78c5b39d
PW
3034(define-public ghc-safe
3035 (package
3036 (name "ghc-safe")
3037 (version "0.3.9")
3038 (source
3039 (origin
3040 (method url-fetch)
3041 (uri (string-append
612fddec 3042 "https://hackage.haskell.org/package/safe/safe-"
78c5b39d
PW
3043 version
3044 ".tar.gz"))
3045 (sha256
3046 (base32
3047 "1jdnp5zhvalf1xy8i872n29nljfjz6lnl9ghj80ffisrnnkrwcfh"))))
3048 (build-system haskell-build-system)
3049 (home-page "https://github.com/ndmitchell/safe#readme")
3050 (synopsis "Library of safe (exception free) functions")
3051 (description "This library provides wrappers around @code{Prelude} and
3052@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
3053exceptions.")
3ac73271 3054 (license license:bsd-3)))
78c5b39d 3055
476f7bab
PW
3056(define-public ghc-generic-deriving
3057 (package
3058 (name "ghc-generic-deriving")
24857542 3059 (version "1.11.1")
476f7bab
PW
3060 (source
3061 (origin
3062 (method url-fetch)
3063 (uri (string-append
612fddec 3064 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
476f7bab
PW
3065 version
3066 ".tar.gz"))
3067 (sha256
3068 (base32
24857542 3069 "1sdh5hpcwvh3b6zvgfk3pr3hla8p88l82njnih880c0gk5zl53dk"))))
476f7bab 3070 (build-system haskell-build-system)
24857542
RW
3071 (native-inputs
3072 `(("ghc-hspec" ,ghc-hspec)
3073 ("hspec-discover" ,hspec-discover)))
476f7bab
PW
3074 (home-page "https://hackage.haskell.org/package/generic-deriving")
3075 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3076 (description "This package provides functionality for generalising the
3077deriving mechanism in Haskell to arbitrary classes.")
3ac73271 3078 (license license:bsd-3)))
476f7bab 3079
b10f7be3
PW
3080(define-public ghc-pcre-light
3081 (package
3082 (name "ghc-pcre-light")
eff94e6b 3083 (version "0.4.0.4")
b10f7be3
PW
3084 (source
3085 (origin
3086 (method url-fetch)
3087 (uri (string-append
612fddec 3088 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
b10f7be3
PW
3089 version
3090 ".tar.gz"))
3091 (sha256
3092 (base32
eff94e6b 3093 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
b10f7be3
PW
3094 (build-system haskell-build-system)
3095 (inputs
3096 `(("pcre" ,pcre)))
eff94e6b
RW
3097 (native-inputs
3098 `(("pkg-config" ,pkg-config)))
b10f7be3
PW
3099 (home-page "https://github.com/Daniel-Diaz/pcre-light")
3100 (synopsis "Haskell library for Perl 5 compatible regular expressions")
3101 (description "This package provides a small, efficient, and portable regex
3102library for Perl 5 compatible regular expressions. The PCRE library is a set
3103of functions that implement regular expression pattern matching using the same
3104syntax and semantics as Perl 5.")
3ac73271 3105 (license license:bsd-3)))
b10f7be3 3106
748463be
PW
3107(define-public ghc-logict
3108 (package
3109 (name "ghc-logict")
3110 (version "0.6.0.2")
3111 (source
3112 (origin
3113 (method url-fetch)
3114 (uri (string-append
612fddec 3115 "https://hackage.haskell.org/package/logict/logict-"
748463be
PW
3116 version
3117 ".tar.gz"))
3118 (sha256
3119 (base32
3120 "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi"))))
3121 (build-system haskell-build-system)
3122 (inputs `(("ghc-mtl" ,ghc-mtl)))
3123 (home-page "http://code.haskell.org/~dolio/")
3124 (synopsis "Backtracking logic-programming monad")
3125 (description "This library provides a continuation-based, backtracking,
3126logic programming monad. An adaptation of the two-continuation implementation
3127found in the paper \"Backtracking, Interleaving, and Terminating Monad
3128Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
3129online}.")
3ac73271 3130 (license license:bsd-3)))
748463be 3131
d10fed28
PW
3132(define-public ghc-xml
3133 (package
3134 (name "ghc-xml")
3135 (version "1.3.14")
3136 (source
3137 (origin
3138 (method url-fetch)
3139 (uri (string-append
612fddec 3140 "https://hackage.haskell.org/package/xml/xml-"
d10fed28
PW
3141 version
3142 ".tar.gz"))
3143 (sha256
3144 (base32
3145 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
3146 (build-system haskell-build-system)
2d47cee2 3147 (inputs
d10fed28
PW
3148 `(("ghc-text" ,ghc-text)))
3149 (home-page "http://code.galois.com")
3150 (synopsis "Simple XML library for Haskell")
3151 (description "This package provides a simple XML library for Haskell.")
3ac73271 3152 (license license:bsd-3)))
d10fed28 3153
e3aae496
TS
3154(define-public ghc-feed
3155 (package
3156 (name "ghc-feed")
3157 (version "0.3.12.0")
3158 (source
3159 (origin
3160 (method url-fetch)
3161 (uri (string-append "https://hackage.haskell.org/package/"
3162 "feed/feed-" version ".tar.gz"))
3163 (sha256
3164 (base32
3165 "0hkrsinspg70bbm3hwqdrvivws6zya1hyk0a3awpaz82j4xnlbfc"))))
3166 (build-system haskell-build-system)
3167 (inputs
3168 `(("ghc-old-locale" ,ghc-old-locale)
3169 ("ghc-old-time" ,ghc-old-time)
3170 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3171 ("ghc-utf8-string" ,ghc-utf8-string)
3172 ("ghc-xml" ,ghc-xml)))
3173 (native-inputs
3174 `(("ghc-hunit" ,ghc-hunit)
3175 ("ghc-test-framework" ,ghc-test-framework)
3176 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3177 (home-page "https://github.com/bergmark/feed")
3178 (synopsis "Haskell package for handling various syndication formats")
3179 (description "This Haskell package includes tools for generating and
3180consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3181 (license license:bsd-3)))
3182
31cac1ee
PW
3183(define-public ghc-exceptions
3184 (package
3185 (name "ghc-exceptions")
092ab12f 3186 (version "0.8.3")
31cac1ee
PW
3187 (source
3188 (origin
3189 (method url-fetch)
3190 (uri (string-append
612fddec 3191 "https://hackage.haskell.org/package/exceptions/exceptions-"
31cac1ee
PW
3192 version
3193 ".tar.gz"))
3194 (sha256
3195 (base32
092ab12f 3196 "1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd"))))
31cac1ee 3197 (build-system haskell-build-system)
e2d3e4d6
RW
3198 (arguments
3199 `(#:configure-flags (list "--allow-newer=QuickCheck")))
e1e80388
TGR
3200 (native-inputs
3201 `(("ghc-test-framework" ,ghc-test-framework)
3202 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2d47cee2 3203 (inputs
31cac1ee
PW
3204 `(("ghc-stm" ,ghc-stm)
3205 ("ghc-mtl" ,ghc-mtl)
3206 ("ghc-transformers-compat" ,ghc-transformers-compat)))
612fddec 3207 (home-page "https://github.com/ekmett/exceptions/")
31cac1ee
PW
3208 (synopsis "Extensible optionally-pure exceptions")
3209 (description "This library provides extensible optionally-pure exceptions
3210for Haskell.")
3ac73271 3211 (license license:bsd-3)))
31cac1ee 3212
5257c341
PW
3213(define-public ghc-temporary
3214 (package
3215 (name "ghc-temporary")
de428d4d 3216 (version "1.2.0.4")
5257c341
PW
3217 (source
3218 (origin
3219 (method url-fetch)
3220 (uri (string-append
612fddec 3221 "https://hackage.haskell.org/package/temporary/temporary-"
5257c341
PW
3222 version
3223 ".tar.gz"))
3224 (sha256
3225 (base32
de428d4d 3226 "0qk741yqnpd69sksgks2vb7zi50rglp9m498lzw4sh268a017rsi"))))
5257c341 3227 (build-system haskell-build-system)
2d47cee2 3228 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
98b90194 3229 (home-page "https://www.github.com/batterseapower/temporary")
5257c341
PW
3230 (synopsis "Temporary file and directory support")
3231 (description "The functions for creating temporary files and directories
3232in the Haskelll base library are quite limited. This library just repackages
3233the Cabal implementations of its own temporary file and folder functions so
3234that you can use them without linking against Cabal or depending on it being
3235installed.")
3ac73271 3236 (license license:bsd-3)))
5257c341 3237
fa67563c
PW
3238(define-public ghc-temporary-rc
3239 (package
3240 (name "ghc-temporary-rc")
3241 (version "1.2.0.3")
3242 (source
3243 (origin
3244 (method url-fetch)
3245 (uri (string-append
612fddec 3246 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
fa67563c
PW
3247 version
3248 ".tar.gz"))
3249 (sha256
3250 (base32
3251 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
3252 (build-system haskell-build-system)
2d47cee2 3253 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
fa67563c 3254 (home-page
98b90194 3255 "https://www.github.com/feuerbach/temporary")
fa67563c
PW
3256 (synopsis
3257 "Portable temporary file and directory support")
3258 (description
3259 "The functions for creating temporary files and directories in the base
3260library are quite limited. The unixutils package contains some good ones, but
3261they aren't portable to Windows. This library just repackages the Cabal
3262implementations of its own temporary file and folder functions so that you can
3263use them without linking against Cabal or depending on it being installed.
3264This is a better maintained fork of the \"temporary\" package.")
3ac73271 3265 (license license:bsd-3)))
fa67563c 3266
b53fa046
PW
3267(define-public ghc-smallcheck
3268 (package
3269 (name "ghc-smallcheck")
3270 (version "1.1.1")
3271 (source
3272 (origin
3273 (method url-fetch)
3274 (uri (string-append
612fddec 3275 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
b53fa046
PW
3276 version
3277 ".tar.gz"))
3278 (sha256
3279 (base32
3280 "1ygrabxh40bym3grnzqyfqn96lirnxspb8cmwkkr213239y605sd"))))
3281 (build-system haskell-build-system)
b53fa046 3282 (inputs
2d47cee2
RW
3283 `(("ghc-logict" ,ghc-logict)
3284 ("ghc-mtl" ,ghc-mtl)))
b53fa046
PW
3285 (home-page
3286 "https://github.com/feuerbach/smallcheck")
3287 (synopsis "Property-based testing library")
3288 (description "SmallCheck is a testing library that allows to verify
3289properties for all test cases up to some depth. The test cases are generated
3290automatically by SmallCheck.")
3ac73271 3291 (license license:bsd-3)))
b53fa046 3292
acd881a4
PW
3293(define-public ghc-silently
3294 (package
3295 (name "ghc-silently")
3296 (version "1.2.5")
3297 (source
3298 (origin
3299 (method url-fetch)
3300 (uri (string-append
612fddec 3301 "https://hackage.haskell.org/package/silently/silently-"
acd881a4
PW
3302 version
3303 ".tar.gz"))
3304 (sha256
3305 (base32
3306 "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf"))))
3307 (build-system haskell-build-system)
3308 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
3309 ;; (inputs
3310 ;; `(("ghc-temporary" ,ghc-temporary)))
3311 (home-page "https://github.com/hspec/silently")
3312 (synopsis "Prevent writing to stdout")
3313 (description "This package provides functions to prevent or capture
3314writing to stdout and other handles.")
3ac73271 3315 (license license:bsd-3)))
acd881a4 3316
7a1e8c74
FB
3317(define-public ghc-case-insensitive
3318 (package
3319 (name "ghc-case-insensitive")
fc9dd558 3320 (version "1.2.0.7")
7a1e8c74
FB
3321 (outputs '("out" "doc"))
3322 (source
3323 (origin
3324 (method url-fetch)
3325 (uri (string-append
612fddec 3326 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
7a1e8c74
FB
3327 version
3328 ".tar.gz"))
3329 (sha256
3330 (base32
fc9dd558 3331 "1j6ahvrz1g5q89y2difyk838yhwjc8z67zr0v2z512qdznc3h38n"))))
7a1e8c74
FB
3332 (build-system haskell-build-system)
3333 (inputs
3334 `(("ghc-hunit" ,ghc-hunit)))
3335 ;; these inputs are necessary to use this library
2d47cee2 3336 (inputs
7a1e8c74
FB
3337 `(("ghc-text" ,ghc-text)
3338 ("ghc-hashable" ,ghc-hashable)))
3339 (arguments
3340 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3341 (home-page
3342 "https://github.com/basvandijk/case-insensitive")
3343 (synopsis "Case insensitive string comparison")
3344 (description
3345 "The module 'Data.CaseInsensitive' provides the 'CI' type constructor
3346which can be parameterised by a string-like type like: 'String', 'ByteString',
3347'Text', etc.. Comparisons of values of the resulting type will be insensitive
3348to cases.")
3ac73271 3349 (license license:bsd-3)))
7a1e8c74 3350
eaa3088e
FB
3351(define-public ghc-syb
3352 (package
3353 (name "ghc-syb")
a306190f 3354 (version "0.6")
eaa3088e
FB
3355 (outputs '("out" "doc"))
3356 (source
3357 (origin
3358 (method url-fetch)
3359 (uri (string-append
612fddec 3360 "https://hackage.haskell.org/package/syb/syb-"
eaa3088e
FB
3361 version
3362 ".tar.gz"))
3363 (sha256
3364 (base32
a306190f 3365 "1p3cnqjm13677r4a966zffzhi9b3a321aln8zs8ckqj0d9z1z3d3"))))
eaa3088e
FB
3366 (build-system haskell-build-system)
3367 (inputs
3368 `(("ghc-hunit" ,ghc-hunit)
3369 ("ghc-mtl" ,ghc-mtl)))
3370 (home-page
3371 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
3372 (synopsis "Scrap Your Boilerplate")
a306190f 3373 (description "This package contains the generics system described in the
eaa3088e 3374/Scrap Your Boilerplate/ papers (see
a306190f
PW
3375@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
3376defines the 'Data' class of types permitting folding and unfolding of
3377constructor applications, instances of this class for primitive types, and a
3378variety of traversals.")
3ac73271 3379 (license license:bsd-3)))
eaa3088e 3380
c5043f4a
FB
3381(define-public ghc-fgl
3382 (package
3383 (name "ghc-fgl")
b1a16000 3384 (version "5.6.0.0")
c5043f4a
FB
3385 (outputs '("out" "doc"))
3386 (source
3387 (origin
3388 (method url-fetch)
3389 (uri (string-append
612fddec 3390 "https://hackage.haskell.org/package/fgl/fgl-"
c5043f4a
FB
3391 version
3392 ".tar.gz"))
3393 (sha256
3394 (base32
b1a16000 3395 "1i6cp4b3w7sjk7y1dq3fh6bci2sm5h3lnbbaw9ln19nwncg2wwll"))))
c5043f4a 3396 (build-system haskell-build-system)
c0a541cb 3397 (arguments
b1a16000
AI
3398 `(#:configure-flags (list "--allow-newer=QuickCheck"
3399 "--allow-newer=hspec")))
ce242fd0 3400 (inputs
3401 `(("ghc-mtl" ,ghc-mtl)
3402 ("ghc-hspec" ,ghc-hspec)
3403 ("ghc-quickcheck" ,ghc-quickcheck)))
98b90194 3404 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
c5043f4a
FB
3405 (synopsis
3406 "Martin Erwig's Functional Graph Library")
3407 (description "The functional graph library, FGL, is a collection of type
3408and function definitions to address graph problems. The basis of the library
3409is an inductive definition of graphs in the style of algebraic data types that
3410encourages inductive, recursive definitions of graph algorithms.")
3ac73271 3411 (license license:bsd-3)))
c5043f4a 3412
4eca62be
EB
3413(define-public ghc-chasingbottoms
3414 (package
3415 (name "ghc-chasingbottoms")
2c72272a 3416 (version "1.3.1.3")
4eca62be
EB
3417 (source
3418 (origin
3419 (method url-fetch)
612fddec 3420 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
4eca62be
EB
3421 "ChasingBottoms-" version ".tar.gz"))
3422 (sha256
3423 (base32
2c72272a 3424 "04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q"))))
4eca62be 3425 (build-system haskell-build-system)
2d47cee2 3426 (inputs
4eca62be
EB
3427 `(("ghc-mtl" ,ghc-mtl)
3428 ("ghc-quickcheck" ,ghc-quickcheck)
3429 ("ghc-random" ,ghc-random)
3430 ("ghc-syb" ,ghc-syb)))
612fddec 3431 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
4eca62be
EB
3432 (synopsis "Testing of partial and infinite values in Haskell")
3433 (description
3434 ;; FIXME: There should be a @comma{} in the uref text, but it is not
3435 ;; rendered properly.
3436 "This is a library for testing code involving bottoms or infinite values.
3437For the underlying theory and a larger example involving use of QuickCheck,
3438see the article
3439@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
3440\"Chasing Bottoms A Case Study in Program Verification in the Presence of
3441Partial and Infinite Values\"}.")
3ac73271 3442 (license license:expat)))
4eca62be 3443
01a687da
FB
3444(define-public ghc-unordered-containers
3445 (package
3446 (name "ghc-unordered-containers")
426f92ba 3447 (version "0.2.7.1")
01a687da
FB
3448 (outputs '("out" "doc"))
3449 (source
3450 (origin
3451 (method url-fetch)
3452 (uri (string-append
612fddec 3453 "https://hackage.haskell.org/package/unordered-containers"
0e03d76a 3454 "/unordered-containers-" version ".tar.gz"))
01a687da
FB
3455 (sha256
3456 (base32
426f92ba 3457 "00npqiphivjp2d7ryqsdavfn4m5v3w1lq2azhdsrfh0wsvqpg4ig"))))
01a687da
FB
3458 (build-system haskell-build-system)
3459 (inputs
c3c61a78
EB
3460 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
3461 ("ghc-hunit" ,ghc-hunit)
3462 ("ghc-quickcheck" ,ghc-quickcheck)
3463 ("ghc-test-framework" ,ghc-test-framework)
3464 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2d47cee2
RW
3465 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3466 ("ghc-hashable" ,ghc-hashable)))
01a687da
FB
3467 (home-page
3468 "https://github.com/tibbe/unordered-containers")
3469 (synopsis
3470 "Efficient hashing-based container types")
3471 (description
3472 "Efficient hashing-based container types. The containers have been
3473optimized for performance critical use, both in terms of large data quantities
3474and high speed.")
3ac73271 3475 (license license:bsd-3)))
01a687da 3476
10de4306
PW
3477(define-public ghc-uniplate
3478 (package
3479 (name "ghc-uniplate")
3480 (version "1.6.12")
3481 (source
3482 (origin
3483 (method url-fetch)
3484 (uri (string-append
612fddec 3485 "https://hackage.haskell.org/package/uniplate/uniplate-"
10de4306
PW
3486 version
3487 ".tar.gz"))
3488 (sha256
3489 (base32
3490 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
3491 (build-system haskell-build-system)
2d47cee2 3492 (inputs
10de4306
PW
3493 `(("ghc-syb" ,ghc-syb)
3494 ("ghc-hashable" ,ghc-hashable)
3495 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3496 (home-page "http://community.haskell.org/~ndm/uniplate/")
3497 (synopsis "Simple, concise and fast generic operations")
3498 (description "Uniplate is a library for writing simple and concise generic
3499operations. Uniplate has similar goals to the original Scrap Your Boilerplate
3500work, but is substantially simpler and faster.")
3ac73271 3501 (license license:bsd-3)))
10de4306 3502
3410470d
PW
3503(define-public ghc-base64-bytestring
3504 (package
3505 (name "ghc-base64-bytestring")
3506 (version "1.0.0.1")
3507 (source
3508 (origin
3509 (method url-fetch)
3510 (uri (string-append
612fddec 3511 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
3410470d
PW
3512 version
3513 ".tar.gz"))
3514 (sha256
3515 (base32
3516 "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db"))))
3517 (build-system haskell-build-system)
3518 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
3519 (home-page "https://github.com/bos/base64-bytestring")
3520 (synopsis "Base64 encoding and decoding for ByteStrings")
3521 (description "This library provides fast base64 encoding and decoding for
3522Haskell @code{ByteString}s.")
3ac73271 3523 (license license:bsd-3)))
3410470d 3524
4e125497
PW
3525(define-public ghc-annotated-wl-pprint
3526 (package
3527 (name "ghc-annotated-wl-pprint")
3528 (version "0.7.0")
3529 (source
3530 (origin
3531 (method url-fetch)
3532 (uri (string-append
612fddec 3533 "https://hackage.haskell.org/package/annotated-wl-pprint"
4e125497
PW
3534 "/annotated-wl-pprint-" version
3535 ".tar.gz"))
3536 (sha256
3537 (base32
3538 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
3539 (build-system haskell-build-system)
3540 (home-page
3541 "https://github.com/david-christiansen/annotated-wl-pprint")
3542 (synopsis
3543 "The Wadler/Leijen Pretty Printer, with annotation support")
3544 (description "This is a modified version of wl-pprint, which was based on
3545Wadler's paper \"A Prettier Printer\". This version allows the library user
3546to annotate the text with semantic information, which can later be rendered in
3547a variety of ways.")
3ac73271 3548 (license license:bsd-3)))
4e125497 3549
febf7ef6
LC
3550(define-public ghc-wl-pprint
3551 (package
3552 (name "ghc-wl-pprint")
3553 (version "1.2")
3554 (source (origin
3555 (method url-fetch)
3556 (uri (string-append
612fddec 3557 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
febf7ef6
LC
3558 version ".tar.gz"))
3559 (sha256
3560 (base32
3561 "166zvk4zwn2zaa9kx66m1av38m34qp6h4i65bri2sfnxgvx0700r"))))
3562 (build-system haskell-build-system)
612fddec 3563 (home-page "https://hackage.haskell.org/package/wl-pprint")
febf7ef6
LC
3564 (synopsis "Wadler/Leijen pretty printer")
3565 (description
3566 "This is a pretty printing library based on Wadler's paper @i{A Prettier
3567Printer}. This version allows the library user to declare overlapping
3568instances of the @code{Pretty} class.")
3569 (license license:bsd-3)))
3570
e9333348
PW
3571(define-public ghc-ansi-wl-pprint
3572 (package
3573 (name "ghc-ansi-wl-pprint")
05916da7 3574 (version "0.6.8.2")
e9333348
PW
3575 (source
3576 (origin
3577 (method url-fetch)
05916da7
RW
3578 (uri (string-append "https://hackage.haskell.org/package/"
3579 "ansi-wl-pprint/ansi-wl-pprint-"
3580 version ".tar.gz"))
e9333348
PW
3581 (sha256
3582 (base32
05916da7 3583 "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56"))))
e9333348 3584 (build-system haskell-build-system)
2d47cee2 3585 (inputs
e9333348 3586 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
612fddec 3587 (home-page "https://github.com/ekmett/ansi-wl-pprint")
e9333348
PW
3588 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
3589 (description "This is a pretty printing library based on Wadler's paper
3590\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
3591colored output using the ansi-terminal package.")
3ac73271 3592 (license license:bsd-3)))
e9333348 3593
d692228e
FB
3594(define-public ghc-split
3595 (package
3596 (name "ghc-split")
86e9076d 3597 (version "0.2.3.1")
d692228e
FB
3598 (outputs '("out" "doc"))
3599 (source
3600 (origin
3601 (method url-fetch)
3602 (uri (string-append
612fddec 3603 "https://hackage.haskell.org/package/split/split-"
d692228e
FB
3604 version
3605 ".tar.gz"))
3606 (sha256
3607 (base32
86e9076d 3608 "12660m16c6sib3laaxn6w9s453pyx1b49myrmzfij372vq5bc5bn"))))
d692228e 3609 (build-system haskell-build-system)
86e9076d 3610 (native-inputs
d692228e 3611 `(("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 3612 (home-page "https://hackage.haskell.org/package/split")
565f040d
PW
3613 (synopsis "Combinator library for splitting lists")
3614 (description "This package provides a collection of Haskell functions for
3615splitting lists into parts, akin to the @code{split} function found in several
3616mainstream languages.")
3ac73271 3617 (license license:bsd-3)))
d692228e 3618
fa468e87
FB
3619(define-public ghc-parsec
3620 (package
3621 (name "ghc-parsec")
e2439904 3622 (version "3.1.11")
fa468e87
FB
3623 (outputs '("out" "doc"))
3624 (source
3625 (origin
3626 (method url-fetch)
3627 (uri (string-append
612fddec 3628 "https://hackage.haskell.org/package/parsec/parsec-"
fa468e87
FB
3629 version
3630 ".tar.gz"))
3631 (sha256
e2439904 3632 (base32 "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg"))))
fa468e87 3633 (build-system haskell-build-system)
2d47cee2 3634 (native-inputs
fa468e87 3635 `(("ghc-hunit" ,ghc-hunit)))
2d47cee2 3636 (inputs
fa468e87
FB
3637 `(("ghc-text" ,ghc-text)
3638 ("ghc-mtl" ,ghc-mtl)))
3639 (arguments
3640 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
3641 (home-page
3642 "https://github.com/aslatter/parsec")
3643 (synopsis "Monadic parser combinators")
3644 (description "Parsec is a parser library. It is simple, safe, well
3645documented, has extensive libraries, good error messages, and is fast. It is
3646defined as a monad transformer that can be stacked on arbitrary monads, and it
3647is also parametric in the input stream type.")
3ac73271 3648 (license license:bsd-3)))
fa468e87 3649
aeecabd4
RW
3650(define-public ghc-parser-combinators
3651 (package
3652 (name "ghc-parser-combinators")
3653 (version "0.4.0")
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (string-append "https://hackage.haskell.org/package/"
3658 "parser-combinators/parser-combinators-"
3659 version ".tar.gz"))
3660 (sha256
3661 (base32
3662 "1azkz0a6ikym02s8wydjcklp7rz8k512bs4s9lp9g1g03m0yj95i"))))
3663 (build-system haskell-build-system)
3664 (home-page "https://github.com/mrkkrp/parser-combinators")
3665 (synopsis "Commonly useful parser combinators")
3666 (description
3667 "This is a lightweight package providing commonly useful parser
3668combinators.")
3669 (license license:bsd-3)))
3670
ad5de226
RW
3671(define-public ghc-megaparsec
3672 (package
3673 (name "ghc-megaparsec")
3674 (version "6.4.0")
3675 (source
3676 (origin
3677 (method url-fetch)
3678 (uri (string-append "https://hackage.haskell.org/package/"
3679 "megaparsec/megaparsec-"
3680 version ".tar.gz"))
3681 (sha256
3682 (base32
3683 "0h9azhs0dfrc359vrbd1jljrg3yfdbwd4p62cxqkn7mnh8913jpd"))))
3684 (build-system haskell-build-system)
3685 (inputs
3686 `(("ghc-case-insensitive" ,ghc-case-insensitive)
3687 ("ghc-mtl" ,ghc-mtl)
3688 ("ghc-parser-combinators" ,ghc-parser-combinators)
3689 ("ghc-scientific" ,ghc-scientific)
3690 ("ghc-text" ,ghc-text)))
3691 (native-inputs
3692 `(("ghc-quickcheck" ,ghc-quickcheck)
3693 ("ghc-hspec" ,ghc-hspec)
3694 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
3695 ("hspec-discover" ,hspec-discover)))
3696 (home-page "https://github.com/mrkkrp/megaparsec")
3697 (synopsis "Monadic parser combinators")
3698 (description
3699 "This is an industrial-strength monadic parser combinator library.
3700Megaparsec is a feature-rich package that strikes a nice balance between
3701speed, flexibility, and quality of parse errors.")
3702 (license license:bsd-2)))
3703
f50fc138
FB
3704(define-public ghc-vector
3705 (package
3706 (name "ghc-vector")
4c8a1f40 3707 (version "0.12.0.1")
f50fc138
FB
3708 (outputs '("out" "doc"))
3709 (source
3710 (origin
3711 (method url-fetch)
3712 (uri (string-append
612fddec 3713 "https://hackage.haskell.org/package/vector/vector-"
f50fc138
FB
3714 version
3715 ".tar.gz"))
3716 (sha256
3717 (base32
4c8a1f40 3718 "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i"))))
f50fc138 3719 (build-system haskell-build-system)
4c8a1f40
RW
3720 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
3721 ;; disabled for now.
3722 (arguments `(#:tests? #f))
e881752c 3723 (inputs
2d47cee2 3724 `(("ghc-primitive" ,ghc-primitive)
4c8a1f40
RW
3725 ("ghc-random" ,ghc-random)
3726 ("ghc-quickcheck" ,ghc-quickcheck)
3727 ;; ("ghc-hunit" ,ghc-hunit)
3728 ;; ("ghc-test-framework" ,ghc-test-framework)
3729 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3730 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
3731 ))
f50fc138
FB
3732 (home-page "https://github.com/haskell/vector")
3733 (synopsis "Efficient Arrays")
0b61d503
PW
3734 (description "This library provides an efficient implementation of
3735Int-indexed arrays (both mutable and immutable), with a powerful loop
3736optimisation framework.")
3ac73271 3737 (license license:bsd-3)))
f50fc138 3738
576cdc5a
PW
3739(define-public ghc-vector-binary-instances
3740 (package
3741 (name "ghc-vector-binary-instances")
a7c0b95a 3742 (version "0.2.4")
576cdc5a
PW
3743 (source
3744 (origin
3745 (method url-fetch)
3746 (uri (string-append
612fddec 3747 "https://hackage.haskell.org/package/"
576cdc5a
PW
3748 "vector-binary-instances/vector-binary-instances-"
3749 version ".tar.gz"))
3750 (sha256
3751 (base32
a7c0b95a 3752 "1y236jb72iab9ska1mc48z6yb0xgwmj45laaqdyjxksd84z7hbrb"))))
576cdc5a 3753 (build-system haskell-build-system)
576cdc5a 3754 (inputs
a7c0b95a
RW
3755 `(("ghc-vector" ,ghc-vector)))
3756 (native-inputs
3757 `(("ghc-tasty" ,ghc-tasty)
3758 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
576cdc5a
PW
3759 (home-page "https://github.com/bos/vector-binary-instances")
3760 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
3761 (description "This library provides instances of @code{Binary} for the
3762types defined in the @code{vector} package, making it easy to serialize
3763vectors to and from disk. We use the generic interface to vectors, so all
3764vector types are supported. Specific instances are provided for unboxed,
3765boxed and storable vectors.")
3ac73271 3766 (license license:bsd-3)))
576cdc5a 3767
4c798726
TS
3768(define-public ghc-bloomfilter
3769 (package
3770 (name "ghc-bloomfilter")
3771 (version "2.0.1.0")
3772 (source
3773 (origin
3774 (method url-fetch)
3775 (uri (string-append "https://hackage.haskell.org/package/"
3776 "bloomfilter/bloomfilter-" version ".tar.gz"))
3777 (sha256
3778 (base32
3779 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
3780 (build-system haskell-build-system)
3781 (native-inputs
3782 `(("ghc-quickcheck" ,ghc-quickcheck)
3783 ("ghc-random" ,ghc-random)
3784 ("ghc-test-framework" ,ghc-test-framework)
3785 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3786 (home-page "https://github.com/bos/bloomfilter")
3787 (synopsis "Pure and impure Bloom filter implementations")
3788 (description "This package provides both mutable and immutable Bloom
3789filter data types, along with a family of hash functions and an easy-to-use
3790interface.")
3791 (license license:bsd-3)))
3792
abfed253
FB
3793(define-public ghc-network
3794 (package
3795 (name "ghc-network")
2f430bf8 3796 (version "2.6.3.1")
abfed253
FB
3797 (outputs '("out" "doc"))
3798 (source
3799 (origin
3800 (method url-fetch)
3801 (uri (string-append
612fddec 3802 "https://hackage.haskell.org/package/network/network-"
abfed253
FB
3803 version
3804 ".tar.gz"))
3805 (sha256
3806 (base32
2f430bf8 3807 "1rl2gl37cf4k0ddsq93q15fwdz1l25nhl4w205krbh7d5dg5y12p"))))
abfed253 3808 (build-system haskell-build-system)
2f430bf8
RW
3809 ;; The regression tests depend on an unpublished module.
3810 (arguments `(#:tests? #f))
3811 (native-inputs
3812 `(("ghc-hunit" ,ghc-hunit)
3813 ("ghc-doctest" ,ghc-doctest)
3814 ("ghc-test-framework" ,ghc-test-framework)
3815 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
abfed253
FB
3816 (home-page "https://github.com/haskell/network")
3817 (synopsis "Low-level networking interface")
3818 (description
3819 "This package provides a low-level networking interface.")
3ac73271 3820 (license license:bsd-3)))
abfed253 3821
9ce031c5
FB
3822(define-public ghc-network-uri
3823 (package
3824 (name "ghc-network-uri")
29addb27 3825 (version "2.6.1.0")
9ce031c5
FB
3826 (outputs '("out" "doc"))
3827 (source
3828 (origin
3829 (method url-fetch)
3830 (uri (string-append
612fddec 3831 "https://hackage.haskell.org/package/network-uri/network-uri-"
9ce031c5
FB
3832 version
3833 ".tar.gz"))
3834 (sha256
3835 (base32
29addb27 3836 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
9ce031c5 3837 (build-system haskell-build-system)
9ce031c5
FB
3838 (arguments
3839 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
2d47cee2
RW
3840 (native-inputs
3841 `(("ghc-hunit" ,ghc-hunit)))
3842 (inputs
3843 `(("ghc-parsec" ,ghc-parsec)
3844 ("ghc-network" ,ghc-network)))
9ce031c5
FB
3845 (home-page
3846 "https://github.com/haskell/network-uri")
e881752c
AK
3847 (synopsis "Library for URI manipulation")
3848 (description "This package provides an URI manipulation interface. In
9ce031c5
FB
3849'network-2.6' the 'Network.URI' module was split off from the 'network'
3850package into this package.")
3ac73271 3851 (license license:bsd-3)))
9ce031c5 3852
cd27b23d
PW
3853(define-public ghc-ansi-terminal
3854 (package
3855 (name "ghc-ansi-terminal")
3856 (version "0.6.2.3")
3857 (source
3858 (origin
3859 (method url-fetch)
3860 (uri (string-append
612fddec 3861 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
cd27b23d
PW
3862 version
3863 ".tar.gz"))
3864 (sha256
3865 (base32
3866 "0hpfw0k025y681m9ml1c712skrb1p4vh7z5x1f0ci9ww7ssjrh2d"))))
3867 (build-system haskell-build-system)
3868 (home-page "https://github.com/feuerbach/ansi-terminal")
3869 (synopsis "ANSI terminal support for Haskell")
3870 (description "This package provides ANSI terminal support for Haskell. It
3871allows cursor movement, screen clearing, color output showing or hiding the
3872cursor, and changing the title.")
3ac73271 3873 (license license:bsd-3)))
cd27b23d 3874
6ecc4723
PW
3875(define-public ghc-vault
3876 (package
3877 (name "ghc-vault")
a25d3035 3878 (version "0.3.0.6")
6ecc4723
PW
3879 (source
3880 (origin
3881 (method url-fetch)
3882 (uri (string-append
612fddec 3883 "https://hackage.haskell.org/package/vault/vault-"
6ecc4723
PW
3884 version
3885 ".tar.gz"))
3886 (sha256
3887 (base32
a25d3035 3888 "0j7gcs440q7qlgzi2hn36crgp2c0w69k40g6vj9hxlm31zk3shqb"))))
6ecc4723 3889 (build-system haskell-build-system)
2d47cee2 3890 (inputs
6ecc4723
PW
3891 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3892 ("ghc-hashable" ,ghc-hashable)))
3893 (home-page
3894 "https://github.com/HeinrichApfelmus/vault")
3895 (synopsis "Persistent store for arbitrary values")
3896 (description "This package provides vaults for Haskell. A vault is a
3897persistent store for values of arbitrary types. It's like having first-class
3898access to the storage space behind @code{IORefs}. The data structure is
3899analogous to a bank vault, where you can access different bank boxes with
3900different keys; hence the name. Also provided is a @code{locker} type,
3901representing a store for a single element.")
3ac73271 3902 (license license:bsd-3)))
6ecc4723 3903
212ae095
AV
3904(define-public ghc-edisonapi
3905 (package
3906 (name "ghc-edisonapi")
3907 (version "1.3.1")
3908 (source
3909 (origin
3910 (method url-fetch)
3911 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3912 "/EdisonAPI-" version ".tar.gz"))
3913 (sha256
3914 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3915 (build-system haskell-build-system)
3916 (inputs `(("ghc-mtl" ,ghc-mtl)))
3917 (home-page "http://rwd.rdockins.name/edison/home/")
3918 (synopsis "Library of efficient, purely-functional data structures (API)")
3919 (description
3920 "Edison is a library of purely functional data structures written by
3921Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3922value EDiSon (Efficient Data Structures). Edison provides several families of
3923abstractions, each with multiple implementations. The main abstractions
3924provided by Edison are: Sequences such as stacks, queues, and dequeues;
3925Collections such as sets, bags and heaps; and Associative Collections such as
3926finite maps and priority queues where the priority and element are distinct.")
3927 (license license:expat)))
3928
1eced2a7
AV
3929(define-public ghc-edisoncore
3930 (package
3931 (name "ghc-edisoncore")
3932 (version "1.3.1.1")
3933 (source
3934 (origin
3935 (method url-fetch)
3936 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3937 "/EdisonCore-" version ".tar.gz"))
3938 (sha256
3939 (base32 "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry"))))
3940 (build-system haskell-build-system)
3941 (inputs
3942 `(("ghc-mtl" ,ghc-mtl)
3943 ("ghc-quickcheck" ,ghc-quickcheck)
3944 ("ghc-edisonapi" ,ghc-edisonapi)))
3945 (home-page "http://rwd.rdockins.name/edison/home/")
e695d79d 3946 (synopsis "Library of efficient, purely-functional data structures")
1eced2a7
AV
3947 (description
3948 "This package provides the core Edison data structure implementations,
3949including multiple sequence, set, bag, and finite map concrete implementations
3950with various performance characteristics.")
3951 (license license:expat)))
3952
899916b5
PW
3953(define-public ghc-mmorph
3954 (package
3955 (name "ghc-mmorph")
aebb8db2 3956 (version "1.0.6")
899916b5
PW
3957 (source
3958 (origin
3959 (method url-fetch)
3960 (uri (string-append
612fddec 3961 "https://hackage.haskell.org/package/mmorph/mmorph-"
899916b5
PW
3962 version
3963 ".tar.gz"))
3964 (sha256
3965 (base32
aebb8db2 3966 "1i8dzrc5qi3ryc9vrrmpn3sihmramsbhhd592w4w2k5g26qr3hql"))))
899916b5 3967 (build-system haskell-build-system)
aebb8db2
RW
3968 (inputs
3969 `(("ghc-mtl" ,ghc-mtl)
3970 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3971 (home-page "https://hackage.haskell.org/package/mmorph")
899916b5
PW
3972 (synopsis "Monad morphisms")
3973 (description
3974 "This library provides monad morphism utilities, most commonly used for
3975manipulating monad transformer stacks.")
3ac73271 3976 (license license:bsd-3)))
899916b5 3977
a39e6fae
TS
3978(define-public ghc-ifelse
3979 (package
3980 (name "ghc-ifelse")
3981 (version "0.85")
3982 (source
3983 (origin
3984 (method url-fetch)
3985 (uri (string-append "https://hackage.haskell.org/package/"
3986 "IfElse/IfElse-" version ".tar.gz"))
3987 (sha256
3988 (base32
3989 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
3990 (build-system haskell-build-system)
3991 (inputs `(("ghc-mtl" ,ghc-mtl)))
3992 (home-page "http://hackage.haskell.org/package/IfElse")
3993 (synopsis "Monadic control flow with anaphoric variants")
3994 (description "This library provides functions for control flow inside of
3995monads with anaphoric variants on @code{if} and @code{when} and a C-like
3996@code{switch} function.")
3997 (license license:bsd-3)))
3998
85160205
PW
3999(define-public ghc-monad-control
4000 (package
4001 (name "ghc-monad-control")
009d0f6d 4002 (version "1.0.1.0")
85160205
PW
4003 (source
4004 (origin
4005 (method url-fetch)
4006 (uri (string-append
612fddec 4007 "https://hackage.haskell.org/package/monad-control"
85160205
PW
4008 "/monad-control-" version ".tar.gz"))
4009 (sha256
4010 (base32
009d0f6d 4011 "1x018gi5irznx5rgzmkr2nrgh26r8cvqwkcfc6n6y05pdjf21c6l"))))
85160205 4012 (build-system haskell-build-system)
2d47cee2 4013 (inputs
85160205
PW
4014 `(("ghc-stm" ,ghc-stm)
4015 ("ghc-transformers-base" ,ghc-transformers-base)
4016 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4017 (home-page "https://github.com/basvandijk/monad-control")
4018 (synopsis "Monad transformers to lift control operations like exception
4019catching")
4020 (description "This package defines the type class @code{MonadBaseControl},
4021a subset of @code{MonadBase} into which generic control operations such as
4022@code{catch} can be lifted from @code{IO} or any other base monad.")
3ac73271 4023 (license license:bsd-3)))
85160205 4024
005a08e3
AV
4025(define-public ghc-fail
4026 (package
4027 (name "ghc-fail")
4028 (version "4.9.0.0")
4029 (source
4030 (origin
4031 (method url-fetch)
4032 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4033 version ".tar.gz"))
4034 (sha256
4035 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4036 (build-system haskell-build-system)
57184328 4037 (arguments `(#:haddock? #f)) ; Package contains no documentation.
005a08e3
AV
4038 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4039 (synopsis "Forward-compatible MonadFail class")
4040 (description
4041 "This package contains the @code{Control.Monad.Fail} module providing the
4042@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4043class that became available in
4044@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4045older @code{base} package versions. This package turns into an empty package
4046when used with GHC versions which already provide the
4047@code{Control.Monad.Fail} module.")
4048 (license license:bsd-3)))
4049
298af2a8
AV
4050(define-public ghc-monadplus
4051 (package
4052 (name "ghc-monadplus")
4053 (version "1.4.2")
4054 (source
4055 (origin
4056 (method url-fetch)
4057 (uri (string-append "https://hackage.haskell.org/package/monadplus"
4058 "/monadplus-" version ".tar.gz"))
4059 (sha256
4060 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
4061 (build-system haskell-build-system)
4062 (home-page "https://hackage.haskell.org/package/monadplus")
4063 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
4064 (description
4065 "This package generalizes many common stream operations such as
4066@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
4067arbitrary @code{MonadPlus} instances.")
4068 (license license:bsd-3)))
4069
27e7c8b6
PW
4070(define-public ghc-byteorder
4071 (package
4072 (name "ghc-byteorder")
4073 (version "1.0.4")
4074 (source
4075 (origin
4076 (method url-fetch)
4077 (uri (string-append
612fddec 4078 "https://hackage.haskell.org/package/byteorder/byteorder-"
27e7c8b6
PW
4079 version
4080 ".tar.gz"))
4081 (sha256
4082 (base32
4083 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
4084 (build-system haskell-build-system)
4085 (home-page
4086 "http://community.haskell.org/~aslatter/code/byteorder")
4087 (synopsis
4088 "Exposes the native endianness of the system")
4089 (description
4090 "This package is for working with the native byte-ordering of the
4091system.")
3ac73271 4092 (license license:bsd-3)))
27e7c8b6 4093
71470edd
PW
4094(define-public ghc-base-compat
4095 (package
4096 (name "ghc-base-compat")
3433e359 4097 (version "0.9.3")
71470edd
PW
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append
612fddec 4102 "https://hackage.haskell.org/package/base-compat/base-compat-"
71470edd
PW
4103 version
4104 ".tar.gz"))
4105 (sha256
4106 (base32
3433e359 4107 "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x"))))
71470edd 4108 (build-system haskell-build-system)
2d47cee2 4109 (native-inputs
71470edd 4110 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4111 ("ghc-hspec" ,ghc-hspec)
4112 ("hspec-discover" ,hspec-discover)))
71470edd
PW
4113 (home-page "https://hackage.haskell.org/package/base-compat")
4114 (synopsis "Haskell compiler compatibility library")
4115 (description "This library provides functions available in later versions
4116of base to a wider range of compilers, without requiring the use of CPP
4117pragmas in your code.")
3ac73271 4118 (license license:bsd-3)))
71470edd 4119
94e1dc7a
PW
4120(define-public ghc-blaze-builder
4121 (package
4122 (name "ghc-blaze-builder")
3f691f71 4123 (version "0.4.0.2")
94e1dc7a
PW
4124 (source
4125 (origin
4126 (method url-fetch)
4127 (uri (string-append
612fddec 4128 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
94e1dc7a
PW
4129 version
4130 ".tar.gz"))
4131 (sha256
4132 (base32
3f691f71 4133 "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws"))))
94e1dc7a
PW
4134 (build-system haskell-build-system)
4135 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
2d47cee2 4136 (inputs
94e1dc7a
PW
4137 `(("ghc-text" ,ghc-text)
4138 ("ghc-utf8-string" ,ghc-utf8-string)))
612fddec 4139 (home-page "https://github.com/lpsmith/blaze-builder")
94e1dc7a
PW
4140 (synopsis "Efficient buffered output")
4141 (description "This library provides an implementation of the older
4142@code{blaze-builder} interface in terms of the new builder that shipped with
4143@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
4144bridge to the new builder, so that code that uses the old interface can
4145interoperate with code that uses the new implementation.")
3ac73271 4146 (license license:bsd-3)))
94e1dc7a 4147
a311f5d0
PW
4148(define-public ghc-blaze-markup
4149 (package
4150 (name "ghc-blaze-markup")
969d0c64 4151 (version "0.8.2.0")
a311f5d0
PW
4152 (source
4153 (origin
4154 (method url-fetch)
969d0c64
RW
4155 (uri (string-append "https://hackage.haskell.org/package/"
4156 "blaze-markup/blaze-markup-"
4157 version ".tar.gz"))
a311f5d0
PW
4158 (sha256
4159 (base32
969d0c64 4160 "0m3h3ryxj5r74mv5g5dnfq5jbbwmvkl7ray18vi20d5vd93sydj4"))))
a311f5d0 4161 (build-system haskell-build-system)
2d47cee2 4162 (inputs
a311f5d0
PW
4163 `(("ghc-blaze-builder" ,ghc-blaze-builder)
4164 ("ghc-text" ,ghc-text)))
969d0c64
RW
4165 (native-inputs
4166 `(("ghc-hunit" ,ghc-hunit)
4167 ("ghc-quickcheck" ,ghc-quickcheck)
4168 ("ghc-tasty" ,ghc-tasty)
4169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4170 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 4171 (home-page "https://jaspervdj.be/blaze")
a311f5d0
PW
4172 (synopsis "Fast markup combinator library for Haskell")
4173 (description "This library provides core modules of a markup combinator
4174library for Haskell.")
3ac73271 4175 (license license:bsd-3)))
a311f5d0 4176
9525e25f
PW
4177(define-public ghc-easy-file
4178 (package
4179 (name "ghc-easy-file")
4180 (version "0.2.1")
4181 (source
4182 (origin
4183 (method url-fetch)
4184 (uri (string-append
612fddec 4185 "https://hackage.haskell.org/package/easy-file/easy-file-"
9525e25f
PW
4186 version
4187 ".tar.gz"))
4188 (sha256
4189 (base32
4190 "0v75081bx4qzlqy29hh639nzlr7dncwza3qxbzm9njc4jarf31pz"))))
4191 (build-system haskell-build-system)
4192 (home-page
612fddec 4193 "https://github.com/kazu-yamamoto/easy-file")
9525e25f
PW
4194 (synopsis "File handling library for Haskell")
4195 (description "This library provides file handling utilities for Haskell.")
3ac73271 4196 (license license:bsd-3)))
9525e25f 4197
e2fcaff2
PW
4198(define-public ghc-async
4199 (package
4200 (name "ghc-async")
1740cb77 4201 (version "2.1.1.1")
e2fcaff2
PW
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append
612fddec 4206 "https://hackage.haskell.org/package/async/async-"
e2fcaff2
PW
4207 version
4208 ".tar.gz"))
4209 (sha256
4210 (base32
1740cb77 4211 "1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd"))))
e2fcaff2 4212 (build-system haskell-build-system)
e1c1b71c 4213 (inputs
2d47cee2
RW
4214 `(("ghc-stm" ,ghc-stm)
4215 ("ghc-hunit" ,ghc-hunit)
e1c1b71c
EB
4216 ("ghc-test-framework" ,ghc-test-framework)
4217 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
e2fcaff2
PW
4218 (home-page "https://github.com/simonmar/async")
4219 (synopsis "Library to run IO operations asynchronously")
4220 (description "Async provides a library to run IO operations
554093b7 4221asynchronously, and wait for their results. It is a higher-level interface
e2fcaff2
PW
4222over threads in Haskell, in which @code{Async a} is a concurrent thread that
4223will eventually deliver a value of type @code{a}.")
3ac73271 4224 (license license:bsd-3)))
e2fcaff2 4225
49465144
PW
4226(define-public ghc-fingertree
4227 (package
4228 (name "ghc-fingertree")
35deff72 4229 (version "0.1.3.0")
49465144
PW
4230 (source
4231 (origin
4232 (method url-fetch)
4233 (uri (string-append
612fddec 4234 "https://hackage.haskell.org/package/fingertree/fingertree-"
35deff72 4235 version ".tar.gz"))
49465144
PW
4236 (sha256
4237 (base32
35deff72 4238 "1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs"))))
49465144 4239 (build-system haskell-build-system)
ffe8c06e
TGR
4240 (native-inputs
4241 `(("ghc-hunit" ,ghc-hunit)
4242 ("ghc-quickcheck" ,ghc-quickcheck)
4243 ("ghc-test-framework" ,ghc-test-framework)
4244 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4245 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
612fddec 4246 (home-page "https://hackage.haskell.org/package/fingertree")
49465144
PW
4247 (synopsis "Generic finger-tree structure")
4248 (description "This library provides finger trees, a general sequence
4249representation with arbitrary annotations, for use as a base for
4250implementations of various collection types. It includes examples, as
4251described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4252simple general-purpose data structure\".")
3ac73271 4253 (license license:bsd-3)))
49465144 4254
918f690a
PW
4255(define-public ghc-optparse-applicative
4256 (package
4257 (name "ghc-optparse-applicative")
7c86efe7 4258 (version "0.13.0.0")
918f690a
PW
4259 (source
4260 (origin
4261 (method url-fetch)
4262 (uri (string-append
612fddec 4263 "https://hackage.haskell.org/package/optparse-applicative"
918f690a
PW
4264 "/optparse-applicative-" version ".tar.gz"))
4265 (sha256
4266 (base32
7c86efe7 4267 "1b0c5fdq8bd070g24vrjrwlq979r8dk8mys6aji9hy1l9pcv3inf"))))
918f690a 4268 (build-system haskell-build-system)
7c86efe7
RW
4269 ;; These tests fail because the package doesn't come with all needed test
4270 ;; files:
4271 ;; - prop_drops_back_contexts
4272 ;; - prop_context_carry
4273 ;; - prop_help_on_empty
4274 ;; - prop_help_on_empty_sub
4275 (arguments `(#:tests? #f))
2d47cee2 4276 (inputs
918f690a
PW
4277 `(("ghc-transformers-compat" ,ghc-transformers-compat)
4278 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7c86efe7
RW
4279 (native-inputs
4280 `(("ghc-quickcheck" ,ghc-quickcheck)))
918f690a
PW
4281 (home-page "https://github.com/pcapriotti/optparse-applicative")
4282 (synopsis "Utilities and combinators for parsing command line options")
4283 (description "This package provides utilities and combinators for parsing
4284command line options in Haskell.")
3ac73271 4285 (license license:bsd-3)))
918f690a 4286
09fb622c
PW
4287(define-public ghc-base-orphans
4288 (package
4289 (name "ghc-base-orphans")
8184b0f9 4290 (version "0.6")
09fb622c
PW
4291 (source
4292 (origin
4293 (method url-fetch)
4294 (uri (string-append
612fddec 4295 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
09fb622c
PW
4296 version
4297 ".tar.gz"))
4298 (sha256
4299 (base32
8184b0f9 4300 "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67"))))
09fb622c 4301 (build-system haskell-build-system)
2d47cee2 4302 (native-inputs
09fb622c 4303 `(("ghc-quickcheck" ,ghc-quickcheck)
2d47cee2
RW
4304 ("ghc-hspec" ,ghc-hspec)
4305 ("hspec-discover" ,hspec-discover)))
09fb622c
PW
4306 (home-page "https://hackage.haskell.org/package/base-orphans")
4307 (synopsis "Orphan instances for backwards compatibility")
4308 (description "This package defines orphan instances that mimic instances
4309available in later versions of base to a wider (older) range of compilers.")
3ac73271 4310 (license license:bsd-3)))
09fb622c 4311
bc0fb230
PW
4312(define-public ghc-auto-update
4313 (package
4314 (name "ghc-auto-update")
a8e5513c 4315 (version "0.1.4")
bc0fb230
PW
4316 (source
4317 (origin
4318 (method url-fetch)
4319 (uri (string-append
612fddec 4320 "https://hackage.haskell.org/package/auto-update/auto-update-"
bc0fb230
PW
4321 version
4322 ".tar.gz"))
4323 (sha256
4324 (base32
a8e5513c 4325 "09dlh2alsx2mw5kvj931yhbj0aw7jmly2cm9xbscm2sf098w35jy"))))
bc0fb230
PW
4326 (build-system haskell-build-system)
4327 (home-page "https://github.com/yesodweb/wai")
4328 (synopsis "Efficiently run periodic, on-demand actions")
4329 (description "This library provides mechanisms to efficiently run
4330periodic, on-demand actions in Haskell.")
3ac73271 4331 (license license:expat)))
bc0fb230 4332
7f0d5857
PW
4333(define-public ghc-tagged
4334 (package
4335 (name "ghc-tagged")
93303a3a 4336 (version "0.8.5")
7f0d5857
PW
4337 (source
4338 (origin
4339 (method url-fetch)
4340 (uri (string-append
612fddec 4341 "https://hackage.haskell.org/package/tagged/tagged-"
7f0d5857
PW
4342 version
4343 ".tar.gz"))
4344 (sha256
4345 (base32
93303a3a 4346 "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74"))))
7f0d5857 4347 (build-system haskell-build-system)
93303a3a
RW
4348 (inputs
4349 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7f0d5857
PW
4350 (home-page "https://hackage.haskell.org/package/tagged")
4351 (synopsis "Haskell phantom types to avoid passing dummy arguments")
4352 (description "This library provides phantom types for Haskell 98, to avoid
4353having to unsafely pass dummy arguments.")
3ac73271 4354 (license license:bsd-3)))
7f0d5857 4355
a24ec6f2
PW
4356(define-public ghc-unbounded-delays
4357 (package
4358 (name "ghc-unbounded-delays")
4359 (version "0.1.0.9")
4360 (source
4361 (origin
4362 (method url-fetch)
4363 (uri (string-append
612fddec 4364 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
a24ec6f2
PW
4365 version
4366 ".tar.gz"))
4367 (sha256
4368 (base32
4369 "1f4h87503m3smhip432q027wj3zih18pmz2rnafh60589ifcl420"))))
4370 (build-system haskell-build-system)
4371 (home-page "https://github.com/basvandijk/unbounded-delays")
4372 (synopsis "Unbounded thread delays and timeouts")
4373 (description "The @code{threadDelay} and @code{timeout} functions from the
4374Haskell base library use the bounded @code{Int} type for specifying the delay
4375or timeout period. This package provides alternative functions which use the
4376unbounded @code{Integer} type.")
3ac73271 4377 (license license:bsd-3)))
a24ec6f2 4378
f4e5c04e
PW
4379(define-public ghc-clock
4380 (package
4381 (name "ghc-clock")
615abb95 4382 (version "0.7.2")
f4e5c04e
PW
4383 (source
4384 (origin
4385 (method url-fetch)
4386 (uri (string-append
612fddec 4387 "https://hackage.haskell.org/package/"
f4e5c04e
PW
4388 "clock/"
4389 "clock-" version ".tar.gz"))
4390 (sha256
615abb95 4391 (base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
f4e5c04e
PW
4392 (build-system haskell-build-system)
4393 (inputs
4394 `(("ghc-tasty" ,ghc-tasty)
4395 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
4396 (home-page "https://hackage.haskell.org/package/clock")
3f2ce1dc
PW
4397 (synopsis "High-resolution clock for Haskell")
4398 (description "A package for convenient access to high-resolution clock and
4399timer functions of different operating systems via a unified API.")
3ac73271 4400 (license license:bsd-3)))
3f2ce1dc 4401
6ffc5be7
PW
4402(define-public ghc-charset
4403 (package
4404 (name "ghc-charset")
4405 (version "0.3.7.1")
4406 (source
4407 (origin
4408 (method url-fetch)
4409 (uri (string-append
612fddec 4410 "https://hackage.haskell.org/package/charset/charset-"
6ffc5be7
PW
4411 version
4412 ".tar.gz"))
4413 (sha256
4414 (base32
4415 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
4416 (build-system haskell-build-system)
6ffc5be7 4417 (inputs
2d47cee2
RW
4418 `(("ghc-semigroups" ,ghc-semigroups)
4419 ("ghc-unordered-containers" ,ghc-unordered-containers)))
612fddec 4420 (home-page "https://github.com/ekmett/charset")
6ffc5be7
PW
4421 (synopsis "Fast unicode character sets for Haskell")
4422 (description "This package provides fast unicode character sets for
4423Haskell, based on complemented PATRICIA tries.")
3ac73271 4424 (license license:bsd-3)))
6ffc5be7 4425
d76bf618
PW
4426(define-public ghc-bytestring-builder
4427 (package
4428 (name "ghc-bytestring-builder")
934dc8d2 4429 (version "0.10.8.1.0")
d76bf618
PW
4430 (source
4431 (origin
4432 (method url-fetch)
4433 (uri (string-append
612fddec 4434 "https://hackage.haskell.org/package/bytestring-builder"
d76bf618
PW
4435 "/bytestring-builder-" version ".tar.gz"))
4436 (sha256
4437 (base32
934dc8d2 4438 "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
d76bf618
PW
4439 (build-system haskell-build-system)
4440 (arguments `(#:haddock? #f)) ; Package contains no documentation.
612fddec 4441 (home-page "https://hackage.haskell.org/package/bytestring-builder")
d76bf618
PW
4442 (synopsis "The new bytestring builder, packaged outside of GHC")
4443 (description "This package provides the bytestring builder that is
4444debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
4445Compatibility package for older packages.")
3ac73271 4446 (license license:bsd-3)))
d76bf618 4447
878535bd
PW
4448(define-public ghc-nats
4449 (package
4450 (name "ghc-nats")
0798fddf 4451 (version "1.1.1")
878535bd
PW
4452 (source
4453 (origin
4454 (method url-fetch)
4455 (uri (string-append
612fddec 4456 "https://hackage.haskell.org/package/nats/nats-"
878535bd
PW
4457 version
4458 ".tar.gz"))
4459 (sha256
4460 (base32
0798fddf 4461 "1kfl2yy97nb7q0j17v96rl73xvi3z4db9bk0xychc76dax41n78k"))))
878535bd
PW
4462 (build-system haskell-build-system)
4463 (arguments `(#:haddock? #f))
4464 (inputs
4465 `(("ghc-hashable" ,ghc-hashable)))
4466 (home-page "https://hackage.haskell.org/package/nats")
4467 (synopsis "Natural numbers")
4468 (description "This library provides the natural numbers for Haskell.")
3ac73271 4469 (license license:bsd-3)))
878535bd 4470
03f6074b
PW
4471(define-public ghc-void
4472 (package
4473 (name "ghc-void")
4474 (version "0.7.1")
4475 (source
4476 (origin
4477 (method url-fetch)
4478 (uri (string-append
612fddec 4479 "https://hackage.haskell.org/package/void/void-"
03f6074b
PW
4480 version
4481 ".tar.gz"))
4482 (sha256
4483 (base32
4484 "1x15x2axz84ndw2bf60vjqljhrb0w95lddaljsxrl0hcd29zvw69"))))
4485 (build-system haskell-build-system)
03f6074b 4486 (inputs
2d47cee2
RW
4487 `(("ghc-semigroups" ,ghc-semigroups)
4488 ("ghc-hashable" ,ghc-hashable)))
612fddec 4489 (home-page "https://github.com/ekmett/void")
03f6074b
PW
4490 (synopsis
4491 "Logically uninhabited data type")
4492 (description
4493 "A Haskell 98 logically uninhabited data type, used to indicate that a
4494given term should not exist.")
3ac73271 4495 (license license:bsd-3)))
03f6074b 4496
5125f63f
PW
4497(define-public ghc-kan-extensions
4498 (package
4499 (name "ghc-kan-extensions")
88da6cdb 4500 (version "5.0.1")
5125f63f
PW
4501 (source
4502 (origin
4503 (method url-fetch)
4504 (uri (string-append
612fddec 4505 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5125f63f
PW
4506 version
4507 ".tar.gz"))
4508 (sha256
4509 (base32
88da6cdb 4510 "1qm0kf4krmyjbjynn96ab0h3q117vwcia5nin7n2b8b4f3jrzph1"))))
5125f63f 4511 (build-system haskell-build-system)
5125f63f 4512 (inputs
2d47cee2
RW
4513 `(("ghc-adjunctions" ,ghc-adjunctions)
4514 ("ghc-comonad" ,ghc-comonad)
5125f63f
PW
4515 ("ghc-contravariant" ,ghc-contravariant)
4516 ("ghc-distributive" ,ghc-distributive)
4517 ("ghc-free" ,ghc-free)
4518 ("ghc-mtl" ,ghc-mtl)
4519 ("ghc-semigroupoids" ,ghc-semigroupoids)
4520 ("ghc-tagged" ,ghc-tagged)))
612fddec 4521 (home-page "https://github.com/ekmett/kan-extensions/")
5125f63f
PW
4522 (synopsis "Kan extensions library")
4523 (description "This library provides Kan extensions, Kan lifts, various
4524forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
3ac73271 4525 (license license:bsd-3)))
5125f63f 4526
32ddba78
RW
4527(define-public ghc-call-stack
4528 (package
4529 (name "ghc-call-stack")
4530 (version "0.1.0")
4531 (source
4532 (origin
4533 (method url-fetch)
4534 (uri (string-append "https://hackage.haskell.org/package/"
4535 "call-stack/call-stack-"
4536 version ".tar.gz"))
4537 (sha256
4538 (base32
4539 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
4540 (build-system haskell-build-system)
4541 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
4542 (home-page "https://github.com/sol/call-stack#readme")
4543 (synopsis "Use GHC call-stacks in a backward compatible way")
4544 (description "This package provides a compatibility layer for using GHC
4545call stacks with different versions of the compiler.")
4546 (license license:expat)))
4547
e42e9024
RW
4548;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
4549;; because it depends on ghc-nanospec, which depends on ghc-hunit.
4550(define-public ghc-call-stack-boot
4551 (package
4552 (inherit ghc-call-stack)
4553 (arguments '(#:tests? #f))
4554 (inputs '())))
4555
f271524a
PW
4556(define-public ghc-statevar
4557 (package
4558 (name "ghc-statevar")
77c1e8b5 4559 (version "1.1.0.4")
f271524a
PW
4560 (source
4561 (origin
4562 (method url-fetch)
4563 (uri (string-append
612fddec 4564 "https://hackage.haskell.org/package/StateVar/StateVar-"
f271524a
PW
4565 version
4566 ".tar.gz"))
4567 (sha256
4568 (base32
77c1e8b5 4569 "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks"))))
f271524a 4570 (build-system haskell-build-system)
2d47cee2 4571 (inputs
f271524a 4572 `(("ghc-stm" ,ghc-stm)))
612fddec 4573 (home-page "https://hackage.haskell.org/package/StateVar")
f271524a
PW
4574 (synopsis "State variables for Haskell")
4575 (description "This package provides state variables, which are references
4576in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
3ac73271 4577 (license license:bsd-3)))
f271524a 4578
e1a35c39
PW
4579(define-public ghc-lens
4580 (package
4581 (name "ghc-lens")
38646a62 4582 (version "4.15.4")
e1a35c39
PW
4583 (source
4584 (origin
4585 (method url-fetch)
38646a62
RW
4586 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
4587 version ".tar.gz"))
e1a35c39
PW
4588 (sha256
4589 (base32
38646a62 4590 "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl"))))
e1a35c39 4591 (build-system haskell-build-system)
2d47cee2 4592 (inputs
e1a35c39
PW
4593 `(("ghc-base-orphans" ,ghc-base-orphans)
4594 ("ghc-bifunctors" ,ghc-bifunctors)
38646a62 4595 ("ghc-doctest" ,ghc-doctest-0.13)
e1a35c39
PW
4596 ("ghc-distributive" ,ghc-distributive)
4597 ("ghc-exceptions" ,ghc-exceptions)
4598 ("ghc-free" ,ghc-free)
4599 ("ghc-kan-extensions" ,ghc-kan-extensions)
4600 ("ghc-parallel" ,ghc-parallel)
4601 ("ghc-reflection" ,ghc-reflection)
4602 ("ghc-semigroupoids" ,ghc-semigroupoids)
2d47cee2 4603 ("ghc-vector" ,ghc-vector)
38646a62 4604 ("ghc-call-stack" ,ghc-call-stack)
2d47cee2 4605 ("ghc-comonad" ,ghc-comonad)
e1a35c39
PW
4606 ("ghc-contravariant" ,ghc-contravariant)
4607 ("ghc-hashable" ,ghc-hashable)
4608 ("ghc-mtl" ,ghc-mtl)
4609 ("ghc-profunctors" ,ghc-profunctors)
4610 ("ghc-semigroups" ,ghc-semigroups)
4611 ("ghc-tagged" ,ghc-tagged)
4612 ("ghc-text" ,ghc-text)
4613 ("ghc-transformers-compat" ,ghc-transformers-compat)
4614 ("ghc-unordered-containers" ,ghc-unordered-containers)
4615 ("ghc-void" ,ghc-void)
4616 ("ghc-generic-deriving" ,ghc-generic-deriving)
4617 ("ghc-nats" ,ghc-nats)
4618 ("ghc-simple-reflect" ,ghc-simple-reflect)
4619 ("hlint" ,hlint)))
38646a62
RW
4620 (native-inputs
4621 `(("cabal-doctest" ,cabal-doctest)
4622 ("ghc-hunit" ,ghc-hunit)
4623 ("ghc-test-framework" ,ghc-test-framework)
4624 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4625 ("ghc-test-framework-th" ,ghc-test-framework-th)
4626 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4627 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4628 (home-page "https://github.com/ekmett/lens/")
e1a35c39
PW
4629 (synopsis "Lenses, Folds and Traversals")
4630 (description "This library provides @code{Control.Lens}. The combinators
4631in @code{Control.Lens} provide a highly generic toolbox for composing families
4632of getters, folds, isomorphisms, traversals, setters and lenses and their
4633indexed variants.")
3ac73271 4634 (license license:bsd-3)))
e1a35c39 4635
d7e67cf1
PW
4636(define-public ghc-cheapskate
4637 (package
4638 (name "ghc-cheapskate")
e1358124 4639 (version "0.1.1")
d7e67cf1
PW
4640 (source
4641 (origin
4642 (method url-fetch)
4643 (uri (string-append
612fddec 4644 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
d7e67cf1
PW
4645 version
4646 ".tar.gz"))
4647 (sha256
4648 (base32
e1358124 4649 "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432"))))
d7e67cf1 4650 (build-system haskell-build-system)
d7e67cf1 4651 (inputs
e1358124
RW
4652 `(("ghc-mtl" ,ghc-mtl)
4653 ("ghc-text" ,ghc-text)
751de3d6 4654 ("ghc-blaze-html" ,ghc-blaze-html)
e1358124 4655 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
2d47cee2 4656 ("ghc-data-default" ,ghc-data-default)
d7e67cf1 4657 ("ghc-syb" ,ghc-syb)
e1358124 4658 ("ghc-uniplate" ,ghc-uniplate)))
612fddec 4659 (home-page "https://github.com/jgm/cheapskate")
d7e67cf1
PW
4660 (synopsis "Experimental markdown processor")
4661 (description "Cheapskate is an experimental Markdown processor in pure
4662Haskell. It aims to process Markdown efficiently and in the most forgiving
4663possible way. It is designed to deal with any input, including garbage, with
4d9cdf3c
TGR
4664linear performance. Output is sanitized by default for protection against
4665cross-site scripting (@dfn{XSS}) attacks.")
3ac73271 4666 (license license:bsd-3)))
d7e67cf1 4667
4f997551
PW
4668(define-public ghc-bifunctors
4669 (package
4670 (name "ghc-bifunctors")
7044882c 4671 (version "5.5.2")
4f997551
PW
4672 (source
4673 (origin
4674 (method url-fetch)
4675 (uri (string-append
612fddec 4676 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
4f997551
PW
4677 version
4678 ".tar.gz"))
4679 (sha256
4680 (base32
7044882c 4681 "04fbsysm6zl8kmvqgffmrqa9bxl9dl2gibrd51asqzg737mb4ark"))))
4f997551
PW
4682 (build-system haskell-build-system)
4683 (inputs
7044882c
RW
4684 `(("ghc-base-orphans" ,ghc-base-orphans)
4685 ("ghc-comonad" ,ghc-comonad)
4686 ("ghc-th-abstraction" ,ghc-th-abstraction)
4687 ("ghc-transformers-compat" ,ghc-transformers-compat)
4688 ("ghc-tagged" ,ghc-tagged)
4f997551 4689 ("ghc-semigroups" ,ghc-semigroups)))
7044882c
RW
4690 (native-inputs
4691 `(("ghc-hspec" ,ghc-hspec)
4692 ("hspec-discover" ,hspec-discover)
4693 ("ghc-quickcheck" ,ghc-quickcheck)))
612fddec 4694 (home-page "https://github.com/ekmett/bifunctors/")
4f997551
PW
4695 (synopsis "Bifunctors for Haskell")
4696 (description "This package provides bifunctors for Haskell.")
3ac73271 4697 (license license:bsd-3)))
4f997551 4698
aee98223
PW
4699(define-public ghc-semigroupoids
4700 (package
4701 (name "ghc-semigroupoids")
416092e7 4702 (version "5.1")
aee98223
PW
4703 (source
4704 (origin
4705 (method url-fetch)
4706 (uri (string-append
612fddec 4707 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
aee98223
PW
4708 version
4709 ".tar.gz"))
4710 (sha256
4711 (base32
416092e7 4712 "0dgqc59p4xx5cl8qkpm6sn4wd3n59rq7l6din76hf10bnklqrb0n"))))
aee98223 4713 (build-system haskell-build-system)
2d47cee2
RW
4714 (arguments `(#:tests? #f)) ; FIXME: doctest packagedb propagation problem.
4715 (inputs
aee98223
PW
4716 `(("ghc-base-orphans" ,ghc-base-orphans)
4717 ("ghc-transformers-compat" ,ghc-transformers-compat)
4718 ("ghc-bifunctors" ,ghc-bifunctors)
4719 ("ghc-comonad" ,ghc-comonad)
4720 ("ghc-contravariant" ,ghc-contravariant)
2d47cee2
RW
4721 ("ghc-distributive" ,ghc-distributive)
4722 ("ghc-semigroups" ,ghc-semigroups)
aee98223 4723 ("ghc-tagged" ,ghc-tagged)))
612fddec 4724 (home-page "https://github.com/ekmett/semigroupoids")
aee98223
PW
4725 (synopsis "Semigroupoids operations for Haskell")
4726 (description "This library provides a wide array of (semi)groupoids and
4727operations for working with them. A @code{Semigroupoid} is a @code{Category}
4728without the requirement of identity arrows for every object in the category.
4729A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
4730Finally, to work with these weaker structures it is beneficial to have
4731containers that can provide stronger guarantees about their contents, so
4732versions of @code{Traversable} and @code{Foldable} that can be folded with
4733just a @code{Semigroup} are added.")
3ac73271 4734 (license license:bsd-3)))
aee98223 4735
624efe73
PW
4736(define-public ghc-contravariant
4737 (package
4738 (name "ghc-contravariant")
ab880e6e 4739 (version "1.4")
624efe73
PW
4740 (source
4741 (origin
4742 (method url-fetch)
4743 (uri (string-append
612fddec 4744 "https://hackage.haskell.org/package/contravariant/contravariant-"
624efe73
PW
4745 version
4746 ".tar.gz"))
4747 (sha256
4748 (base32
ab880e6e 4749 "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1"))))
624efe73 4750 (build-system haskell-build-system)
2d47cee2 4751 (inputs
624efe73
PW
4752 `(("ghc-void" ,ghc-void)
4753 ("ghc-transformers-compat" ,ghc-transformers-compat)
2d47cee2
RW
4754 ("ghc-statevar" ,ghc-statevar)
4755 ("ghc-semigroups" ,ghc-semigroups)))
624efe73 4756 (home-page
612fddec 4757 "https://github.com/ekmett/contravariant/")
624efe73
PW
4758 (synopsis "Contravariant functors")
4759 (description "Contravariant functors for Haskell.")
3ac73271 4760 (license license:bsd-3)))
624efe73 4761
946fa8c9
PW
4762(define-public ghc-semigroups
4763 (package
4764 (name "ghc-semigroups")
35c99a1f 4765 (version "0.18.2")
946fa8c9
PW
4766 (source
4767 (origin
4768 (method url-fetch)
4769 (uri (string-append
612fddec 4770 "https://hackage.haskell.org/package/semigroups/semigroups-"
946fa8c9
PW
4771 version
4772 ".tar.gz"))
4773 (sha256
4774 (base32
35c99a1f 4775 "1r6hsn3am3dpf4rprrj4m04d9318v9iq02bin0pl29dg4a3gzjax"))))
946fa8c9 4776 (build-system haskell-build-system)
2d47cee2 4777 (inputs
946fa8c9
PW
4778 `(("ghc-nats" ,ghc-nats)
4779 ("ghc-tagged" ,ghc-tagged)
2d47cee2
RW
4780 ("ghc-unordered-containers" ,ghc-unordered-containers)
4781 ("ghc-text" ,ghc-text)
946fa8c9 4782 ("ghc-hashable" ,ghc-hashable)))
612fddec 4783 (home-page "https://github.com/ekmett/semigroups/")
946fa8c9
PW
4784 (synopsis "Semigroup operations for Haskell")
4785 (description "This package provides semigroups for Haskell. In
4786mathematics, a semigroup is an algebraic structure consisting of a set
4787together with an associative binary operation. A semigroup generalizes a
4788monoid in that there might not exist an identity element. It
4789also (originally) generalized a group (a monoid with all inverses) to a type
4790where every element did not have to have an inverse, thus the name
4791semigroup.")
3ac73271 4792 (license license:bsd-3)))
946fa8c9 4793
dc2e8ab7
PW
4794(define-public ghc-free
4795 (package
4796 (name "ghc-free")
c18f82db 4797 (version "4.12.4")
dc2e8ab7
PW
4798 (source
4799 (origin
4800 (method url-fetch)
4801 (uri (string-append
612fddec 4802 "https://hackage.haskell.org/package/free/free-"
dc2e8ab7
PW
4803 version
4804 ".tar.gz"))
4805 (sha256
4806 (base32
c18f82db 4807 "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9"))))
dc2e8ab7 4808 (build-system haskell-build-system)
2d47cee2 4809 (inputs
dc2e8ab7
PW
4810 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4811 ("ghc-profunctors" ,ghc-profunctors)
2d47cee2
RW
4812 ("ghc-exceptions" ,ghc-exceptions)
4813 ("ghc-bifunctors" ,ghc-bifunctors)
dc2e8ab7
PW
4814 ("ghc-comonad" ,ghc-comonad)
4815 ("ghc-distributive" ,ghc-distributive)
4816 ("ghc-mtl" ,ghc-mtl)
4817 ("ghc-semigroupoids" ,ghc-semigroupoids)
4818 ("ghc-semigroups" ,ghc-semigroups)))
612fddec 4819 (home-page "https://github.com/ekmett/free/")
dc2e8ab7
PW
4820 (synopsis "Unrestricted monads for Haskell")
4821 (description "This library provides free monads, which are useful for many
4822tree-like structures and domain specific languages. If @code{f} is a
4823@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4824whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4825is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4826f} makes no constraining assumptions beyond those given by @code{f} and the
4827definition of @code{Monad}.")
3ac73271 4828 (license license:bsd-3)))
dc2e8ab7 4829
52db0e13
PW
4830(define-public ghc-adjunctions
4831 (package
4832 (name "ghc-adjunctions")
3f229b1b 4833 (version "4.3")
52db0e13
PW
4834 (source
4835 (origin
4836 (method url-fetch)
4837 (uri (string-append
612fddec 4838 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
52db0e13
PW
4839 version
4840 ".tar.gz"))
4841 (sha256
4842 (base32
3f229b1b 4843 "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r"))))
52db0e13 4844 (build-system haskell-build-system)
52db0e13 4845 (inputs
2d47cee2
RW
4846 `(("ghc-profunctors" ,ghc-profunctors)
4847 ("ghc-comonad" ,ghc-comonad)
52db0e13
PW
4848 ("ghc-contravariant" ,ghc-contravariant)
4849 ("ghc-distributive" ,ghc-distributive)
4850 ("ghc-free" ,ghc-free)
4851 ("ghc-mtl" ,ghc-mtl)
4852 ("ghc-tagged" ,ghc-tagged)
4853 ("ghc-semigroupoids" ,ghc-semigroupoids)
4854 ("ghc-semigroups" ,ghc-semigroups)
4855 ("ghc-void" ,ghc-void)))
612fddec 4856 (home-page "https://github.com/ekmett/adjunctions/")
52db0e13
PW
4857 (synopsis "Adjunctions and representable functors")
4858 (description "This library provides adjunctions and representable functors
4859for Haskell.")
3ac73271 4860 (license license:bsd-3)))
52db0e13 4861
96f23b62
AV
4862(define-public ghc-equivalence
4863 (package
4864 (name "ghc-equivalence")
4865 (version "0.3.2")
4866 (source
4867 (origin
4868 (method url-fetch)
4869 (uri (string-append "https://hackage.haskell.org/package/equivalence"
4870 "/equivalence-" version ".tar.gz"))
4871 (sha256
4872 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
4873 (build-system haskell-build-system)
4874 (inputs
4875 `(("ghc-mtl" ,ghc-mtl)
4876 ("ghc-stmonadtrans" ,ghc-stmonadtrans)
4877 ("ghc-transformers-compat" ,ghc-transformers-compat)
4878 ("ghc-quickcheck" ,ghc-quickcheck)
4879 ("ghc-test-framework" ,ghc-test-framework)
4880 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4881 (home-page "https://github.com/pa-ba/equivalence")
4882 (synopsis "Maintaining an equivalence relation implemented as union-find")
4883 (description
4884 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
4885Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
488622(2), 1975) in order to maintain an equivalence relation. This
4887implementation is a port of the @code{union-find} package using the @code{ST}
4888monad transformer (instead of the IO monad).")
4889 (license license:bsd-3)))
4890
cc553d02
PW
4891(define-public ghc-fast-logger
4892 (package
4893 (name "ghc-fast-logger")
05c08ec9 4894 (version "2.4.11")
cc553d02
PW
4895 (source
4896 (origin
4897 (method url-fetch)
4898 (uri (string-append
612fddec 4899 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
cc553d02
PW
4900 version
4901 ".tar.gz"))
4902 (sha256
4903 (base32
05c08ec9 4904 "1ad2vq4nifdxshqk9yrmghqizhkgybfz134kpr6padglb2mxxrdv"))))
cc553d02 4905 (build-system haskell-build-system)
cc553d02 4906 (inputs
05c08ec9
RW
4907 `(("ghc-auto-update" ,ghc-auto-update)
4908 ("ghc-easy-file" ,ghc-easy-file)
4909 ("ghc-text" ,ghc-text)
4910 ("ghc-unix-time" ,ghc-unix-time)))
2d47cee2
RW
4911 (native-inputs
4912 `(("hspec-discover" ,hspec-discover)
4913 ("ghc-hspec" ,ghc-hspec)))
cc553d02
PW
4914 (home-page "https://hackage.haskell.org/package/fast-logger")
4915 (synopsis "Fast logging system")
4916 (description "This library provides a fast logging system for Haskell.")
3ac73271 4917 (license license:bsd-3)))
cc553d02 4918
cb2119e4
PW
4919(define-public ghc-doctest
4920 (package
4921 (name "ghc-doctest")
f212b628 4922 (version "0.11.0")
cb2119e4
PW
4923 (source
4924 (origin
4925 (method url-fetch)
4926 (uri (string-append
612fddec 4927 "https://hackage.haskell.org/package/doctest/doctest-"
cb2119e4
PW
4928 version
4929 ".tar.gz"))
4930 (sha256
4931 (base32
f212b628 4932 "0xv4vx1r3mk7cmiwywzrq25545cx3i7imhcx33mk47r88j5c49fj"))))
cb2119e4
PW
4933 (build-system haskell-build-system)
4934 (arguments `(#:tests? #f)) ; FIXME: missing test framework
cb2119e4 4935 (inputs
2d47cee2
RW
4936 `(("ghc-syb" ,ghc-syb)
4937 ("ghc-paths" ,ghc-paths)
4938 ("ghc-base-compat" ,ghc-base-compat)
cb2119e4
PW
4939 ("ghc-hunit" ,ghc-hunit)
4940 ("ghc-hspec" ,ghc-hspec)
4941 ("ghc-quickcheck" ,ghc-quickcheck)
4942 ("ghc-stringbuilder" ,ghc-stringbuilder)
4943 ("ghc-silently" ,ghc-silently)
4944 ("ghc-setenv" ,ghc-setenv)))
4945 (home-page
4946 "https://github.com/sol/doctest#readme")
4947 (synopsis "Test interactive Haskell examples")
4948 (description "The doctest program checks examples in source code comments.
4949It is modeled after doctest for Python, see
98b90194 4950@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3ac73271 4951 (license license:expat)))
cb2119e4 4952
41faaff1
RW
4953(define-public ghc-doctest-0.12
4954 (package (inherit ghc-doctest)
4955 (name "ghc-doctest")
4956 (version "0.12.0")
4957 (source
4958 (origin
4959 (method url-fetch)
4960 (uri (string-append
4961 "https://hackage.haskell.org/package/doctest/doctest-"
4962 version
4963 ".tar.gz"))
4964 (sha256
4965 (base32
4966 "13h549cpgcvb7c54c7wif28g5wak84dxc3ais0hlqhzk1q6la91a"))))
4967 (inputs
4968 `(("ghc-code-page" ,ghc-code-page)
4969 ,@(package-inputs ghc-doctest)))))
4970
83d43619
RW
4971(define-public ghc-doctest-0.13
4972 (package (inherit ghc-doctest-0.12)
4973 (name "ghc-doctest")
4974 (version "0.13.0")
4975 (source
4976 (origin
4977 (method url-fetch)
4978 (uri (string-append "https://hackage.haskell.org/package/"
4979 "doctest/doctest-" version ".tar.gz"))
4980 (sha256
4981 (base32
4982 "08g3nmpqbnbkxc95d65hkhfabwax10qrq51vlynr342npn40mn2b"))))))
4983
6f5e312e
PW
4984(define-public ghc-lifted-base
4985 (package
4986 (name "ghc-lifted-base")
2e67886e 4987 (version "0.2.3.8")
6f5e312e
PW
4988 (source
4989 (origin
4990 (method url-fetch)
4991 (uri (string-append
612fddec 4992 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6f5e312e
PW
4993 version
4994 ".tar.gz"))
4995 (sha256
4996 (base32
2e67886e 4997 "17yz4n7q96x4cp8vxai8csn2vmpigxvipkfh48arahf91f0xy18n"))))
6f5e312e
PW
4998 (build-system haskell-build-system)
4999 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6f5e312e 5000 (inputs
2d47cee2
RW
5001 `(("ghc-transformers-base" ,ghc-transformers-base)
5002 ("ghc-monad-control" ,ghc-monad-control)
5003 ("ghc-transformers-compat" ,ghc-transformers-compat)
6f5e312e
PW
5004 ("ghc-hunit" ,ghc-hunit)))
5005 (home-page "https://github.com/basvandijk/lifted-base")
5006 (synopsis "Lifted IO operations from the base library")
5007 (description "Lifted-base exports IO operations from the @code{base}
5008library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5009Note that not all modules from @code{base} are converted yet. The package
5010includes a copy of the @code{monad-peel} test suite written by Anders
5011Kaseorg.")
3ac73271 5012 (license license:bsd-3)))
6f5e312e 5013
281bc4fd
PW
5014(define-public ghc-word8
5015 (package
5016 (name "ghc-word8")
bc819cdf 5017 (version "0.1.3")
281bc4fd
PW
5018 (source
5019 (origin
5020 (method url-fetch)
5021 (uri (string-append
612fddec 5022 "https://hackage.haskell.org/package/word8/word8-"
281bc4fd
PW
5023 version
5024 ".tar.gz"))
5025 (sha256
5026 (base32
bc819cdf 5027 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
281bc4fd 5028 (build-system haskell-build-system)
2d47cee2
RW
5029 (native-inputs
5030 `(("ghc-hspec" ,ghc-hspec)
5031 ("hspec-discover" ,hspec-discover)))
612fddec 5032 (home-page "https://hackage.haskell.org/package/word8")
281bc4fd
PW
5033 (synopsis "Word8 library for Haskell")
5034 (description "Word8 library to be used with @code{Data.ByteString}.")
3ac73271 5035 (license license:bsd-3)))
281bc4fd 5036
fa709a2f
PW
5037(define-public ghc-stringsearch
5038 (package
5039 (name "ghc-stringsearch")
5040 (version "0.3.6.6")
5041 (source
5042 (origin
5043 (method url-fetch)
5044 (uri (string-append
612fddec 5045 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
fa709a2f
PW
5046 version
5047 ".tar.gz"))
5048 (sha256
5049 (base32
5050 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
5051 (build-system haskell-build-system)
5052 (home-page "https://bitbucket.org/dafis/stringsearch")
5053 (synopsis "Fast searching, splitting and replacing of ByteStrings")
5054 (description "This package provides several functions to quickly search
5055for substrings in strict or lazy @code{ByteStrings}. It also provides
5056functions for breaking or splitting on substrings and replacing all
5057occurrences of a substring (the first in case of overlaps) with another.")
3ac73271 5058 (license license:bsd-3)))
fa709a2f 5059
d0f4853a
RW
5060(define-public ghc-integer-logarithms
5061 (package
5062 (name "ghc-integer-logarithms")
5063 (version "1.0.2")
5064 (source
5065 (origin
5066 (method url-fetch)
5067 (uri (string-append "https://hackage.haskell.org/package/"
5068 "integer-logarithms/integer-logarithms-"
5069 version ".tar.gz"))
5070 (sha256
5071 (base32
5072 "0w5mhak181zi6qr5h2zbcs9ymaqacisp9jwk99naz6s8zz5rq1ii"))))
5073 (build-system haskell-build-system)
5074 (inputs
5075 `(("ghc-tasty" ,ghc-tasty)
5076 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5077 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5078 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5079 ("ghc-quickcheck" ,ghc-quickcheck)
5080 ("ghc-smallcheck" ,ghc-smallcheck)))
5081 (home-page "https://github.com/phadej/integer-logarithms")
5082 (synopsis "Integer logarithms")
5083 (description
5084 "This package provides the following modules:
5085@code{Math.NumberTheory.Logarithms} and
5086@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5087@code{GHC.Integer.Logarithms.Compat} and
5088@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5089in migrated modules.")
5090 (license license:expat)))
5091
a43a38a1
PW
5092(define-public ghc-scientific
5093 (package
5094 (name "ghc-scientific")
a5044b6a 5095 (version "0.3.5.2")
a43a38a1
PW
5096 (source
5097 (origin
5098 (method url-fetch)
5099 (uri (string-append
612fddec 5100 "https://hackage.haskell.org/package/scientific/scientific-"
a43a38a1
PW
5101 version
5102 ".tar.gz"))
5103 (sha256
5104 (base32
a5044b6a 5105 "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w"))))
a43a38a1 5106 (build-system haskell-build-system)
a43a38a1 5107 (inputs
a5044b6a 5108 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
2d47cee2 5109 ("ghc-text" ,ghc-text)
a5044b6a
RW
5110 ("ghc-hashable" ,ghc-hashable)
5111 ("ghc-primitive" ,ghc-primitive)
a43a38a1
PW
5112 ("ghc-tasty" ,ghc-tasty)
5113 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
5114 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5115 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5116 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5117 ("ghc-smallcheck" ,ghc-smallcheck)
5118 ("ghc-quickcheck" ,ghc-quickcheck)))
5119 (home-page "https://github.com/basvandijk/scientific")
5120 (synopsis "Numbers represented using scientific notation")
5121 (description "This package provides @code{Data.Scientific}, which provides
5122the number type @code{Scientific}. Scientific numbers are arbitrary precision
5123and space efficient. They are represented using
98b90194 5124@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
a43a38a1 5125notation}.")
3ac73271 5126 (license license:bsd-3)))
a43a38a1 5127
3f8b8e73
AV
5128(define-public ghc-boxes
5129 (package
5130 (name "ghc-boxes")
5131 (version "0.1.4")
5132 (source
5133 (origin
5134 (method url-fetch)
5135 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
5136 version ".tar.gz"))
5137 (sha256
5138 (base32 "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf"))))
5139 (build-system haskell-build-system)
5140 (inputs
5141 `(("ghc-split" ,ghc-split)
5142 ("ghc-quickcheck" ,ghc-quickcheck)))
5143 (home-page "https://hackage.haskell.org/package/boxes")
5144 (synopsis "2D text pretty-printing library")
5145 (description
5146 "Boxes is a pretty-printing library for laying out text in two dimensions,
5147using a simple box model.")
5148 (license license:bsd-3)))
2aa0bada 5149
4cbd9f59
RW
5150(define-public ghc-deepseq-generics
5151 (package
5152 (name "ghc-deepseq-generics")
59e08129 5153 (version "0.2.0.0")
4cbd9f59
RW
5154 (source (origin
5155 (method url-fetch)
612fddec 5156 (uri (string-append "https://hackage.haskell.org/package/"
4cbd9f59
RW
5157 "deepseq-generics/deepseq-generics-"
5158 version ".tar.gz"))
5159 (sha256
5160 (base32
59e08129 5161 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
4cbd9f59 5162 (build-system haskell-build-system)
4cbd9f59
RW
5163 (native-inputs
5164 `(("ghc-hunit" ,ghc-hunit)
5165 ("ghc-test-framework" ,ghc-test-framework)
5166 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
5167 (home-page "https://github.com/hvr/deepseq-generics")
5168 (synopsis "Generic RNF implementation")
5169 (description
5170 "This package provides a @code{GHC.Generics}-based
5171@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
5172providing an 'rnf' implementation.")
3ac73271 5173 (license license:bsd-3)))
4cbd9f59 5174
e0894701
RW
5175(define-public ghc-string-qq
5176 (package
5177 (name "ghc-string-qq")
5178 (version "0.0.2")
5179 (source
5180 (origin
5181 (method url-fetch)
5182 (uri (string-append
5183 "https://hackage.haskell.org/package/string-qq/string-qq-"
5184 version
5185 ".tar.gz"))
5186 (sha256
5187 (base32
5188 "0662m3i5xrdrr95w829bszkhp88mj9iy1zya54vk2sl5hz9wlmwp"))))
5189 (build-system haskell-build-system)
5190 (home-page "http://hackage.haskell.org/package/string-qq")
5191 (synopsis
5192 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
5193 (description
5194 "This package provides a quasiquoter for non-interpolated strings, texts
5195and bytestrings.")
5196 (license license:public-domain)))
5197
8164d58e
RW
5198(define-public ghc-pandoc-types
5199 (package
5200 (name "ghc-pandoc-types")
cdad36c3 5201 (version "1.17.5.1")
8164d58e
RW
5202 (source (origin
5203 (method url-fetch)
612fddec 5204 (uri (string-append "https://hackage.haskell.org/package/"
8164d58e
RW
5205 "pandoc-types/pandoc-types-"
5206 version ".tar.gz"))
5207 (sha256
5208 (base32
cdad36c3 5209 "1q6v2bynij724fv347mhqxdscwifzrx5jb9mq80608qf638fn717"))))
8164d58e 5210 (build-system haskell-build-system)
9d087076
RW
5211 (arguments
5212 `(#:configure-flags (list "--allow-newer=QuickCheck")))
2d47cee2 5213 (inputs
8164d58e
RW
5214 `(("ghc-syb" ,ghc-syb)
5215 ("ghc-aeson" ,ghc-aeson)
9d087076
RW
5216 ("ghc-string-qq" ,ghc-string-qq)))
5217 (native-inputs
5218 `(("ghc-quickcheck" ,ghc-quickcheck)
5219 ("ghc-test-framework" ,ghc-test-framework)
5220 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5221 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5222 ("ghc-hunit" ,ghc-hunit)))
8164d58e
RW
5223 (home-page "http://johnmacfarlane.net/pandoc")
5224 (synopsis "Types for representing a structured document")
5225 (description
5226 "This module defines the @code{Pandoc} data structure, which is used by
5227pandoc to represent structured documents. It also provides functions for
5228building up, manipulating and serialising @code{Pandoc} structures.")
3ac73271 5229 (license license:bsd-3)))
8164d58e 5230
0f1fef71
RW
5231(define-public ghc-pandoc-types-for-pandoc-1
5232 (package (inherit ghc-pandoc-types)
5233 (version "1.17.0.5")
5234 (source (origin
5235 (method url-fetch)
5236 (uri (string-append "https://hackage.haskell.org/package/"
5237 "pandoc-types/pandoc-types-"
5238 version ".tar.gz"))
5239 (sha256
5240 (base32
5241 "1csipjdq00iiq77k2wlrg4i7afrzlh8nl585q785xzw7nn45b0n8"))))
7ad3d4fd
RW
5242 (arguments
5243 `(#:configure-flags (list "--allow-newer=QuickCheck"
5244 "--allow-newer=HUnit")))
0f1fef71
RW
5245 (inputs
5246 `(("ghc-syb" ,ghc-syb)
5247 ("ghc-aeson" ,ghc-aeson-for-pandoc-1)
5248 ("ghc-string-qq" ,ghc-string-qq)))))
5249
ef2861b1
RW
5250(define-public ghc-texmath
5251 (package
5252 (name "ghc-texmath")
cfac79ba 5253 (version "0.11.0.1")
ef2861b1
RW
5254 (source (origin
5255 (method url-fetch)
612fddec 5256 (uri (string-append "https://hackage.haskell.org/package/"
ef2861b1
RW
5257 "texmath/texmath-" version ".tar.gz"))
5258 (sha256
5259 (base32
cfac79ba 5260 "11dc09hfnyfsz20ch2c867w0zdgjkzq41506lm61i3dk87ngdisf"))))
ef2861b1 5261 (build-system haskell-build-system)
2d47cee2 5262 (inputs
ef2861b1
RW
5263 `(("ghc-syb" ,ghc-syb)
5264 ("ghc-network-uri" ,ghc-network-uri)
5265 ("ghc-split" ,ghc-split)
5266 ("ghc-temporary" ,ghc-temporary)
5267 ("ghc-utf8-string" ,ghc-utf8-string)
5268 ("ghc-xml" ,ghc-xml)
5269 ("ghc-parsec" ,ghc-parsec)
5270 ("ghc-mtl" ,ghc-mtl)
5271 ("ghc-pandoc-types" ,ghc-pandoc-types)))
612fddec 5272 (home-page "https://github.com/jgm/texmath")
ef2861b1
RW
5273 (synopsis "Conversion between formats used to represent mathematics")
5274 (description
5275 "The texmath library provides functions to read and write TeX math,
5276presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
5277Office). Support is also included for converting math formats to pandoc's
5278native format (allowing conversion, via pandoc, to a variety of different
5279markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
5280it can parse and apply LaTeX macros.")
3ac73271 5281 (license license:gpl2+)))
ef2861b1 5282
dcf8e2ab
RW
5283(define-public ghc-texmath-for-pandoc-1
5284 (package (inherit ghc-texmath)
5285 (version "0.9.4.4")
5286 (source (origin
5287 (method url-fetch)
5288 (uri (string-append "https://hackage.haskell.org/package/"
5289 "texmath/texmath-" version ".tar.gz"))
5290 (sha256
5291 (base32
5292 "129q33m56diiv35kdwfb07838wrg0mm88kxdqxfyl1zvf9nzkqkd"))))
5293 (inputs
5294 `(("ghc-mtl" ,ghc-mtl)
5295 ("ghc-network-uri" ,ghc-network-uri)
5296 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
5297 ("ghc-parsec" ,ghc-parsec)
5298 ("ghc-split" ,ghc-split)
5299 ("ghc-syb" ,ghc-syb)
5300 ("ghc-temporary" ,ghc-temporary)
5301 ("ghc-utf8-string" ,ghc-utf8-string)
5302 ("ghc-xml" ,ghc-xml)))))
5303
a54d11b5
RW
5304(define-public ghc-regex-pcre-builtin
5305 (package
5306 (name "ghc-regex-pcre-builtin")
5307 (version "0.94.4.8.8.35")
5308 (source (origin
5309 (method url-fetch)
612fddec 5310 (uri (string-append "https://hackage.haskell.org/package/"
a54d11b5
RW
5311 "regex-pcre-builtin/regex-pcre-builtin-"
5312 version ".tar.gz"))
5313 (sha256
5314 (base32
5315 "0y7as9wqlkykpipka2cfdhmcnin345q01pp0wsva8fwmvsavdl8b"))))
5316 (build-system haskell-build-system)
2d47cee2 5317 (inputs
a54d11b5 5318 `(("ghc-regex-base" ,ghc-regex-base)))
612fddec 5319 (home-page "https://hackage.haskell.org/package/regex-pcre")
a54d11b5
RW
5320 (synopsis "Enhancement of the builtin Text.Regex library")
5321 (description
5322 "This package is an enhancement of the @code{Text.Regex} library,
5323providing the PCRE backend to accompany regex-base, with bundled code from
98b90194 5324@url{https://www.pcre.org}.")
3ac73271 5325 (license license:bsd-3)))
a54d11b5 5326
05245dc9
RW
5327(define-public ghc-diff
5328 (package
5329 (name "ghc-diff")
307a0dce 5330 (version "0.3.4")
05245dc9
RW
5331 (source (origin
5332 (method url-fetch)
612fddec 5333 (uri (string-append "https://hackage.haskell.org/package/"
05245dc9
RW
5334 "Diff/Diff-" version ".tar.gz"))
5335 (sha256
5336 (base32
307a0dce 5337 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
05245dc9 5338 (build-system haskell-build-system)
307a0dce
RW
5339 (native-inputs
5340 `(("ghc-quickcheck" ,ghc-quickcheck)
5341 ("ghc-test-framework" ,ghc-test-framework)
5342 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 5343 (home-page "https://hub.darcs.net/sterlingclover/Diff")
05245dc9
RW
5344 (synopsis "O(ND) diff algorithm in Haskell")
5345 (description
5346 "This package provides an implementation of the standard diff algorithm,
5347and utilities for pretty printing.")
3ac73271 5348 (license license:bsd-3)))
05245dc9 5349
66c480b6
RW
5350(define-public ghc-highlighting-kate
5351 (package
5352 (name "ghc-highlighting-kate")
8f1e2dca 5353 (version "0.6.3")
66c480b6
RW
5354 (source (origin
5355 (method url-fetch)
612fddec 5356 (uri (string-append "https://hackage.haskell.org/package/"
66c480b6
RW
5357 "highlighting-kate/highlighting-kate-"
5358 version ".tar.gz"))
5359 (sha256
5360 (base32
8f1e2dca 5361 "03c4flh4h1jd48bx0qmplax3q8w6wj1dhbh6j0xhaf5h95fbinki"))))
66c480b6 5362 (build-system haskell-build-system)
2d47cee2 5363 (inputs
66c480b6
RW
5364 `(("ghc-diff" ,ghc-diff)
5365 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5366 (native-inputs
5367 `(("ghc-parsec" ,ghc-parsec)
5368 ("ghc-blaze-html" ,ghc-blaze-html)
5369 ("ghc-utf8-string" ,ghc-utf8-string)
5370 ("ghc-mtl" ,ghc-mtl)))
612fddec 5371 (home-page "https://github.com/jgm/highlighting-kate")
66c480b6
RW
5372 (synopsis "Syntax highlighting library")
5373 (description
5374 "Highlighting-kate is a syntax highlighting library with support for
5375nearly one hundred languages. The syntax parsers are automatically generated
98b90194 5376from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
66c480b6
RW
5377supported by Kate can be added. An (optional) command-line program is
5378provided, along with a utility for generating new parsers from Kate XML syntax
5379descriptions.")
3ac73271 5380 (license license:gpl2+)))
66c480b6 5381
31be270b
RW
5382(define-public ghc-cmark
5383 (package
5384 (name "ghc-cmark")
b8490856 5385 (version "0.5.6")
31be270b
RW
5386 (source (origin
5387 (method url-fetch)
b8490856
TGR
5388 ;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
5389 ;; See cbits/cmark_version.h.
612fddec 5390 (uri (string-append "https://hackage.haskell.org/package/"
31be270b
RW
5391 "cmark/cmark-" version ".tar.gz"))
5392 (sha256
5393 (base32
b8490856 5394 "1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
31be270b 5395 (build-system haskell-build-system)
2d47cee2 5396 (inputs
31be270b
RW
5397 `(("ghc-text" ,ghc-text)))
5398 (native-inputs
5399 `(("ghc-hunit" ,ghc-hunit)))
5400 (home-page "https://github.com/jgm/commonmark-hs")
5401 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
5402 (description
5403 "This package provides Haskell bindings for
5404@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
b8490856
TGR
5405CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
5406sources, and does not require prior installation of the C library.")
3ac73271 5407 (license license:bsd-3)))
31be270b 5408
0ba94011
RW
5409(define-public ghc-cmark-gfm
5410 (package
5411 (name "ghc-cmark-gfm")
5412 (version "0.1.3")
5413 (source
5414 (origin
5415 (method url-fetch)
5416 (uri (string-append "https://hackage.haskell.org/package/"
5417 "cmark-gfm/cmark-gfm-"
5418 version ".tar.gz"))
5419 (sha256
5420 (base32
5421 "1fkisbrydmdx5h8yad09fzk8h1b1j53r02g7vb81izgdwj9b673k"))))
5422 (build-system haskell-build-system)
5423 (inputs
5424 `(("ghc-text" ,ghc-text)))
5425 (native-inputs
5426 `(("ghc-hunit" ,ghc-hunit)))
5427 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
5428 (synopsis
5429 "Fast, accurate GitHub Flavored Markdown parser and renderer")
5430 (description
5431 "This package provides Haskell bindings for libcmark-gfm, the reference
5432parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
5433It includes sources for libcmark-gfm and does not require prior installation
5434of the C library.")
5435 (license license:bsd-3)))
5436
25b20a9c
RW
5437(define-public ghc-executable-path
5438 (package
5439 (name "ghc-executable-path")
1c42bd13 5440 (version "0.0.3.1")
25b20a9c
RW
5441 (source (origin
5442 (method url-fetch)
612fddec 5443 (uri (string-append "https://hackage.haskell.org/package/"
25b20a9c
RW
5444 "executable-path/executable-path-"
5445 version ".tar.gz"))
5446 (sha256
5447 (base32
1c42bd13 5448 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
25b20a9c 5449 (build-system haskell-build-system)
612fddec 5450 (home-page "https://hackage.haskell.org/package/executable-path")
25b20a9c
RW
5451 (synopsis "Find out the full path of the executable")
5452 (description
5453 "The documentation of @code{System.Environment.getProgName} says that
5454\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
5455instead, for maximum portability, we just return the leafname of the program
5456as invoked.\" This library tries to provide the missing path.")
3ac73271 5457 (license license:public-domain)))
25b20a9c 5458
5de6eedc
RW
5459(define-public ghc-enclosed-exceptions
5460 (package
5461 (name "ghc-enclosed-exceptions")
376a6df4 5462 (version "1.0.3")
5de6eedc
RW
5463 (source (origin
5464 (method url-fetch)
612fddec 5465 (uri (string-append "https://hackage.haskell.org/package/"
5de6eedc
RW
5466 "enclosed-exceptions/enclosed-exceptions-"
5467 version ".tar.gz"))
5468 (sha256
5469 (base32
376a6df4 5470 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
5de6eedc 5471 (build-system haskell-build-system)
376a6df4
RW
5472 ;; FIXME: one of the tests blocks forever:
5473 ;; "thread blocked indefinitely in an MVar operation"
5474 (arguments '(#:tests? #f))
2d47cee2 5475 (inputs
5de6eedc
RW
5476 `(("ghc-lifted-base" ,ghc-lifted-base)
5477 ("ghc-monad-control" ,ghc-monad-control)
5478 ("ghc-async" ,ghc-async)
5479 ("ghc-transformers-base" ,ghc-transformers-base)))
5480 (native-inputs
5481 `(("ghc-hspec" ,ghc-hspec)
5482 ("ghc-quickcheck" ,ghc-quickcheck)))
5483 (home-page "https://github.com/jcristovao/enclosed-exceptions")
5484 (synopsis "Catch all exceptions from within an enclosed computation")
5485 (description
5486 "This library implements a technique to catch all exceptions raised
5487within an enclosed computation, while remaining responsive to (external)
5488asynchronous exceptions.")
3ac73271 5489 (license license:expat)))
5de6eedc 5490
74d9f72e
RW
5491(define-public ghc-packedstring
5492 (package
5493 (name "ghc-packedstring")
5494 (version "0.1.0.1")
5495 (source (origin
5496 (method url-fetch)
612fddec 5497 (uri (string-append "https://hackage.haskell.org/package/"
74d9f72e
RW
5498 "packedstring/packedstring-"
5499 version ".tar.gz"))
5500 (sha256
5501 (base32
5502 "1x78pzzdlnpcmh9p37rlf8m5cxf3yqm2alf3whl4zpr9w25r0qj8"))))
5503 (build-system haskell-build-system)
5504 (arguments
5505 `(#:phases
5506 (modify-phases %standard-phases
5507 (add-after 'unpack 'enable-extension
5508 (lambda _
5509 ;; This package won't compile without the StandaloneDeriving
5510 ;; extension.
5511 (substitute* "packedstring.cabal"
5512 (("CPP") "CPP, StandaloneDeriving"))
5513 #t)))))
612fddec 5514 (home-page "https://hackage.haskell.org/package/packedstring")
74d9f72e
RW
5515 (synopsis "Library for packed strings")
5516 (description
5517 "This deprecated library provides an implementation of packed strings.")
3ac73271 5518 (license license:bsd-3)))
74d9f72e 5519
9dfc79b3
RW
5520(define-public ghc-th-abstraction
5521 (package
5522 (name "ghc-th-abstraction")
5523 (version "0.2.6.0")
5524 (source
5525 (origin
5526 (method url-fetch)
5527 (uri (string-append "https://hackage.haskell.org/package/"
5528 "th-abstraction/th-abstraction-"
5529 version ".tar.gz"))
5530 (sha256
5531 (base32
5532 "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5"))))
5533 (build-system haskell-build-system)
5534 (home-page "https://github.com/glguy/th-abstraction")
5535 (synopsis "Nicer interface for reified information about data types")
5536 (description
5537 "This package normalizes variations in the interface for inspecting
5538datatype information via Template Haskell so that packages and support a
5539single, easier to use informational datatype while supporting many versions of
5540Template Haskell.")
5541 (license license:isc)))
5542
1777e1f2
RW
5543(define-public ghc-th-lift
5544 (package
5545 (name "ghc-th-lift")
44c233ac 5546 (version "0.7.8")
1777e1f2
RW
5547 (source (origin
5548 (method url-fetch)
612fddec 5549 (uri (string-append "https://hackage.haskell.org/package/"
1777e1f2
RW
5550 "th-lift/th-lift-" version ".tar.gz"))
5551 (sha256
5552 (base32
44c233ac 5553 "0ay10b78x3969rpqqrgzy8srkl6iby2cljbf3mm17na8x22k7y1c"))))
1777e1f2 5554 (build-system haskell-build-system)
612fddec 5555 (home-page "https://github.com/mboes/th-lift")
1777e1f2
RW
5556 (synopsis "Derive Template Haskell's Lift class for datatypes")
5557 (description
5558 "This is a Haskell library to derive Template Haskell's Lift class for
5559datatypes.")
3ac73271 5560 (license license:bsd-3)))
1777e1f2 5561
a6d1c4e7
RW
5562(define-public ghc-th-lift-instances
5563 (package
5564 (name "ghc-th-lift-instances")
5565 (version "0.1.11")
5566 (source
5567 (origin
5568 (method url-fetch)
5569 (uri (string-append "https://hackage.haskell.org/package/"
5570 "th-lift-instances/th-lift-instances-"
5571 version ".tar.gz"))
5572 (sha256
5573 (base32
5574 "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x"))))
5575 (build-system haskell-build-system)
5576 (inputs
5577 `(("ghc-th-lift" ,ghc-th-lift)
5578 ("ghc-vector" ,ghc-vector)
5579 ("ghc-text" ,ghc-text)
5580 ("ghc-quickcheck" ,ghc-quickcheck)))
5581 (home-page "https://github.com/bennofs/th-lift-instances/")
5582 (synopsis "Lift instances for template-haskell for common data types.")
5583 (description "Most data types in the Haskell platform do not have Lift
5584instances. This package provides orphan instances for @code{containers},
5585@code{text}, @code{bytestring} and @code{vector}.")
5586 (license license:bsd-3)))
5587
25101be9
RW
5588(define-public ghc-th-expand-syns
5589 (package
5590 (name "ghc-th-expand-syns")
165e5f6e 5591 (version "0.4.0.0")
25101be9
RW
5592 (source (origin
5593 (method url-fetch)
612fddec 5594 (uri (string-append "https://hackage.haskell.org/package/"
25101be9
RW
5595 "th-expand-syns/th-expand-syns-"
5596 version ".tar.gz"))
5597 (sha256
5598 (base32
165e5f6e 5599 "1sjy7a17zwyvlbkc8gklii67sy78wpnw35fyb00lsbnpk4cryd2r"))))
25101be9 5600 (build-system haskell-build-system)
2d47cee2 5601 (inputs
25101be9 5602 `(("ghc-syb" ,ghc-syb)))
612fddec 5603 (home-page "https://hackage.haskell.org/package/th-expand-syns")
25101be9
RW
5604 (synopsis "Expands type synonyms in Template Haskell ASTs")
5605 (description
5606 "This package enables users to expand type synonyms in Template Haskell
5607@dfn{abstract syntax trees} (ASTs).")
3ac73271 5608 (license license:bsd-3)))
25101be9 5609
536b84a8
RW
5610(define-public ghc-th-reify-many
5611 (package
5612 (name "ghc-th-reify-many")
9e21b4a8 5613 (version "0.1.6")
536b84a8
RW
5614 (source (origin
5615 (method url-fetch)
612fddec 5616 (uri (string-append "https://hackage.haskell.org/package/"
536b84a8
RW
5617 "th-reify-many/th-reify-many-"
5618 version ".tar.gz"))
5619 (sha256
5620 (base32
9e21b4a8 5621 "1b76zjxkj0v0n8zj9l0nwav2irm0c43rx6qjihfw8klmmxvx59df"))))
536b84a8 5622 (build-system haskell-build-system)
2d47cee2 5623 (inputs
536b84a8
RW
5624 `(("ghc-mtl" ,ghc-mtl)
5625 ("ghc-safe" ,ghc-safe)
5626 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
612fddec 5627 (home-page "https://github.com/mgsloan/th-reify-many")
536b84a8
RW
5628 (synopsis "Recurseively reify template haskell datatype info")
5629 (description
5630 "th-reify-many provides functions for recursively reifying top level
5631declarations. The main intended use case is for enumerating the names of
5632datatypes reachable from an initial datatype, and passing these names to some
5633function which generates instances.")
3ac73271 5634 (license license:bsd-3)))
536b84a8 5635
2e677251
RW
5636(define-public ghc-th-orphans
5637 (package
5638 (name "ghc-th-orphans")
080778a0 5639 (version "0.13.2")
2e677251
RW
5640 (source (origin
5641 (method url-fetch)
612fddec 5642 (uri (string-append "https://hackage.haskell.org/package/"
2e677251
RW
5643 "th-orphans/th-orphans-" version ".tar.gz"))
5644 (sha256
5645 (base32
080778a0 5646 "0102vkyzpgnp2fys8pvw4khrhrh2y1b8dp1slgvn020vg4s351mc"))))
2e677251 5647 (build-system haskell-build-system)
2d47cee2 5648 (inputs
2e677251 5649 `(("ghc-th-lift" ,ghc-th-lift)
080778a0 5650 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
2e677251 5651 ("ghc-th-reify-many" ,ghc-th-reify-many)
a231ef7e 5652 ("ghc-mtl" ,ghc-mtl)
2e677251
RW
5653 ("ghc-generic-deriving" ,ghc-generic-deriving)))
5654 (native-inputs
5655 `(("ghc-hspec" ,ghc-hspec)))
612fddec 5656 (home-page "https://hackage.haskell.org/package/th-orphans")
2e677251
RW
5657 (synopsis "Orphan instances for TH datatypes")
5658 (description
5659 "This package provides orphan instances for Template Haskell datatypes. In particular,
5660instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
5661and @code{Eq} instances. These instances used to live in the haskell-src-meta
5662package, and that's where the version number started.")
3ac73271 5663 (license license:bsd-3)))
2e677251 5664
e0ca14c7
AV
5665(define-public ghc-geniplate-mirror
5666 (package
5667 (name "ghc-geniplate-mirror")
5668 (version "0.7.5")
5669 (source
5670 (origin
5671 (method url-fetch)
5672 (uri (string-append "https://hackage.haskell.org/package"
5673 "/geniplate-mirror"
5674 "/geniplate-mirror-" version ".tar.gz"))
5675 (sha256
5676 (base32 "17vjps2118s5z3k39ij00lkmkxv3mqf8h59wv6qdamlgmhyr36si"))))
5677 (build-system haskell-build-system)
5678 (inputs `(("ghc-mtl" ,ghc-mtl)))
5679 (home-page "https://github.com/danr/geniplate")
5680 (synopsis "Use Template Haskell to generate Uniplate-like functions")
5681 (description
5682 "Use Template Haskell to generate Uniplate-like functions. This is a
5683maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
5684geniplate} package, written by Lennart Augustsson.")
5685 (license license:bsd-3)))
5686
af4db693
AV
5687(define-public ghc-gitrev
5688 (package
5689 (name "ghc-gitrev")
5690 (version "1.3.1")
5691 (source
5692 (origin
5693 (method url-fetch)
5694 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
5695 version ".tar.gz"))
5696 (sha256
5697 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
5698 (build-system haskell-build-system)
5699 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
5700 (home-page "https://github.com/acfoltzer/gitrev")
5701 (synopsis "Compile git revision info into Haskell projects")
5702 (description
5703 "This package provides some handy Template Haskell splices for including
5704the current git hash and branch in the code of your project. This is useful
5705for including in panic messages, @command{--version} output, or diagnostic
5706info for more informative bug reports.")
5707 (license license:bsd-3)))
5708
3611fc7b
RW
5709(define-public ghc-haskell-src-meta
5710 (package
5711 (name "ghc-haskell-src-meta")
db6dbe19 5712 (version "0.8.0.2")
3611fc7b
RW
5713 (source (origin
5714 (method url-fetch)
612fddec 5715 (uri (string-append "https://hackage.haskell.org/package/"
3611fc7b
RW
5716 "haskell-src-meta/haskell-src-meta-"
5717 version ".tar.gz"))
5718 (sha256
5719 (base32
db6dbe19 5720 "12rc4v5dbbbcwdp7j8isvnm9vqpazv124j5kdfwlgwgwjhxi8ysb"))))
3611fc7b 5721 (build-system haskell-build-system)
2d47cee2 5722 (inputs
3611fc7b
RW
5723 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5724 ("ghc-syb" ,ghc-syb)
5725 ("ghc-th-orphans" ,ghc-th-orphans)))
db6dbe19
RW
5726 (native-inputs
5727 `(("ghc-hunit" ,ghc-hunit)
5728 ("ghc-test-framework" ,ghc-test-framework)
5729 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
612fddec 5730 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
3611fc7b
RW
5731 (synopsis "Parse source to template-haskell abstract syntax")
5732 (description
5733 "This package provides tools to parse Haskell sources to the
5734template-haskell abstract syntax.")
3ac73271 5735 (license license:bsd-3)))
3611fc7b 5736
b55630a3
RW
5737(define-public ghc-conduit
5738 (package
5739 (name "ghc-conduit")
5cb46200 5740 (version "1.3.0.3")
b55630a3
RW
5741 (source (origin
5742 (method url-fetch)
612fddec 5743 (uri (string-append "https://hackage.haskell.org/package/"
b55630a3
RW
5744 "conduit/conduit-" version ".tar.gz"))
5745 (sha256
5746 (base32
5cb46200 5747 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
b55630a3 5748 (build-system haskell-build-system)
2d47cee2 5749 (inputs
b55630a3
RW
5750 `(("ghc-exceptions" ,ghc-exceptions)
5751 ("ghc-lifted-base" ,ghc-lifted-base)
5cb46200 5752 ("ghc-mono-traversable" ,ghc-mono-traversable)
b55630a3
RW
5753 ("ghc-mmorph" ,ghc-mmorph)
5754 ("ghc-mtl" ,ghc-mtl)
5755 ("ghc-resourcet" ,ghc-resourcet)
5cb46200 5756 ("ghc-silently" ,ghc-silently)
b55630a3 5757 ("ghc-transformers-base" ,ghc-transformers-base)
5cb46200
RW
5758 ("ghc-unliftio" ,ghc-unliftio)
5759 ("ghc-unliftio-core" ,ghc-unliftio-core)
5760 ("ghc-vector" ,ghc-vector)
b55630a3
RW
5761 ("ghc-void" ,ghc-void)))
5762 (native-inputs
5763 `(("ghc-quickcheck" ,ghc-quickcheck)
5764 ("ghc-hspec" ,ghc-hspec)
7bc18f41 5765 ("ghc-safe" ,ghc-safe)
5766 ("ghc-split" ,ghc-split)))
b55630a3
RW
5767 (home-page "https://github.com/snoyberg/conduit")
5768 (synopsis "Streaming data library ")
5769 (description
463c39c3 5770 "The conduit package is a solution to the streaming data problem,
5771allowing for production, transformation, and consumption of streams of data
5772in constant memory. It is an alternative to lazy I/O which guarantees
5773deterministic resource handling, and fits in the same general solution
5774space as enumerator/iteratee and pipes.")
3ac73271 5775 (license license:expat)))
b55630a3 5776
1c17529f
RW
5777(define-public ghc-logging-facade
5778 (package
5779 (name "ghc-logging-facade")
38697357 5780 (version "0.1.1")
1c17529f
RW
5781 (source (origin
5782 (method url-fetch)
612fddec 5783 (uri (string-append "https://hackage.haskell.org/package/"
1c17529f
RW
5784 "logging-facade/logging-facade-"
5785 version ".tar.gz"))
5786 (sha256
5787 (base32
38697357 5788 "18ldv6rsff480rqpbs3iabjpvn1fhw0i2a0g80jnhxg9ajfz5yb0"))))
1c17529f
RW
5789 (build-system haskell-build-system)
5790 (native-inputs
2d47cee2
RW
5791 `(("ghc-hspec" ,ghc-hspec)
5792 ("hspec-discover" ,hspec-discover)))
612fddec 5793 (home-page "https://hackage.haskell.org/package/logging-facade")
1c17529f
RW
5794 (synopsis "Simple logging abstraction that allows multiple back-ends")
5795 (description
5796 "This package provides a simple logging abstraction that allows multiple
5797back-ends.")
3ac73271 5798 (license license:expat)))
1c17529f 5799
9efdbb72
RW
5800(define-public ghc-mockery
5801 (package
5802 (name "ghc-mockery")
1e521705 5803 (version "0.3.3")
9efdbb72
RW
5804 (source (origin
5805 (method url-fetch)
612fddec 5806 (uri (string-append "https://hackage.haskell.org/package/"
9efdbb72
RW
5807 "mockery/mockery-" version ".tar.gz"))
5808 (sha256
5809 (base32
1e521705 5810 "1m7sq2vclgir3qbpngzl3g87ks4034blwwf7p3h02c0jlcwpl5b1"))))
9efdbb72 5811 (build-system haskell-build-system)
2d47cee2 5812 (inputs
9efdbb72 5813 `(("ghc-temporary" ,ghc-temporary)
1e521705
RW
5814 ("ghc-logging-facade" ,ghc-logging-facade)
5815 ("ghc-base-compat" ,ghc-base-compat)))
9efdbb72 5816 (native-inputs
2d47cee2
RW
5817 `(("ghc-hspec" ,ghc-hspec)
5818 ("hspec-discover" ,hspec-discover)))
612fddec 5819 (home-page "https://hackage.haskell.org/package/mockery")
9efdbb72
RW
5820 (synopsis "Support functions for automated testing")
5821 (description
5822 "The mockery package provides support functions for automated testing.")
3ac73271 5823 (license license:expat)))
9efdbb72 5824
132133c1
RW
5825(define-public ghc-yaml
5826 (package
5827 (name "ghc-yaml")
fe4f81bc 5828 (version "0.8.28")
132133c1
RW
5829 (source (origin
5830 (method url-fetch)
612fddec 5831 (uri (string-append "https://hackage.haskell.org/package/"
132133c1
RW
5832 "yaml/yaml-" version ".tar.gz"))
5833 (sha256
5834 (base32
fe4f81bc 5835 "0swgkzkfrwj0ac7lssn8rnrdfmh3lcsdn5fbq2iwv55di6jbc0pp"))))
132133c1 5836 (build-system haskell-build-system)
2d47cee2 5837 (inputs
132133c1
RW
5838 `(("ghc-conduit" ,ghc-conduit)
5839 ("ghc-resourcet" ,ghc-resourcet)
5840 ("ghc-aeson" ,ghc-aeson)
5841 ("ghc-unordered-containers" ,ghc-unordered-containers)
5842 ("ghc-vector" ,ghc-vector)
5843 ("ghc-text" ,ghc-text)
5844 ("ghc-attoparsec" ,ghc-attoparsec)
5845 ("ghc-scientific" ,ghc-scientific)
fe4f81bc
RW
5846 ("ghc-semigroups" ,ghc-semigroups)
5847 ("ghc-temporary" ,ghc-temporary)
132133c1 5848 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
132133c1
RW
5849 ("ghc-base-compat" ,ghc-base-compat)))
5850 (native-inputs
5851 `(("ghc-hspec" ,ghc-hspec)
5852 ("ghc-hunit" ,ghc-hunit)
2d47cee2 5853 ("hspec-discover" ,hspec-discover)
132133c1 5854 ("ghc-mockery" ,ghc-mockery)))
612fddec 5855 (home-page "https://github.com/snoyberg/yaml/")
132133c1
RW
5856 (synopsis "Parsing and rendering YAML documents")
5857 (description
5858 "This package provides a library to parse and render YAML documents.")
3ac73271 5859 (license license:bsd-3)))
132133c1 5860
8e3149ee
RW
5861(define-public ghc-yaml-for-pandoc-1
5862 (package (inherit ghc-yaml)
5863 (inputs
5864 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
5865 ,@(alist-delete "ghc-aeson" (package-inputs ghc-yaml))))))
5866
fcacbec3
RW
5867(define-public ghc-filemanip
5868 (package
5869 (name "ghc-filemanip")
5870 (version "0.3.6.3")
5871 (source (origin
5872 (method url-fetch)
612fddec 5873 (uri (string-append "https://hackage.haskell.org/package/"
fcacbec3
RW
5874 "filemanip/filemanip-" version ".tar.gz"))
5875 (sha256
5876 (base32
5877 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
5878 (build-system haskell-build-system)
2d47cee2 5879 (inputs
fcacbec3
RW
5880 `(("ghc-mtl" ,ghc-mtl)
5881 ("ghc-unix-compat" ,ghc-unix-compat)))
5882 (home-page "https://github.com/bos/filemanip")
5883 (synopsis "File and directory manipulation for Haskell")
5884 (description
5885 "This package provides a Haskell library for working with files and
5886directories. It includes code for pattern matching, finding files, modifying
5887file contents, and more.")
3ac73271 5888 (license license:bsd-3)))
fcacbec3 5889
348519e1
RW
5890(define-public ghc-mmap
5891 (package
5892 (name "ghc-mmap")
5893 (version "0.5.9")
5894 (source (origin
5895 (method url-fetch)
612fddec 5896 (uri (string-append "https://hackage.haskell.org/package/"
348519e1
RW
5897 "mmap/mmap-" version ".tar.gz"))
5898 (sha256
5899 (base32
5900 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
5901 (build-system haskell-build-system)
612fddec 5902 (home-page "https://hackage.haskell.org/package/mmap")
348519e1
RW
5903 (synopsis "Memory mapped files for Haskell")
5904 (description
5905 "This library provides a wrapper to @code{mmap}, allowing files or
5906devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
5907@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
5908do on-demand loading.")
3ac73271 5909 (license license:bsd-3)))
348519e1 5910
12676ce8
RW
5911(define-public ghc-juicypixels
5912 (package
5913 (name "ghc-juicypixels")
7a1bc3b9 5914 (version "3.2.9.3")
12676ce8
RW
5915 (source (origin
5916 (method url-fetch)
612fddec 5917 (uri (string-append "https://hackage.haskell.org/package/"
12676ce8
RW
5918 "JuicyPixels/JuicyPixels-"
5919 version ".tar.gz"))
5920 (sha256
5921 (base32
7a1bc3b9 5922 "14s57fgf6kd5n5al2kcvk1aaxbq1ph0r5h8blflrjkx83yl6r8yn"))))
12676ce8 5923 (build-system haskell-build-system)
2d47cee2 5924 (inputs
12676ce8
RW
5925 `(("ghc-mtl" ,ghc-mtl)
5926 ("ghc-zlib" ,ghc-zlib)
5927 ("ghc-vector" ,ghc-vector)
5928 ("ghc-primitive" ,ghc-primitive)
5929 ("ghc-mmap" ,ghc-mmap)))
5930 (home-page "https://github.com/Twinside/Juicy.Pixels")
5931 (synopsis "Picture loading and serialization library")
5932 (description
5933 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5934TIFF and GIF formats.")
3ac73271 5935 (license license:bsd-3)))
12676ce8 5936
ac5d633a
RW
5937(define-public ghc-hslua
5938 (package
5939 (name "ghc-hslua")
e045c014 5940 (version "0.9.5")
ac5d633a
RW
5941 (source (origin
5942 (method url-fetch)
612fddec 5943 (uri (string-append "https://hackage.haskell.org/package/"
ac5d633a
RW
5944 "hslua/hslua-" version ".tar.gz"))
5945 (sha256
5946 (base32
e045c014 5947 "1j2zk7f7nyywg2b0n6kb2yf6ljc7cn2sk9jz0h76g3ag2b70l12n"))))
ac5d633a 5948 (build-system haskell-build-system)
a231ef7e 5949 (arguments
ac5d633a
RW
5950 `(#:configure-flags '("-fsystem-lua")))
5951 (inputs
e045c014
RW
5952 `(("lua" ,lua)
5953 ("ghc-exceptions" ,ghc-exceptions)
5954 ("ghc-fail" ,ghc-fail)
5955 ("ghc-mtl" ,ghc-mtl)
2d47cee2 5956 ("ghc-text" ,ghc-text)))
ac5d633a 5957 (native-inputs
e045c014
RW
5958 `(("ghc-tasty" ,ghc-tasty)
5959 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5960 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5961 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
ac5d633a
RW
5962 ("ghc-quickcheck" ,ghc-quickcheck)
5963 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
612fddec 5964 (home-page "https://hackage.haskell.org/package/hslua")
ac5d633a 5965 (synopsis "Lua language interpreter embedding in Haskell")
a231ef7e 5966 (description
ac5d633a 5967 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
98b90194 5968described in @url{https://www.lua.org/}.")
3ac73271 5969 (license license:expat)))
ac5d633a 5970
f45c86b5
RW
5971(define-public ghc-hslua-for-pandoc-1
5972 (package (inherit ghc-hslua)
5973 (version "0.4.1")
5974 (source (origin
5975 (method url-fetch)
5976 (uri (string-append "https://hackage.haskell.org/package/"
5977 "hslua/hslua-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "0gqp6qhp4v24kzv2j49kgk7bxqzw0w10x0zr0r2j9wkfavqb9wid"))))
5981 (inputs
5982 `(("lua" ,lua-5.1)
5983 ("ghc-text" ,ghc-text)))
5984 (native-inputs
5985 `(("ghc-quickcheck" ,ghc-quickcheck)
5986 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5987 ("ghc-hspec" ,ghc-hspec)
5988 ("ghc-hspec-contrib" ,ghc-hspec-contrib)
5989 ("ghc-hunit" ,ghc-hunit)
5990 ("hspec-discover" ,hspec-discover)))))
5991
8045d84d
RW
5992(define-public ghc-hslua-module-text
5993 (package
5994 (name "ghc-hslua-module-text")
5995 (version "0.1.2.1")
5996 (source
5997 (origin
5998 (method url-fetch)
5999 (uri (string-append "https://hackage.haskell.org/package/"
6000 "hslua-module-text/hslua-module-text-"
6001 version ".tar.gz"))
6002 (sha256
6003 (base32
6004 "0bcfpb1dhnxp0gr376ai4w7vczr9zrjl1r3r6w7kcxivfkwq9cxf"))))
6005 (build-system haskell-build-system)
6006 (inputs
6007 `(("ghc-hslua" ,ghc-hslua)
6008 ("ghc-text" ,ghc-text)))
6009 (native-inputs
6010 `(("ghc-tasty" ,ghc-tasty)
6011 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6012 (home-page "https://github.com/hslua/hslua-module-text")
6013 (synopsis "Lua module for text")
6014 (description
6015 "This package provides a UTF-8 aware subset of Lua's @code{string} module
6016for Haskell. The functions provided by this module are @code{upper},
6017@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
6018 (license license:expat)))
6019
51c05fcf
RW
6020(define-public ghc-byteable
6021 (package
6022 (name "ghc-byteable")
6023 (version "0.1.1")
6024 (source (origin
6025 (method url-fetch)
612fddec 6026 (uri (string-append "https://hackage.haskell.org/package/"
51c05fcf
RW
6027 "byteable/byteable-" version ".tar.gz"))
6028 (sha256
6029 (base32
6030 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
6031 (build-system haskell-build-system)
612fddec 6032 (home-page "https://github.com/vincenthz/hs-byteable")
51c05fcf
RW
6033 (synopsis "Type class for sequence of bytes")
6034 (description
6035 "This package provides an abstract class to manipulate sequence of bytes.
6036The use case of this class is abstracting manipulation of types that are just
6037wrapping a bytestring with stronger and more meaniful name.")
3ac73271 6038 (license license:bsd-3)))
51c05fcf 6039
45813e67
RW
6040(define-public ghc-hourglass
6041 (package
6042 (name "ghc-hourglass")
3a4181df 6043 (version "0.2.10")
45813e67
RW
6044 (source (origin
6045 (method url-fetch)
612fddec 6046 (uri (string-append "https://hackage.haskell.org/package/"
45813e67
RW
6047 "hourglass/hourglass-" version ".tar.gz"))
6048 (sha256
6049 (base32
3a4181df 6050 "104d1yd84hclprg740nkz60vx589mnm094zriw6zczbgg8nkclym"))))
45813e67 6051 (build-system haskell-build-system)
2d47cee2 6052 (inputs
45813e67
RW
6053 `(("ghc-mtl" ,ghc-mtl)
6054 ("ghc-old-locale" ,ghc-old-locale)))
6055 (native-inputs
6056 `(("ghc-tasty" ,ghc-tasty)
6057 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6058 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6059 (home-page "https://github.com/vincenthz/hs-hourglass")
6060 (synopsis "Simple time-related library for Haskell")
6061 (description
6062 "This is a simple time library providing a simple but powerful and
6063performant API. The backbone of the library are the @code{Timeable} and
6064@code{Time} type classes. Each @code{Timeable} instances can be converted to
6065a type that has a @code{Time} instances, and thus are different
6066representations of current time.")
3ac73271 6067 (license license:bsd-3)))
45813e67 6068
be04f802
AV
6069(define-public ghc-edit-distance
6070 (package
6071 (name "ghc-edit-distance")
6072 (version "0.2.2.1")
6073 (source
6074 (origin
6075 (method url-fetch)
6076 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
6077 "/edit-distance-" version ".tar.gz"))
6078 (sha256
6079 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
6080 (build-system haskell-build-system)
9f29ecc1
AW
6081 (arguments
6082 `(#:configure-flags (list "--allow-newer=QuickCheck")))
be04f802
AV
6083 (inputs
6084 `(("ghc-random" ,ghc-random)
6085 ("ghc-test-framework" ,ghc-test-framework)
6086 ("ghc-quickcheck" ,ghc-quickcheck)
6087 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6088 (home-page "https://github.com/phadej/edit-distance")
6089 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
6090 (description
6091 "This package provides optimized functions to determine the edit
6092distances for fuzzy matching, including Levenshtein and restricted
6093Damerau-Levenshtein algorithms.")
6094 (license license:bsd-3)))
6095
4dc2deb9
RW
6096(define-public ghc-memory
6097 (package
6098 (name "ghc-memory")
150e8e25 6099 (version "0.14.16")
4dc2deb9
RW
6100 (source (origin
6101 (method url-fetch)
612fddec 6102 (uri (string-append "https://hackage.haskell.org/package/"
4dc2deb9
RW
6103 "memory/memory-" version ".tar.gz"))
6104 (sha256
6105 (base32
150e8e25 6106 "03rbszi5d4z9rlbfv8ydrl1xf84xsh8z57g07f7j9qccn9587c3v"))))
4dc2deb9 6107 (build-system haskell-build-system)
150e8e25
RW
6108 (inputs
6109 `(("ghc-basement" ,ghc-basement)
6110 ("ghc-foundation" ,ghc-foundation)))
4dc2deb9
RW
6111 (native-inputs
6112 `(("ghc-tasty" ,ghc-tasty)
6113 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6114 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6115 (home-page "https://github.com/vincenthz/hs-memory")
6116 (synopsis "Memory abstractions for Haskell")
6117 (description
6118 "This package provides memory abstractions, such as chunk of memory,
6119polymorphic byte array management and manipulation functions. It contains a
6120polymorphic byte array abstraction and functions similar to strict ByteString,
6121different type of byte array abstraction, raw memory IO operations (memory
6122set, memory copy, ..) and more")
3ac73271 6123 (license license:bsd-3)))
4dc2deb9 6124
dcc5cf1d
RW
6125(define-public ghc-socks
6126 (package
6127 (name "ghc-socks")
15009c14 6128 (version "0.5.5")
dcc5cf1d
RW
6129 (source (origin
6130 (method url-fetch)
612fddec 6131 (uri (string-append "https://hackage.haskell.org/package/"
dcc5cf1d
RW
6132 "socks/socks-" version ".tar.gz"))
6133 (sha256
6134 (base32
15009c14 6135 "0s689w1hh9g8ifl75xhzbv96ir07hwn04b4lgvbxzl8swa9ylir6"))))
dcc5cf1d 6136 (build-system haskell-build-system)
2d47cee2 6137 (inputs
dcc5cf1d
RW
6138 `(("ghc-cereal" ,ghc-cereal)
6139 ("ghc-network" ,ghc-network)))
612fddec 6140 (home-page "https://github.com/vincenthz/hs-socks")
66e07664 6141 (synopsis "SOCKS proxy (version 5) implementation")
dcc5cf1d
RW
6142 (description
6143 "This library provides a SOCKS proxy (version 5) implementation.")
3ac73271 6144 (license license:bsd-3)))
dcc5cf1d 6145
86dd2ce0
RW
6146(define-public ghc-connection
6147 (package
6148 (name "ghc-connection")
e41fad21 6149 (version "0.2.6")
86dd2ce0
RW
6150 (source (origin
6151 (method url-fetch)
612fddec 6152 (uri (string-append "https://hackage.haskell.org/package/"
86dd2ce0
RW
6153 "connection/connection-"
6154 version ".tar.gz"))
6155 (sha256
6156 (base32
e41fad21 6157 "1c1prsgad669cmf6qrqlb5hmh0dnam2imijqzpwcr4ja14l6rh83"))))
86dd2ce0 6158 (build-system haskell-build-system)
2d47cee2 6159 (inputs
86dd2ce0
RW
6160 `(("ghc-byteable" ,ghc-byteable)
6161 ("ghc-data-default-class" ,ghc-data-default-class)
6162 ("ghc-network" ,ghc-network)
6163 ("ghc-tls" ,ghc-tls)
6164 ("ghc-socks" ,ghc-socks)
6165 ("ghc-x509" ,ghc-x509)
6166 ("ghc-x509-store" ,ghc-x509-store)
6167 ("ghc-x509-system" ,ghc-x509-system)
6168 ("ghc-x509-validation" ,ghc-x509-validation)))
612fddec 6169 (home-page "https://github.com/vincenthz/hs-connection")
86dd2ce0
RW
6170 (synopsis "Simple and easy network connections API")
6171 (description
6172 "This package provides a simple network library for all your connection
6173needs. It provides a very simple API to create sockets to a destination with
6174the choice of SSL/TLS, and SOCKS.")
3ac73271 6175 (license license:bsd-3)))
86dd2ce0 6176
14e9a397
RW
6177(define-public ghc-skylighting
6178 (package
6179 (name "ghc-skylighting")
6180 (version "0.5.1")
6181 (source (origin
6182 (method url-fetch)
6183 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
6184 version "/skylighting-" version ".tar.gz"))
6185 (sha256
6186 (base32
6187 "0l5lhhqqlfaq1fs7pn3n3b25kmazk8p4ahwvhagbrhcbm5hsigdg"))))
6188 (build-system haskell-build-system)
6189 (inputs
6190 `(("ghc-aeson" ,ghc-aeson)
6191 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6192 ("ghc-attoparsec" ,ghc-attoparsec)
6193 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6194 ("ghc-blaze-html" ,ghc-blaze-html)
6195 ("ghc-case-insensitive" ,ghc-case-insensitive)
6196 ("ghc-colour" ,ghc-colour)
6197 ("ghc-diff" ,ghc-diff)
6198 ("ghc-hxt" ,ghc-hxt)
6199 ("ghc-mtl" ,ghc-mtl)
6200 ("ghc-pretty-show" ,ghc-pretty-show)
6201 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6202 ("ghc-safe" ,ghc-safe)
6203 ("ghc-text" ,ghc-text)
6204 ("ghc-utf8-string" ,ghc-utf8-string)))
6205 (native-inputs
6206 `(("ghc-hunit" ,ghc-hunit)
6207 ("ghc-quickcheck" ,ghc-quickcheck)
6208 ("ghc-tasty" ,ghc-tasty)
6209 ("ghc-tasty-golden" ,ghc-tasty-golden)
6210 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6211 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6212 (home-page "https://hackage.haskell.org/package/skylighting")
6213 (synopsis "Syntax highlighting library")
6214 (description "Skylighting is a syntax highlighting library with support
6215for over one hundred languages. It derives its tokenizers from XML syntax
6216definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
6217supported by that framework can be added. An optional command-line program is
6218provided. Skylighting is intended to be the successor to highlighting-kate.")
6219 (license license:gpl2)))
6220
08eaa0d8
RW
6221(define-public ghc-skylighting-for-pandoc-1
6222 (package (inherit ghc-skylighting)
6223 (version "0.1.1.5")
6224 (source (origin
6225 (method git-fetch)
6226 ;; We take the sources from Github, because the tarball on
6227 ;; hackage does not include the XML files.
6228 (uri (git-reference
6229 (url "https://github.com/jgm/skylighting.git")
6230 (commit version)))
6231 (file-name (string-append "ghc-skylighting-" version "-checkout"))
6232 (sha256
6233 (base32
6234 "0z3yv8v2fqqgv6lsf0ff3ld0h2vkg97b2jiry9wn2f1rizwdqmzl"))))
6235 (arguments
6236 `(#:configure-flags '("-fbootstrap")
6237 #:phases
6238 (modify-phases %standard-phases
6239 ;; After building the skylighting-extract tool we use it to generate
6240 ;; syntax source files from the included XML files. These are then
6241 ;; added to the skylighting.cabal file.
6242 (add-after 'build 'extract-xml
6243 (lambda _
6244 (make-file-writable "skylighting.cabal")
6245 (apply invoke "./dist/build/skylighting-extract/skylighting-extract"
6246 (find-files "xml" "\\.xml$"))
6247 #t))
6248 ;; Reconfigure without bootstrap flag
6249 (add-after 'extract-xml 'configure-again
6250 (lambda* (#:key outputs inputs tests? #:allow-other-keys)
6251 ((assoc-ref %standard-phases 'configure)
6252 #:outputs outputs
6253 #:inputs inputs
6254 #:tests? tests?
6255 #:configure-flags '("-f-bootstrap"))))
6256 (add-after 'configure-again 'build-again
6257 (assoc-ref %standard-phases 'build)))))
6258 (inputs
6259 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6260 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6261 ("ghc-blaze-html" ,ghc-blaze-html)
6262 ("ghc-case-insensitive" ,ghc-case-insensitive)
6263 ("ghc-diff" ,ghc-diff)
6264 ("ghc-hxt" ,ghc-hxt)
6265 ("ghc-mtl" ,ghc-mtl)
6266 ("ghc-pretty-show" ,ghc-pretty-show)
6267 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
6268 ("ghc-safe" ,ghc-safe)
6269 ("ghc-text" ,ghc-text)
6270 ("ghc-utf8-string" ,ghc-utf8-string)))))
6271
4012ea04
RW
6272(define-public ghc-doctemplates
6273 (package
6274 (name "ghc-doctemplates")
6275 (version "0.2.1")
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append "https://hackage.haskell.org/package/"
6280 "doctemplates/doctemplates-"
6281 version ".tar.gz"))
6282 (sha256
6283 (base32
6284 "1bfs2kl5j5al2w2y4qpbn68p0xsnb65r7h51l356kpkzc326646p"))))
6285 (build-system haskell-build-system)
6286 (inputs
6287 `(("ghc-aeson" ,ghc-aeson)
6288 ("ghc-blaze-markup" ,ghc-blaze-markup)
6289 ("ghc-blaze-html" ,ghc-blaze-html)
6290 ("ghc-text" ,ghc-text)
6291 ("ghc-vector" ,ghc-vector)
6292 ("ghc-parsec" ,ghc-parsec)
6293 ("ghc-unordered-containers" ,ghc-unordered-containers)
6294 ("ghc-scientific" ,ghc-scientific)))
6295 (native-inputs
6296 `(("ghc-hspec" ,ghc-hspec)))
6297 (home-page "https://github.com/jgm/doctemplates#readme")
6298 (synopsis "Pandoc-style document templates")
6299 (description
6300 "This package provides a simple text templating system used by pandoc.")
6301 (license license:bsd-3)))
6c055278
RW
6302
6303(define-public ghc-doctemplates-for-pandoc-1
6304 (package (inherit ghc-doctemplates)
6305 (version "0.1.0.2")
6306 (source
6307 (origin
6308 (method url-fetch)
6309 (uri (string-append "https://hackage.haskell.org/package/"
6310 "doctemplates/doctemplates-"
6311 version ".tar.gz"))
6312 (sha256
6313 (base32
6314 "0swal6rjya1293mwvl63jch5fx9ghpsil7qs4v7rpansa0izalmp"))))
6315 (build-system haskell-build-system)
6316 (inputs
6317 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6318 ("ghc-blaze-markup" ,ghc-blaze-markup)
6319 ("ghc-blaze-html" ,ghc-blaze-html)
6320 ("ghc-text" ,ghc-text)
6321 ("ghc-vector" ,ghc-vector)
6322 ("ghc-parsec" ,ghc-parsec)
6323 ("ghc-unordered-containers" ,ghc-unordered-containers)
6324 ("ghc-scientific" ,ghc-scientific)))))
4012ea04 6325
85538709
RW
6326(define-public ghc-pandoc
6327 (package
6328 (name "ghc-pandoc")
970481f1 6329 (version "2.2.1")
85538709
RW
6330 (source
6331 (origin
6332 (method url-fetch)
612fddec 6333 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
85538709
RW
6334 version ".tar.gz"))
6335 (sha256
6336 (base32
970481f1 6337 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
85538709 6338 (build-system haskell-build-system)
2d47cee2 6339 (inputs
1afa5abb
RW
6340 `(("ghc-aeson" ,ghc-aeson)
6341 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
85538709 6342 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
85538709
RW
6343 ("ghc-blaze-html" ,ghc-blaze-html)
6344 ("ghc-blaze-markup" ,ghc-blaze-markup)
1afa5abb
RW
6345 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
6346 ("ghc-data-default" ,ghc-data-default)
85538709 6347 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1afa5abb
RW
6348 ("ghc-diff" ,ghc-diff)
6349 ("ghc-doctemplates" ,ghc-doctemplates)
6350 ("ghc-executable-path" ,ghc-executable-path)
6351 ("ghc-glob" ,ghc-glob)
6352 ("ghc-haddock-library" ,ghc-haddock-library)
6353 ("ghc-hslua" ,ghc-hslua)
6354 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
6355 ("ghc-http" ,ghc-http)
85538709
RW
6356 ("ghc-http-client" ,ghc-http-client)
6357 ("ghc-http-client-tls" ,ghc-http-client-tls)
6358 ("ghc-http-types" ,ghc-http-types)
1afa5abb
RW
6359 ("ghc-juicypixels" ,ghc-juicypixels)
6360 ("ghc-mtl" ,ghc-mtl)
6361 ("ghc-network" ,ghc-network)
6362 ("ghc-network-uri" ,ghc-network-uri)
6363 ("ghc-old-locale" ,ghc-old-locale)
6364 ("ghc-pandoc-types" ,ghc-pandoc-types)
6365 ("ghc-parsec" ,ghc-parsec)
6366 ("ghc-random" ,ghc-random)
6367 ("ghc-scientific" ,ghc-scientific)
6368 ("ghc-sha" ,ghc-sha)
6369 ("ghc-skylighting" ,ghc-skylighting)
6370 ("ghc-split" ,ghc-split)
6371 ("ghc-syb" ,ghc-syb)
6372 ("ghc-tagsoup" ,ghc-tagsoup)
6373 ("ghc-temporary" ,ghc-temporary)
6374 ("ghc-texmath" ,ghc-texmath)
6375 ("ghc-text" ,ghc-text)
6376 ("ghc-unordered-containers" ,ghc-unordered-containers)
6377 ("ghc-vector" ,ghc-vector)
6378 ("ghc-xml" ,ghc-xml)
6379 ("ghc-yaml" ,ghc-yaml)
6380 ("ghc-zip-archive" ,ghc-zip-archive)
6381 ("ghc-zlib" ,ghc-zlib)))
85538709 6382 (native-inputs
1afa5abb
RW
6383 `(("ghc-tasty" ,ghc-tasty)
6384 ("ghc-tasty-golden" ,ghc-tasty-golden)
6385 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6386 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
85538709
RW
6387 ("ghc-quickcheck" ,ghc-quickcheck)
6388 ("ghc-hunit" ,ghc-hunit)))
98b90194 6389 (home-page "https://pandoc.org")
85538709
RW
6390 (synopsis "Conversion between markup formats")
6391 (description
6392 "Pandoc is a Haskell library for converting from one markup format to
6393another, and a command-line tool that uses this library. It can read and
6394write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
6395LaTeX, DocBook, and many more.
6396
6397Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
6398definition lists, tables, and other features. A compatibility mode is
6399provided for those who need a drop-in replacement for Markdown.pl.")
3ac73271 6400 (license license:gpl2+)))
85538709 6401
8b1e1e4c
RW
6402;; This is the last version of Pandoc 1.x, which is preferred for Rmarkdown.
6403(define-public ghc-pandoc-1
6404 (package (inherit ghc-pandoc)
6405 (version "1.19.2.4")
6406 (source
6407 (origin
6408 (method url-fetch)
6409 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
6410 version ".tar.gz"))
6411 (sha256
6412 (base32
6413 "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v"))))
6414 (arguments
6415 `(#:configure-flags (list "--allow-newer=skylighting")))
6416 (inputs
6417 `(("ghc-aeson" ,ghc-aeson-for-pandoc-1)
6418 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
6419 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6420 ("ghc-blaze-html" ,ghc-blaze-html)
6421 ("ghc-blaze-markup" ,ghc-blaze-markup)
6422 ("ghc-cmark" ,ghc-cmark)
6423 ("ghc-data-default" ,ghc-data-default)
6424 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
6425 ("ghc-diff" ,ghc-diff)
6426 ("ghc-doctemplates" ,ghc-doctemplates-for-pandoc-1)
6427 ("ghc-executable-path" ,ghc-executable-path)
6428 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
6429 ("ghc-filemanip" ,ghc-filemanip)
6430 ("ghc-haddock-library" ,ghc-haddock-library)
6431 ("ghc-hslua" ,ghc-hslua-for-pandoc-1)
6432 ("ghc-http" ,ghc-http)
6433 ("ghc-http-client" ,ghc-http-client)
6434 ("ghc-http-client-tls" ,ghc-http-client-tls)
6435 ("ghc-http-types" ,ghc-http-types)
6436 ("ghc-juicypixels" ,ghc-juicypixels)
6437 ("ghc-mtl" ,ghc-mtl)
6438 ("ghc-network" ,ghc-network)
6439 ("ghc-network-uri" ,ghc-network-uri)
6440 ("ghc-old-time" ,ghc-old-time)
6441 ("ghc-pandoc-types" ,ghc-pandoc-types-for-pandoc-1)
6442 ("ghc-parsec" ,ghc-parsec)
6443 ("ghc-random" ,ghc-random)
6444 ("ghc-scientific" ,ghc-scientific)
6445 ("ghc-sha" ,ghc-sha)
6446 ("ghc-skylighting" ,ghc-skylighting-for-pandoc-1)
6447 ("ghc-syb" ,ghc-syb)
6448 ("ghc-tagsoup" ,ghc-tagsoup)
6449 ("ghc-temporary" ,ghc-temporary)
6450 ("ghc-texmath" ,ghc-texmath-for-pandoc-1)
6451 ("ghc-text" ,ghc-text)
6452 ("ghc-unordered-containers" ,ghc-unordered-containers)
6453 ("ghc-vector" ,ghc-vector)
6454 ("ghc-xml" ,ghc-xml)
6455 ("ghc-yaml" ,ghc-yaml-for-pandoc-1)
6456 ("ghc-zip-archive" ,ghc-zip-archive)
6457 ("ghc-zlib" ,ghc-zlib)))
6458 (native-inputs
6459 `(("ghc-test-framework" ,ghc-test-framework)
6460 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6461 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))))
6462
37e02bf6
RW
6463(define-public ghc-hs-bibutils
6464 (package
6465 (name "ghc-hs-bibutils")
1ddcb5e3 6466 (version "6.2.0.1")
37e02bf6
RW
6467 (source
6468 (origin
6469 (method url-fetch)
6470 (uri (string-append
6471 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
6472 version ".tar.gz"))
6473 (sha256
6474 (base32
1ddcb5e3 6475 "0c56sjgg82kjcg5rrplnyn7vf02ccsj3kkcbgc87zxlv0j880rjb"))))
37e02bf6
RW
6476 (build-system haskell-build-system)
6477 (inputs `(("ghc-syb" ,ghc-syb)))
6478 (home-page "https://hackage.haskell.org/package/hs-bibutils")
6479 (synopsis "Haskell bindings to bibutils")
6480 (description
6481 "This package provides Haskell bindings to @code{bibutils}, a library
6482that interconverts between various bibliography formats using a common
6483MODS-format XML intermediate.")
6484 (license license:gpl2+)))
6485
9ce764b6
RW
6486(define-public ghc-rfc5051
6487 (package
6488 (name "ghc-rfc5051")
6489 (version "0.1.0.3")
6490 (source
6491 (origin
6492 (method url-fetch)
6493 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
6494 "rfc5051-" version ".tar.gz"))
6495 (sha256
6496 (base32
6497 "0av4c3qvwbkbzrjrrg601ay9pds7wscqqp2lc2z78mv2lllap3g3"))))
6498 (build-system haskell-build-system)
98b90194 6499 (home-page "https://hackage.haskell.org/package/rfc5051")
9ce764b6
RW
6500 (synopsis "Simple unicode collation as per RFC5051")
6501 (description
6502 "This library implements @code{unicode-casemap}, the simple, non
6503locale-sensitive unicode collation algorithm described in RFC 5051. Proper
6504unicode collation can be done using @code{text-icu}, but that is a big
6505dependency that depends on a large C library, and @code{rfc5051} might be
6506better for some purposes.")
6507 (license license:bsd-3)))
6508
d5040b44
RW
6509(define-public ghc-typed-process
6510 (package
6511 (name "ghc-typed-process")
6512 (version "0.2.2.0")
6513 (source
6514 (origin
6515 (method url-fetch)
6516 (uri (string-append "https://hackage.haskell.org/package/"
6517 "typed-process/typed-process-"
6518 version ".tar.gz"))
6519 (sha256
6520 (base32
6521 "0c6gvgvjyncbni9a5bvpbglknd4yclr3d3hfg9bhgahmkj40dva2"))))
6522 (build-system haskell-build-system)
6523 (inputs
6524 `(("ghc-async" ,ghc-async)
6525 ("ghc-stm" ,ghc-stm)))
6526 (native-inputs
6527 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
6528 ("ghc-hspec" ,ghc-hspec)
6529 ("hspec-discover" ,hspec-discover)
6530 ("ghc-temporary" ,ghc-temporary)))
6531 (home-page "https://haskell-lang.org/library/typed-process")
6532 (synopsis "Run external processes with strong typing of streams")
6533 (description
6534 "This library provides the ability to launch and interact with external
6535processes. It wraps around the @code{process} library, and intends to improve
6536upon it.")
6537 (license license:expat)))
6538
1aa45bbf
RW
6539(define-public ghc-conduit-extra
6540 (package
6541 (name "ghc-conduit-extra")
c106c48e 6542 (version "1.3.0")
1aa45bbf
RW
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append "https://hackage.haskell.org/package/"
6547 "conduit-extra/conduit-extra-"
6548 version ".tar.gz"))
6549 (sha256
6550 (base32
c106c48e 6551 "1bi2b6kdzy5f9glq46jzsk02has95jkxqz0cchpbmnakzhjwjh9c"))))
1aa45bbf
RW
6552 (build-system haskell-build-system)
6553 (inputs
6554 `(("ghc-conduit" ,ghc-conduit)
6555 ("ghc-exceptions" ,ghc-exceptions)
6556 ("ghc-monad-control" ,ghc-monad-control)
6557 ("ghc-text" ,ghc-text)
6558 ("ghc-transformers-base" ,ghc-transformers-base)
c106c48e 6559 ("ghc-typed-process" ,ghc-typed-process)
1aa45bbf
RW
6560 ("ghc-async" ,ghc-async)
6561 ("ghc-attoparsec" ,ghc-attoparsec)
6562 ("ghc-blaze-builder" ,ghc-blaze-builder)
6563 ("ghc-network" ,ghc-network)
6564 ("ghc-primitive" ,ghc-primitive)
6565 ("ghc-resourcet" ,ghc-resourcet)
6566 ("ghc-stm" ,ghc-stm)
6567 ("ghc-streaming-commons" ,ghc-streaming-commons)
6568 ("ghc-hspec" ,ghc-hspec)
6569 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6570 ("ghc-quickcheck" ,ghc-quickcheck)))
6571 (native-inputs
6572 `(("hspec-discover" ,hspec-discover)))
7bf837fd 6573 (home-page "https://github.com/snoyberg/conduit")
1aa45bbf
RW
6574 (synopsis "Conduit adapters for common libraries")
6575 (description
6576 "The @code{conduit} package itself maintains relative small dependencies.
6577The purpose of this package is to collect commonly used utility functions
6578wrapping other library dependencies, without depending on heavier-weight
6579dependencies. The basic idea is that this package should only depend on
6580@code{haskell-platform} packages and @code{conduit}.")
6581 (license license:expat)))
6582
e9ef2c51
RW
6583(define-public ghc-xml-types
6584 (package
6585 (name "ghc-xml-types")
6586 (version "0.3.6")
6587 (source
6588 (origin
6589 (method url-fetch)
6590 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
6591 "xml-types-" version ".tar.gz"))
6592 (sha256
6593 (base32
6594 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
6595 (build-system haskell-build-system)
6596 (inputs `(("ghc-text" ,ghc-text)))
6597 (home-page "https://john-millikin.com/software/haskell-xml/")
6598 (synopsis "Basic types for representing XML")
6599 (description "This package provides basic types for representing XML
6600documents.")
6601 (license license:expat)))
6602
bfdfb0f6
RW
6603(define-public ghc-xml-conduit
6604 (package
6605 (name "ghc-xml-conduit")
29a26386 6606 (version "1.7.1.2")
bfdfb0f6
RW
6607 (source
6608 (origin
6609 (method url-fetch)
6610 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
6611 "xml-conduit-" version ".tar.gz"))
6612 (sha256
6613 (base32
29a26386 6614 "0n4k0rq9j5cc9kdvj9xbx8gmiqlyk5x6pw8yxzw5wfsw7qkych2s"))))
bfdfb0f6
RW
6615 (build-system haskell-build-system)
6616 (inputs
6617 `(("ghc-conduit" ,ghc-conduit)
6618 ("ghc-conduit-extra" ,ghc-conduit-extra)
6619 ("ghc-resourcet" ,ghc-resourcet)
6620 ("ghc-text" ,ghc-text)
6621 ("ghc-xml-types" ,ghc-xml-types)
6622 ("ghc-attoparsec" ,ghc-attoparsec)
29a26386 6623 ("ghc-data-default-class" ,ghc-data-default-class)
bfdfb0f6
RW
6624 ("ghc-blaze-markup" ,ghc-blaze-markup)
6625 ("ghc-blaze-html" ,ghc-blaze-html)
bfdfb0f6
RW
6626 ("ghc-monad-control" ,ghc-monad-control)
6627 ("ghc-hspec" ,ghc-hspec)
6628 ("ghc-hunit" ,ghc-hunit)))
7bf837fd 6629 (home-page "https://github.com/snoyberg/xml")
bfdfb0f6
RW
6630 (synopsis "Utilities for dealing with XML with the conduit package")
6631 (description
6632 "This package provides pure-Haskell utilities for dealing with XML with
6633the @code{conduit} package.")
6634 (license license:expat)))
6635
eb0ff8a3
RW
6636(define-public ghc-pandoc-citeproc
6637 (package
6638 (name "ghc-pandoc-citeproc")
a49bb332 6639 (version "0.12.2.5")
eb0ff8a3
RW
6640 (source
6641 (origin
6642 (method url-fetch)
6643 (uri (string-append "https://hackage.haskell.org/package/"
6644 "pandoc-citeproc/pandoc-citeproc-"
6645 version ".tar.gz"))
6646 (sha256
6647 (base32
a49bb332 6648 "1l58nbflcnlznc93qimkk7ghk2gv8kipf45zf88piqa2zys41yyx"))))
eb0ff8a3
RW
6649 (build-system haskell-build-system)
6650 (arguments
6651 `(#:phases
6652 (modify-phases %standard-phases
6653 ;; Tests need to be run after installation.
6654 (delete 'check)
6655 (add-after 'install 'post-install-check
6656 (assoc-ref %standard-phases 'check)))))
6657 (inputs
6658 `(("ghc-mtl" ,ghc-mtl)
6659 ("ghc-pandoc-types" ,ghc-pandoc-types)
6660 ("ghc-pandoc" ,ghc-pandoc)
6661 ("ghc-tagsoup" ,ghc-tagsoup)
6662 ("ghc-aeson" ,ghc-aeson)
6663 ("ghc-text" ,ghc-text)
6664 ("ghc-vector" ,ghc-vector)
6665 ("ghc-xml-conduit" ,ghc-xml-conduit)
6666 ("ghc-unordered-containers" ,ghc-unordered-containers)
6667 ("ghc-data-default" ,ghc-data-default)
6668 ("ghc-setenv" ,ghc-setenv)
6669 ("ghc-split" ,ghc-split)
6670 ("ghc-yaml" ,ghc-yaml)
6671 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
6672 ("ghc-rfc5051" ,ghc-rfc5051)
6673 ("ghc-syb" ,ghc-syb)
6674 ("ghc-parsec" ,ghc-parsec)
6675 ("ghc-old-locale" ,ghc-old-locale)
6676 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
6677 ("ghc-attoparsec" ,ghc-attoparsec)
6678 ("ghc-temporary" ,ghc-temporary)))
6679 (home-page "https://github.com/jgm/pandoc-citeproc")
6680 (synopsis "Library for using pandoc with citeproc")
6681 (description
6682 "The @code{pandoc-citeproc} library exports functions for using the
6683citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
6684rendering bibliographic reference citations into a variety of styles using a
6685macro language called @dfn{Citation Style Language} (CSL). This package also
6686contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
6687and also has a mode for converting bibliographic databases a YAML format
6688suitable for inclusion in pandoc YAML metadata.")
6689 (license license:bsd-3)))
6690
8c6117ee
RW
6691(define-public ghc-pandoc-citeproc-with-pandoc-1
6692 (let ((for-pandoc-1
6693 (package-input-rewriting
6694 `((,ghc-aeson . ,ghc-aeson-for-pandoc-1)
6695 (,ghc-yaml . ,ghc-yaml-for-pandoc-1)
6696 (,ghc-texmath . ,ghc-texmath-for-pandoc-1)
6697 (,ghc-pandoc-types . ,ghc-pandoc-types-for-pandoc-1)
6698 (,ghc-hslua . ,ghc-hslua-for-pandoc-1)
6699 (,ghc-skylighting . ,ghc-skylighting-for-pandoc-1)
6700 (,ghc-doctemplates . ,ghc-doctemplates-for-pandoc-1)
6701 (,ghc-pandoc . ,ghc-pandoc-1)))))
6702 (for-pandoc-1 ghc-pandoc-citeproc)))
6703
abbf2623
LC
6704(define-public ghc-union-find
6705 (package
6706 (name "ghc-union-find")
6707 (version "0.2")
6708 (source (origin
6709 (method url-fetch)
6710 (uri (string-append
612fddec 6711 "https://hackage.haskell.org/package/union-find/union-find-"
abbf2623
LC
6712 version ".tar.gz"))
6713 (sha256
6714 (base32
6715 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
6716 (build-system haskell-build-system)
612fddec 6717 (home-page "https://github.com/nominolo/union-find")
abbf2623
LC
6718 (synopsis "Efficient union and equivalence testing of sets")
6719 (description
6720 "The Union/Find algorithm implements these operations in (effectively)
6721constant-time:
6722@enumerate
6723@item Check whether two elements are in the same equivalence class.
6724@item Create a union of two equivalence classes.
6725@item Look up the descriptor of the equivalence class.
6726@end enumerate\n")
6727 (license license:bsd-3)))
6728
cc5e16a7 6729(define-public ghc-base16-bytestring
6730 (package
6731 (name "ghc-base16-bytestring")
6732 (version "0.1.1.6")
6733 (source
6734 (origin
6735 (method url-fetch)
6736 (uri (string-append
6737 "https://hackage.haskell.org/package/base16-bytestring/"
6738 "base16-bytestring-" version ".tar.gz"))
6739 (sha256
6740 (base32
6741 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
6742 (build-system haskell-build-system)
7bf837fd 6743 (home-page "https://github.com/bos/base16-bytestring")
cc5e16a7 6744 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
6745 (description
6746 "This package provides a Haskell library for working with base16-encoded
6747data quickly and efficiently, using the ByteString type.")
6748 (license license:bsd-3)))
6749
7c14128d 6750(define-public ghc-data-ordlist
6751 (package
6752 (name "ghc-data-ordlist")
6753 (version "0.4.7.0")
6754 (source
6755 (origin
6756 (method url-fetch)
6757 (uri (string-append
6758 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
6759 version ".tar.gz"))
6760 (sha256
6761 (base32
6762 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
6763 (build-system haskell-build-system)
98b90194 6764 (home-page "https://hackage.haskell.org/package/data-ordlist")
7c14128d 6765 (synopsis "Set and bag operations on ordered lists")
6766 (description
6767 "This module provides set and multiset operations on ordered lists.")
6768 (license license:bsd-3)))
6769
d58dc851 6770(define-public ghc-regex-applicative
6771 (package
6772 (name "ghc-regex-applicative")
6773 (version "0.3.3")
6774 (source
6775 (origin
6776 (method url-fetch)
6777 (uri (string-append
6778 "https://hackage.haskell.org/package/regex-applicative/"
6779 "regex-applicative-" version ".tar.gz"))
6780 (sha256
6781 (base32
6782 "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6"))))
6783 (build-system haskell-build-system)
6784 (inputs
6785 `(("ghc-smallcheck" ,ghc-smallcheck)
6786 ("ghc-tasty" ,ghc-tasty)
6787 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
6788 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6789 (home-page "https://github.com/feuerbach/regex-applicative")
6790 (synopsis "Regex-based parsing with applicative interface")
6791 (description
6792 "@code{regex-applicative} is a Haskell library for parsing using
6793regular expressions. Parsers can be built using Applicative interface.")
6794 (license license:expat)))
6795
7e444dba 6796(define-public ghc-regex-tdfa
6797 (package
6798 (name "ghc-regex-tdfa")
6799 (version "1.2.2")
6800 (source
6801 (origin
6802 (method url-fetch)
6803 (uri (string-append
6804 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
6805 version ".tar.gz"))
6806 (sha256
6807 (base32
6808 "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb"))))
6809 (build-system haskell-build-system)
6810 (inputs
6811 `(("ghc-mtl" ,ghc-mtl)
6812 ("ghc-parsec" ,ghc-parsec)
6813 ("ghc-regex-base" ,ghc-regex-base)))
6814 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
6815 (synopsis "POSIX extended regular expressions in Haskell.")
6816 (description
6817 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
6818extended regular expressions. It is a \"tagged\" DFA regex engine. It is
6819inspired by libtre.")
6820 (license license:bsd-3)))
6821
fe3c62c7 6822(define-public ghc-regex-compat-tdfa
6823 (package
6824 (name "ghc-regex-compat-tdfa")
6825 (version "0.95.1.4")
6826 (source
6827 (origin
6828 (method url-fetch)
6829 (uri (string-append
6830 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
6831 version ".tar.gz"))
6832 (sha256
6833 (base32
6834 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
6835 (build-system haskell-build-system)
6836 (inputs
6837 `(("ghc-regex-base" ,ghc-regex-base)
6838 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
98b90194 6839 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
fe3c62c7 6840 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
6841 (description
6842 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
6843@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
6844This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
6845this problem.")
6846 (license license:bsd-3)))
6847
e9e519be 6848(define-public ghc-sandi
6849 (package
6850 (name "ghc-sandi")
66dbe158 6851 (version "0.4.2")
e9e519be 6852 (source
6853 (origin
6854 (method url-fetch)
6855 (uri (string-append
6856 "https://hackage.haskell.org/package/sandi/sandi-"
6857 version ".tar.gz"))
6858 (sha256
6859 (base32
66dbe158 6860 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
e9e519be 6861 (build-system haskell-build-system)
6862 (inputs
6863 `(("ghc-stringsearch" ,ghc-stringsearch)
6864 ("ghc-conduit" ,ghc-conduit)
6865 ("ghc-exceptions" ,ghc-exceptions)
6866 ("ghc-hunit" ,ghc-hunit)
6867 ("ghc-tasty" ,ghc-tasty)
6868 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6869 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6870 ("ghc-tasty-th" ,ghc-tasty-th)))
98b90194 6871 (home-page "https://hackage.haskell.org/package/sandi")
e9e519be 6872 (synopsis "Data encoding library")
6873 (description "Reasonably fast data encoding library.")
6874 (license license:bsd-3)))
6875
a71f8617 6876(define-public ghc-bytestring-handle
6877 (package
6878 (name "ghc-bytestring-handle")
39bcc932 6879 (version "0.1.0.6")
a71f8617 6880 (source
6881 (origin
6882 (method url-fetch)
6883 (uri (string-append
6884 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
6885 version ".tar.gz"))
6886 (sha256
6887 (base32
39bcc932 6888 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
a71f8617 6889 (build-system haskell-build-system)
6890 (inputs
6bfcb59d
TGR
6891 `(("ghc-hunit" ,ghc-hunit)
6892 ("ghc-quickcheck" ,ghc-quickcheck)
6893 ("ghc-test-framework" ,ghc-test-framework)
a71f8617 6894 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6bfcb59d 6895 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
98b90194 6896 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
a71f8617 6897 (synopsis "ByteString-backed Handles")
6898 (description "ByteString-backed Handles") ; There is no description
6899 (license license:bsd-3)))
6900
f8270331 6901(define-public ghc-tar
6902 (package
6903 (name "ghc-tar")
6904 (version "0.5.0.3")
6905 (source
6906 (origin
6907 (method url-fetch)
6908 (uri (string-append
6909 "https://hackage.haskell.org/package/tar/tar-"
6910 version ".tar.gz"))
6911 (sha256
6912 (base32
6913 "18qq94j9bm91iswnxq2dm5dws5c7wm4k01q2rpf8py35cf3svnfq"))))
6914 (build-system haskell-build-system)
f25c95d3
RW
6915 ;; FIXME: 2/24 tests fail.
6916 (arguments `(#:tests? #f))
f8270331 6917 (inputs
6918 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
6919 ("ghc-quickcheck" ,ghc-quickcheck)
6920 ("ghc-tasty" ,ghc-tasty)
473cd277 6921 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
98b90194 6922 (home-page "https://hackage.haskell.org/package/tar")
f8270331 6923 (synopsis "Reading, writing and manipulating \".tar\" archive files")
6924 (description
6925 "This library is for working with \\\"@.tar@\\\" archive files.
6926It can read and write a range of common variations of the tar archive format
6927including V7, POSIX USTAR and GNU formats. It provides support for packing and
6928unpacking portable archives. This makes it suitable for distribution but not
6929backup because details like file ownership and exact permissions are not
6930preserved. It also provides features for random access to archive content using
6931an index.")
6932 (license license:bsd-3)))
6933
867ed977
AV
6934(define-public ghc-stmonadtrans
6935 (package
6936 (name "ghc-stmonadtrans")
6937 (version "0.4.3")
6938 (source
6939 (origin
6940 (method url-fetch)
6941 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
6942 "/STMonadTrans-" version ".tar.gz"))
6943 (sha256
6944 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
6945 (build-system haskell-build-system)
6946 (inputs
6947 `(("ghc-mtl" ,ghc-mtl)))
6948 (home-page "https://hackage.haskell.org/package/STMonadTrans")
6949 (synopsis "Monad transformer version of the ST monad")
6950 (description
6951 "This package provides a monad transformer version of the @code{ST} monad
6952for strict state threads.")
6953 (license license:bsd-3)))
6954
027b7976 6955(define-public ghc-findbin
6956 (package
6957 (name "ghc-findbin")
6958 (version "0.0.5")
6959 (source
6960 (origin
6961 (method url-fetch)
6962 (uri (string-append
6963 "https://hackage.haskell.org/package/FindBin/FindBin-"
6964 version ".tar.gz"))
6965 (sha256
6966 (base32
6967 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
6968 (build-system haskell-build-system)
6969 (home-page "https://github.com/audreyt/findbin")
6970 (synopsis "Get the absolute path of the running program")
6971 (description
6972 "This module locates the full directory of the running program, to allow
6973the use of paths relative to it. FindBin supports invocation of Haskell
6974programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
6975an executable.")
6976 (license license:bsd-3)))
6977
d52ca22a 6978(define-public ghc-patience
6979 (package
6980 (name "ghc-patience")
6981 (version "0.1.1")
6982 (source
6983 (origin
6984 (method url-fetch)
6985 (uri (string-append
6986 "https://hackage.haskell.org/package/patience/patience-"
6987 version ".tar.gz"))
6988 (sha256
6989 (base32
6990 "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm"))))
6991 (build-system haskell-build-system)
98b90194 6992 (home-page "https://hackage.haskell.org/package/patience")
d52ca22a 6993 (synopsis "Patience diff and longest increasing subsequence")
6994 (description
6995 "This library implements the 'patience diff' algorithm, as well as the
6996patience algorithm for the longest increasing subsequence problem.
6997Patience diff computes the difference between two lists, for example the lines
6998of two versions of a source file. It provides a good balance between
6999performance, nice output for humans, and simplicity of implementation.")
7000 (license license:bsd-3)))
7001
41167bd2 7002(define-public ghc-monads-tf
7003 (package
7004 (name "ghc-monads-tf")
7005 (version "0.1.0.3")
7006 (source
7007 (origin
7008 (method url-fetch)
7009 (uri (string-append
7010 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7011 version ".tar.gz"))
7012 (sha256
7013 (base32
7014 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7015 (build-system haskell-build-system)
98b90194 7016 (home-page "https://hackage.haskell.org/package/monads-tf")
41167bd2 7017 (synopsis "Monad classes, using type families")
7018 (description
7019 "Monad classes using type families, with instances for various monad transformers,
7020inspired by the paper 'Functional Programming with Overloading and Higher-Order
7021Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7022the @code{mtl-tf} package.")
7023 (license license:bsd-3)))
7024
e1a56bb2 7025(define-public ghc-colour
7026(package
7027 (name "ghc-colour")
7028 (version "2.3.3")
7029 (source
7030 (origin
7031 (method url-fetch)
7032 (uri (string-append
7033 "https://hackage.haskell.org/package/colour/colour-"
7034 version ".tar.gz"))
7035 (sha256
7036 (base32
7037 "1qmn1778xzg07jg9nx4k1spdz2llivpblf6wwrps1qpqjhsac5cd"))))
7038 (build-system haskell-build-system)
98b90194 7039 (home-page "https://www.haskell.org/haskellwiki/Colour")
e1a56bb2 7040 (synopsis "Model for human colour perception")
7041 (description
7042 "This package provides a data type for colours and transparency.
7043Colours can be blended and composed. Various colour spaces are
7044supported. A module of colour names (\"Data.Colour.Names\") is provided.")
7045 (license license:expat)))
7046
6e0741f7 7047(define-public ghc-wl-pprint-text
7048 (package
7049 (name "ghc-wl-pprint-text")
7050 (version "1.1.0.4")
7051 (source
7052 (origin
7053 (method url-fetch)
7054 (uri (string-append
7055 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
7056 version ".tar.gz"))
7057 (sha256
7058 (base32
7059 "1xgizzimfw17mpmw2afvmnvyag976j8ggn7k5r564rkw9f0m6bgz"))))
7060 (build-system haskell-build-system)
7061 (inputs
7062 `(("ghc-text" ,ghc-text)))
98b90194 7063 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
6e0741f7 7064 (synopsis "Wadler/Leijen Pretty Printer for Text values")
7065 (description
7066 "A clone of wl-pprint for use with the text library.")
7067 (license license:bsd-3)))
7068
d4cca6b0 7069(define-public ghc-fgl-arbitrary
7070 (package
7071 (name "ghc-fgl-arbitrary")
d4fd8ee4 7072 (version "0.2.0.3")
d4cca6b0 7073 (source
7074 (origin
7075 (method url-fetch)
7076 (uri (string-append
7077 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
7078 version ".tar.gz"))
7079 (sha256
7080 (base32
d4fd8ee4 7081 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
d4cca6b0 7082 (build-system haskell-build-system)
54afb52e 7083 (arguments
a3ab433a
AI
7084 `(#:configure-flags (list "--allow-newer=QuickCheck"
7085 "--allow-newer=hspec")))
d4cca6b0 7086 (inputs
7087 `(("ghc-fgl" ,ghc-fgl)
7088 ("ghc-quickcheck" ,ghc-quickcheck)
7089 ("ghc-hspec" ,ghc-hspec)))
98b90194 7090 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
d4cca6b0 7091 (synopsis "QuickCheck support for fgl")
7092 (description
7093 "Provides Arbitrary instances for fgl graphs to avoid adding a
7094QuickCheck dependency for fgl whilst still making the instances
7095available to others. Also available are non-fgl-specific functions
7096for generating graph-like data structures.")
7097 (license license:bsd-3)))
7098
3db88277 7099(define-public ghc-graphviz
7100 (package
7101 (name "ghc-graphviz")
7102 (version "2999.18.1.2")
7103 (source (origin
7104 (method url-fetch)
7105 (uri (string-append "https://hackage.haskell.org/package/"
7106 "graphviz/graphviz-" version ".tar.gz"))
7107 (sha256
7108 (base32
7109 "1z453is01v0rnxlv6xx4iyaqv5vrp3bpz829mpv1a341sck2135h"))))
7110 (build-system haskell-build-system)
4b1f2166
RW
7111 (arguments
7112 `(#:configure-flags (list "--allow-newer=QuickCheck")))
3db88277 7113 (inputs
7114 `(("ghc-quickcheck" ,ghc-quickcheck)
7115 ("ghc-colour" ,ghc-colour)
7116 ("ghc-dlist" ,ghc-dlist)
7117 ("ghc-fgl" ,ghc-fgl)
7118 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
7119 ("ghc-polyparse" ,ghc-polyparse)
7120 ("ghc-temporary" ,ghc-temporary)
7121 ("ghc-text" ,ghc-text)
7122 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
7123 (home-page "https://hackage.haskell.org/package/graphviz")
7124 (synopsis "Bindings to Graphviz for graph visualisation")
7125 (description
7126 "This library provides bindings for the Dot language used by
98b90194 7127the @uref{https://graphviz.org/, Graphviz} suite of programs for
3db88277 7128visualising graphs, as well as functions to call those programs.
7129Main features of the graphviz library include:
7130
7131@enumerate
7132@item Almost complete coverage of all Graphviz attributes and syntax
7133@item Support for specifying clusters
7134@item The ability to use a custom node type
7135@item Functions for running a Graphviz layout tool with all specified output types
7136@item Generate and parse Dot code with two options: strict and liberal
7137@item Functions to convert FGL graphs and other graph-like data structures
7138@item Round-trip support for passing an FGL graph through Graphviz to augment node
7139and edge labels with positional information, etc.
7140@end enumerate\n")
7141 (license license:bsd-3)))
7142
6aab9ba6 7143(define-public ghc-constraints
7144 (package
7145 (name "ghc-constraints")
7146 (version "0.8")
7147 (source
7148 (origin
7149 (method url-fetch)
7150 (uri (string-append
7151 "https://hackage.haskell.org/package/constraints/constraints-"
7152 version ".tar.gz"))
7153 (sha256
7154 (base32
7155 "120mmv9rwbahslisc1z8zx9lw7v6hl5fzid4l0hiy5as6ijqgl2c"))))
7156 (build-system haskell-build-system)
7157 (inputs
7158 `(("ghc-hashable" ,ghc-hashable)
7159 ("ghc-mtl" ,ghc-mtl)
7160 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7bf837fd 7161 (home-page "https://github.com/ekmett/constraints/")
6aab9ba6 7162 (synopsis "Constraint manipulation")
7163 (description
7164 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
7165They stopped crashing the compiler in GHC 7.6. This package provides
7166a vocabulary for working with them.")
7167 (license license:bsd-3)))
7168
2b41f4af 7169(define-public ghc-lifted-async
7170 (package
7171 (name "ghc-lifted-async")
7172 (version "0.9.0")
7173 (source
7174 (origin
7175 (method url-fetch)
7176 (uri (string-append
7177 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
7178 version ".tar.gz"))
7179 (sha256
7180 (base32
7181 "00fnwfcnc6niq9jbbb9rap9rkdgv5qhcglwanzc5fi8834j94c1r"))))
7182 (build-system haskell-build-system)
7183 (inputs
7184 `(("ghc-async" ,ghc-async)
7185 ("ghc-lifted-base" ,ghc-lifted-base)
7186 ("ghc-transformers-base" ,ghc-transformers-base)
7187 ("ghc-monad-control" ,ghc-monad-control)
7188 ("ghc-constraints" ,ghc-constraints)
7189 ("ghc-hunit" ,ghc-hunit)
7190 ("ghc-mtl" ,ghc-mtl)
7191 ("ghc-tasty" ,ghc-tasty)
7192 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7193 ("ghc-tasty-th" ,ghc-tasty-th)))
7194 (home-page "https://github.com/maoe/lifted-async")
7195 (synopsis "Run lifted IO operations asynchronously and wait for their results")
7196 (description
7197 "This package provides IO operations from @code{async} package lifted to any
7198instance of @code{MonadBase} or @code{MonadBaseControl}.")
7199 (license license:bsd-3)))
7200
ddd5955b 7201;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
7202;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
7203;; which depends on ghc-chell and ghc-chell-quickcheck.
7204;; Therefore we bootstrap it with tests disabled.
7205(define ghc-system-filepath-bootstrap
7206 (package
7207 (name "ghc-system-filepath-bootstrap")
7208 (version "0.4.13.4")
7209 (source
7210 (origin
7211 (method url-fetch)
7212 (uri (string-append
7213 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7214 version ".tar.gz"))
7215 (sha256
7216 (base32
7217 "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l"))))
7218 (build-system haskell-build-system)
7219 (arguments
7220 `(#:tests? #f))
7221 (inputs
7222 `(("ghc-text" ,ghc-text)
7223 ("ghc-quickcheck" ,ghc-quickcheck)))
7224 (home-page "https://github.com/fpco/haskell-filesystem")
7225 (synopsis "High-level, byte-based file and directory path manipulations")
7226 (description
7227 "Provides a FilePath datatype and utility functions for operating on it.
7228Unlike the filepath package, this package does not simply reuse String,
7229increasing type safety.")
7230 (license license:expat)))
7231
3f7aa102 7232;; See ghc-system-filepath-bootstrap. In addition this package depends on
7233;; ghc-system-filepath.
7234(define ghc-system-fileio-bootstrap
7235 (package
7236 (name "ghc-system-fileio-bootstrap")
7237 (version "0.3.16.3")
7238 (source
7239 (origin
7240 (method url-fetch)
7241 (uri (string-append
7242 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7243 version ".tar.gz"))
7244 (sha256
7245 (base32
7246 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7247 (build-system haskell-build-system)
7248 (arguments
7249 `(#:tests? #f))
7250 (inputs
7251 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7252 ("ghc-text" ,ghc-text)
7253 ("ghc-temporary" ,ghc-temporary)))
7254 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7255 (synopsis "Consistent file system interaction across GHC versions")
3f7aa102 7256 (description
7257 "This is a small wrapper around the directory, unix, and Win32 packages,
7258for use with system-filepath. It provides a consistent API to the various
7259versions of these packages distributed with different versions of GHC.
7260In particular, this library supports working with POSIX files that have paths
7261which can't be decoded in the current locale encoding.")
7262 (license license:expat)))
7263
25b3bdb5 7264(define-public ghc-shelly
7265 (package
7266 (name "ghc-shelly")
c4348ca7 7267 (version "1.8.1")
25b3bdb5 7268 (source
7269 (origin
7270 (method url-fetch)
7271 (uri (string-append
7272 "https://hackage.haskell.org/package/shelly/shelly-"
7273 version ".tar.gz"))
7274 (sha256
7275 (base32
c4348ca7 7276 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
25b3bdb5 7277 (build-system haskell-build-system)
7278 (inputs
7279 `(("ghc-mtl" ,ghc-mtl)
7280 ("ghc-unix-compat" ,ghc-unix-compat)
7281 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
7282 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
7283 ("ghc-monad-control" ,ghc-monad-control)
7284 ("ghc-lifted-base" ,ghc-lifted-base)
7285 ("ghc-lifted-async" ,ghc-lifted-async)
7286 ("ghc-exceptions" ,ghc-exceptions)
7287 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
7288 ("ghc-text" ,ghc-text)
7289 ("ghc-async" ,ghc-async)
7290 ("ghc-transformers-base" ,ghc-transformers-base)
7291 ("ghc-hunit" ,ghc-hunit)
c4348ca7
AI
7292 ("ghc-hspec" ,ghc-hspec)
7293 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
25b3bdb5 7294 (home-page "https://github.com/yesodweb/Shelly.hs")
7295 (synopsis "Shell-like (systems) programming in Haskell")
7296 (description
7297 "Shelly provides convenient systems programming in Haskell, similar in
7298spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
7299 (license license:bsd-3)))
7300
7e06c4aa 7301;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7302(define ghc-options-bootstrap
7303 (package
7304 (name "ghc-options-bootstrap")
7305 (version "1.2.1.1")
7306 (source
7307 (origin
7308 (method url-fetch)
7309 (uri (string-append
7310 "https://hackage.haskell.org/package/options/options-"
7311 version ".tar.gz"))
7312 (sha256
7313 (base32
7314 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7315 (build-system haskell-build-system)
7316 (arguments
7317 `(#:tests? #f))
7318 (inputs
7319 `(("ghc-monads-tf" ,ghc-monads-tf)))
7320 (home-page "https://john-millikin.com/software/haskell-options/")
7321 (synopsis "Powerful and easy-to-use command-line option parser")
7322 (description
7323 "The @code{options} package lets library and application developers
7324easily work with command-line options.")
7325 (license license:expat)))
7326
8ea94489 7327(define-public ghc-chell
7328 (package
7329 (name "ghc-chell")
7330 (version "0.4.0.1")
7331 (source
7332 (origin
7333 (method url-fetch)
7334 (uri (string-append
7335 "https://hackage.haskell.org/package/chell/chell-"
7336 version ".tar.gz"))
7337 (sha256
7338 (base32
7339 "0lb95abzxl4a87nfqxsxpb3a39pd52cci43hcvj8615hyhqvs2jz"))))
7340 (build-system haskell-build-system)
7341 (inputs
7342 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
7343 ("ghc-patience" ,ghc-patience)
7344 ("ghc-random" ,ghc-random)
7345 ("ghc-text" ,ghc-text)
7346 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
7347 (home-page "https://john-millikin.com/software/chell/")
7348 (synopsis "Simple and intuitive library for automated testing")
7349 (description
7350 "Chell is a simple and intuitive library for automated testing.
7351It natively supports assertion-based testing, and can use companion
7352libraries such as @code{chell-quickcheck} to support more complex
7353testing strategies.")
7354 (license license:expat)))
7355
475d3668 7356(define ghc-chell-quickcheck-bootstrap
7357 (package
7358 (name "ghc-chell-quickcheck-bootstrap")
a9717a52 7359 (version "0.2.5.1")
475d3668 7360 (source
7361 (origin
7362 (method url-fetch)
7363 (uri (string-append
a9717a52
TGR
7364 "https://hackage.haskell.org/package/chell-quickcheck/"
7365 "chell-quickcheck-" version ".tar.gz"))
475d3668 7366 (sha256
7367 (base32
a9717a52 7368 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
475d3668 7369 (build-system haskell-build-system)
7370 (inputs
7371 `(("ghc-chell" ,ghc-chell)
7372 ("ghc-random" ,ghc-random)
7373 ("ghc-quickcheck" ,ghc-quickcheck)))
7374 (arguments
7375 `(#:tests? #f))
7376 (home-page "https://john-millikin.com/software/chell/")
7377 (synopsis "QuickCheck support for the Chell testing library")
7378 (description "More complex tests for @code{chell}.")
7379 (license license:expat)))
7380
c92d944c 7381(define-public ghc-chell-quickcheck
7382 (package
7383 (name "ghc-chell-quickcheck")
a9717a52 7384 (version "0.2.5.1")
c92d944c 7385 (source
7386 (origin
7387 (method url-fetch)
7388 (uri (string-append
a9717a52
TGR
7389 "https://hackage.haskell.org/package/chell-quickcheck/"
7390 "chell-quickcheck-" version ".tar.gz"))
c92d944c 7391 (sha256
7392 (base32
a9717a52 7393 "1iicsys9igx7m7n4l2b8djardmjy2ah5ibzp7kzs758h460fq53a"))))
c92d944c 7394 (build-system haskell-build-system)
7395 (inputs
7396 `(("ghc-chell" ,ghc-chell)
7397 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
7398 ("ghc-random" ,ghc-random)
7399 ("ghc-quickcheck" ,ghc-quickcheck)))
7400 (home-page "https://john-millikin.com/software/chell/")
7401 (synopsis "QuickCheck support for the Chell testing library")
7402 (description "More complex tests for @code{chell}.")
7403 (license license:expat)))
7404
58c85b1f 7405(define-public ghc-options
7406 (package
7407 (name "ghc-options")
7408 (version "1.2.1.1")
7409 (source
7410 (origin
7411 (method url-fetch)
7412 (uri (string-append
7413 "https://hackage.haskell.org/package/options/options-"
7414 version ".tar.gz"))
7415 (sha256
7416 (base32
7417 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7418 (build-system haskell-build-system)
7419 (inputs
7420 `(("ghc-monads-tf" ,ghc-monads-tf)
7421 ("ghc-chell" ,ghc-chell)
7422 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7423 (home-page "https://john-millikin.com/software/haskell-options/")
7424 (synopsis "Powerful and easy-to-use command-line option parser")
7425 (description
7426 "The @code{options} package lets library and application developers
7427easily work with command-line options.")
7428 (license license:expat)))
7429
23feb6e4 7430(define-public ghc-system-filepath
7431 (package
7432 (name "ghc-system-filepath")
1b58d289 7433 (version "0.4.14")
23feb6e4 7434 (source
7435 (origin
7436 (method url-fetch)
7437 (uri (string-append
7438 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
7439 version ".tar.gz"))
7440 (sha256
7441 (base32
1b58d289 7442 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
23feb6e4 7443 (build-system haskell-build-system)
1b58d289
RW
7444 ;; FIXME: One of the tests fails:
7445 ;; [ FAIL ] tests.validity.posix
7446 ;; note: seed=7310214548328823169
7447 ;; *** Failed! Falsifiable (after 24 tests):
7448 ;; 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"
7449 (arguments `(#:tests? #f))
23feb6e4 7450 (inputs
7451 `(("ghc-text" ,ghc-text)
7452 ("ghc-chell" ,ghc-chell)
7453 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
7454 ("ghc-quickcheck" ,ghc-quickcheck)))
7455 (home-page "https://github.com/fpco/haskell-filesystem")
7456 (synopsis "High-level, byte-based file and directory path manipulations")
7457 (description
7458 "Provides a FilePath datatype and utility functions for operating on it.
7459Unlike the filepath package, this package does not simply reuse String,
7460increasing type safety.")
7461 (license license:expat)))
7462
10a03d66 7463(define-public ghc-system-fileio
7464 (package
7465 (name "ghc-system-fileio")
7466 (version "0.3.16.3")
7467 (source
7468 (origin
7469 (method url-fetch)
7470 (uri (string-append
7471 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
7472 version ".tar.gz"))
7473 (sha256
7474 (base32
7475 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
7476 (build-system haskell-build-system)
7477 (inputs
7478 `(("ghc-system-filepath" ,ghc-system-filepath)
7479 ("ghc-text" ,ghc-text)
7480 ("ghc-chell" ,ghc-chell)
7481 ("ghc-temporary" ,ghc-temporary)))
7482 (home-page "https://github.com/fpco/haskell-filesystem")
162a1374 7483 (synopsis "Consistent file system interaction across GHC versions")
10a03d66 7484 (description
7485 "This is a small wrapper around the directory, unix, and Win32 packages,
7486for use with system-filepath. It provides a consistent API to the various
7487versions of these packages distributed with different versions of GHC.
7488In particular, this library supports working with POSIX files that have paths
7489which can't be decoded in the current locale encoding.")
7490 (license license:expat)))
725dddd7
FB
7491
7492(define-public ghc-storable-complex
7493 (package
7494 (name "ghc-storable-complex")
7495 (version "0.2.2")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append
98b90194 7500 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
725dddd7
FB
7501 version ".tar.gz"))
7502 (sha256
7503 (base32 "01kwwkpbfjrv26vj83cd92px5qbq1bpgxj0r45534aksqhany1xb"))))
7504 (build-system haskell-build-system)
7505 (home-page "https://github.com/cartazio/storable-complex")
7506 (synopsis "Haskell Storable instance for Complex")
7507 (description "This package provides a Haskell library including a
7508Storable instance for Complex which is binary compatible with C99, C++
7509and Fortran complex data types.")
7510 (license license:bsd-3)))
7511
95595618
FB
7512(define-public ghc-hmatrix
7513 (package
7514 (name "ghc-hmatrix")
621fe476 7515 (version "0.18.1.0")
95595618
FB
7516 (source
7517 (origin
7518 (method url-fetch)
7519 (uri (string-append
98b90194 7520 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
95595618
FB
7521 version ".tar.gz"))
7522 (sha256
621fe476 7523 (base32 "07zkwvg872hfk6jyn4s54ws8mvclynazaxf7fsbqi16dmf9dn61c"))))
95595618
FB
7524 (build-system haskell-build-system)
7525 (inputs
7526 `(("ghc-random" ,ghc-random)
7527 ("ghc-split" ,ghc-split)
7528 ("ghc-storable-complex" ,ghc-storable-complex)
7529 ("ghc-vector" ,ghc-vector)
7530 ;;("openblas" ,openblas)
7531 ("lapack" ,lapack)))
7532 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
7533 ;; disables inclusion of the LAPACK functions.
7534 ;; (arguments `(#:configure-flags '("--flags=openblas")))
7535 (home-page "https://github.com/albertoruiz/hmatrix")
7536 (synopsis "Haskell numeric linear algebra library")
7537 (description "The HMatrix package provices a Haskell library for
7538dealing with linear systems, matrix decompositions, and other
7539numerical computations based on BLAS and LAPACK.")
7540 (license license:bsd-3)))
7541
932104ab
FB
7542(define-public ghc-hmatrix-gsl
7543 (package
7544 (name "ghc-hmatrix-gsl")
e72a77e1 7545 (version "0.18.0.1")
932104ab
FB
7546 (source
7547 (origin
7548 (method url-fetch)
7549 (uri (string-append
98b90194 7550 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
932104ab
FB
7551 version ".tar.gz"))
7552 (sha256
e72a77e1 7553 (base32 "0mflm7zg6c6a5vy092pa429rzpyv5drc1589r3x4fbmvcyqc79gx"))))
932104ab
FB
7554 (build-system haskell-build-system)
7555 (inputs
7556 `(("ghc-hmatrix" ,ghc-hmatrix)
7557 ("ghc-vector" ,ghc-vector)
7558 ("ghc-random" ,ghc-random)
7559 ("gsl" ,gsl)))
7560 (native-inputs `(("pkg-config" ,pkg-config)))
7561 (home-page "https://github.com/albertoruiz/hmatrix")
7562 (synopsis "Haskell GSL binding")
7563 (description "This Haskell library provides a purely functional
7564interface to selected numerical computations, internally implemented
7565using GSL.")
7566 (license license:gpl3+)))
7567
271a5365
FB
7568(define-public ghc-hmatrix-special
7569 (package
7570 (name "ghc-hmatrix-special")
15eef66e 7571 (version "0.4.0.1")
271a5365
FB
7572 (source
7573 (origin
7574 (method url-fetch)
7575 (uri
7576 (string-append
98b90194 7577 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
271a5365
FB
7578 version ".tar.gz"))
7579 (sha256
15eef66e 7580 (base32 "0kpcqdchi7ikzhqacy4rh4dxz3v37paxyb84wqa66sysb72wkabj"))))
271a5365
FB
7581 (build-system haskell-build-system)
7582 (inputs
7583 `(("ghc-hmatrix" ,ghc-hmatrix)
7584 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
7585 (home-page "https://github.com/albertoruiz/hmatrix")
7586 (synopsis "Haskell interface to GSL special functions")
7587 (description "This library provides an interface to GSL special
7588functions for Haskell.")
7589 (license license:gpl3+)))
7590
4225c711
FB
7591(define-public ghc-hmatrix-gsl-stats
7592 (package
7593 (name "ghc-hmatrix-gsl-stats")
26d6539b 7594 (version "0.4.1.7")
4225c711
FB
7595 (source
7596 (origin
7597 (method url-fetch)
7598 (uri
7599 (string-append
98b90194 7600 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4225c711
FB
7601 version ".tar.gz"))
7602 (sha256
26d6539b 7603 (base32 "1gslgk58lzin43cvbpivhw7nrn9qyaa6qwhy1z9ypvyal5p8n3sa"))))
4225c711
FB
7604 (build-system haskell-build-system)
7605 (inputs
7606 `(("ghc-vector" ,ghc-vector)
7607 ("ghc-storable-complex" ,ghc-storable-complex)
7608 ("ghc-hmatrix" ,ghc-hmatrix)
7609 ("gsl" ,gsl)))
7610 (native-inputs `(("pkg-config" ,pkg-config)))
7611 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
7612 (synopsis "GSL Statistics interface for Haskell")
7613 (description "This Haskell library provides a purely functional
7614interface for statistics based on hmatrix and GSL.")
7615 (license license:bsd-3)))
7616
db61a009
FB
7617(define-public ghc-easyplot
7618 (package
7619 (name "ghc-easyplot")
7620 (version "1.0")
7621 (source
7622 (origin
7623 (method url-fetch)
7624 (uri (string-append
98b90194 7625 "https://hackage.haskell.org/package/easyplot/easyplot-"
db61a009
FB
7626 version ".tar.gz"))
7627 (sha256
7628 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
7629 (build-system haskell-build-system)
7630 (propagated-inputs `(("gnuplot" ,gnuplot)))
7631 (arguments
7632 `(#:phases (modify-phases %standard-phases
7633 (add-after 'unpack 'fix-setup-suffix
7634 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
98b90194 7635 (home-page "https://hub.darcs.net/scravy/easyplot")
db61a009
FB
7636 (synopsis "Haskell plotting library based on gnuplot")
7637 (description "This package provides a plotting library for
7638Haskell, using gnuplot for rendering.")
7639 (license license:expat)))
7640
1bd00f17
FB
7641(define-public ghc-hashtables
7642 (package
7643 (name "ghc-hashtables")
7644 (version "1.2.1.0")
7645 (source
7646 (origin
7647 (method url-fetch)
7648 (uri (string-append
98b90194 7649 "https://hackage.haskell.org/package/hashtables/hashtables-"
1bd00f17
FB
7650 version ".tar.gz"))
7651 (sha256
7652 (base32 "1b6w9xznk42732vpd8ili60k12yq190xnajgga0iwbdpyg424lgg"))))
7653 (build-system haskell-build-system)
abfec9b3
AW
7654 (arguments
7655 `(#:configure-flags (list "--allow-newer=vector")))
1bd00f17
FB
7656 (inputs
7657 `(("ghc-hashable" ,ghc-hashable)
7658 ("ghc-primitive" ,ghc-primitive)
7659 ("ghc-vector" ,ghc-vector)))
7bf837fd 7660 (home-page "https://github.com/gregorycollins/hashtables")
1bd00f17
FB
7661 (synopsis "Haskell Mutable hash tables in the ST monad")
7662 (description "This package provides a Haskell library including a
7663couple of different implementations of mutable hash tables in the ST
7664monad, as well as a typeclass abstracting their common operations, and
7665a set of wrappers to use the hash tables in the IO monad.")
7666 (license license:bsd-3)))
7667
505e0150
FB
7668(define-public ghc-data-accessor
7669 (package
7670 (name "ghc-data-accessor")
7671 (version "0.2.2.7")
7672 (source
7673 (origin
7674 (method url-fetch)
7675 (uri (string-append
6846f084 7676 "mirror://hackage/package/data-accessor/data-accessor-"
505e0150
FB
7677 version ".tar.gz"))
7678 (sha256
7679 (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
7680 (build-system haskell-build-system)
98b90194 7681 (home-page "https://www.haskell.org/haskellwiki/Record_access")
505e0150
FB
7682 (synopsis
7683 "Haskell utilities for accessing and manipulating fields of records")
7684 (description "This package provides Haskell modules for accessing and
7685manipulating fields of records.")
7686 (license license:bsd-3)))
7687
81a11919
FB
7688(define-public ghc-data-accessor-transformers
7689 (package
7690 (name "ghc-data-accessor-transformers")
7691 (version "0.2.1.7")
7692 (source
7693 (origin
7694 (method url-fetch)
7695 (uri (string-append
6846f084
EF
7696 "mirror://hackage/package/data-accessor-transformers/"
7697 "data-accessor-transformers-" version ".tar.gz"))
81a11919
FB
7698 (sha256
7699 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
7700 (build-system haskell-build-system)
7701 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
98b90194 7702 (home-page "https://www.haskell.org/haskellwiki/Record_access")
81a11919
FB
7703 (synopsis "Use Accessor to access state in transformers State monad")
7704 (description "This package provides Haskell modules to allow use of
7705Accessor to access state in transformers State monad.")
7706 (license license:bsd-3)))
7707
a5cbef03
FB
7708(define-public ghc-utility-ht
7709 (package
7710 (name "ghc-utility-ht")
7711 (version "0.0.12")
7712 (home-page "https://hackage.haskell.org/package/utility-ht")
7713 (source
7714 (origin
7715 (method url-fetch)
7716 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
7717 (sha256
7718 (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
7719 (build-system haskell-build-system)
7720 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
7721 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
7722 (description "This package includes Hakell modules providing various
7723helper functions for Lists, Maybes, Tuples, Functions.")
7724 (license license:bsd-3)))
7725
1a86b671
FB
7726(define-public ghc-gnuplot
7727 (package
7728 (name "ghc-gnuplot")
7729 (version "0.5.4.1")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
6846f084 7734 "mirror://hackage/package/gnuplot/gnuplot-"
1a86b671
FB
7735 version ".tar.gz"))
7736 (sha256
7737 (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
7738 (build-system haskell-build-system)
7739 (inputs
7740 `(("ghc-temporary" ,ghc-temporary)
7741 ("ghc-utility-ht" ,ghc-utility-ht)
7742 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
7743 ("ghc-data-accessor" ,ghc-data-accessor)
7744 ("gnuplot" ,gnuplot)))
7745 (arguments
7746 `(#:phases
7747 (modify-phases %standard-phases
7748 (add-before 'configure 'fix-path-to-gnuplot
7749 (lambda* (#:key inputs #:allow-other-keys)
7750 (let ((gnuplot (assoc-ref inputs "gnuplot")))
7751 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
7752 (("(gnuplotName = ).*$" all cmd)
7753 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
98b90194 7754 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
1a86b671
FB
7755 (synopsis "2D and 3D plots using gnuplot")
7756 (description "This package provides a Haskell module for creating 2D and
77573D plots using gnuplot.")
7758 (license license:bsd-3)))
7759
f63981de
DC
7760(define-public ghc-hinotify
7761 (package
7762 (name "ghc-hinotify")
7763 (version "0.3.8.1")
7764 (source (origin
7765 (method url-fetch)
7766 (uri (string-append
7767 "https://hackage.haskell.org/package/hinotify/"
7768 "hinotify-" version ".tar.gz"))
7769 (sha256
7770 (base32
7771 "03c1f4d7x805zdiq2w26kl09xrfjw19saycdkhnixzv2qcr6xm1p"))))
7772 (build-system haskell-build-system)
7773 (home-page "https://github.com/kolmodin/hinotify.git")
7774 (synopsis "Haskell binding to inotify")
7775 (description "This library provides a wrapper to the Linux kernel's inotify
7776feature, allowing applications to subscribe to notifications when a file is
7777accessed or modified.")
7778 (license license:bsd-3)))
7779
b7f96285
DC
7780(define-public ghc-fsnotify
7781 (package
7782 (name "ghc-fsnotify")
7783 (version "0.2.1")
7784 (source (origin
7785 (method url-fetch)
7786 (uri (string-append
7787 "https://hackage.haskell.org/package/fsnotify/"
7788 "fsnotify-" version ".tar.gz"))
7789 (sha256
7790 (base32
7791 "0asl313a52qx2w6dw25g845683xsl840bwjh118nkwi5v1xipkzb"))))
7792 (build-system haskell-build-system)
7793 (inputs
7794 `(("ghc-text" ,ghc-text)
7795 ("ghc-async" ,ghc-async)
7796 ("ghc-unix-compat" ,ghc-unix-compat)
7797 ("ghc-hinotify" ,ghc-hinotify)
7798 ("ghc-tasty" ,ghc-tasty)
7799 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7800 ("ghc-temporary-rc" ,ghc-temporary-rc)))
7801 (home-page "https://github.com/haskell-fswatch/hfsnotify")
7802 (synopsis "Cross platform library for file change notification.")
7803 (description "Cross platform library for file creation, modification, and
7804deletion notification. This library builds upon existing libraries for platform
162a1374 7805specific Windows, Mac, and Linux file system event notification.")
b7f96285
DC
7806 (license license:bsd-3)))
7807
5e6cafe1
DC
7808(define-public ghc-ieee754
7809 (package
7810 (name "ghc-ieee754")
7811 (version "0.7.8")
7812 (source (origin
7813 (method url-fetch)
7814 (uri (string-append
7815 "https://hackage.haskell.org/package/ieee754/"
7816 "ieee754-" version ".tar.gz"))
7817 (sha256
7818 (base32
7819 "1zvfnnd5nm5kgr60214cdyks0kqdqyzpwk5sdh0s60yr8b7fyjny"))))
7820 (build-system haskell-build-system)
7bf837fd 7821 (home-page "https://github.com/patperry/hs-ieee754")
5e6cafe1
DC
7822 (synopsis "Utilities for dealing with IEEE floating point numbers")
7823 (description "Utilities for dealing with IEEE floating point numbers,
7824ported from the Tango math library; approximate and exact equality comparisons
7825for general types.")
7826 (license license:bsd-3)))
7827
4e05c326
DC
7828(define-public ghc-terminal-size
7829 (package
7830 (name "ghc-terminal-size")
7831 (version "0.3.2.1")
7832 (source (origin
7833 (method url-fetch)
7834 (uri (string-append
7835 "https://hackage.haskell.org/package/terminal-size/"
7836 "terminal-size-" version ".tar.gz"))
7837 (sha256
7838 (base32
7839 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
7840 (build-system haskell-build-system)
98b90194 7841 (home-page "https://hackage.haskell.org/package/terminal-size")
4e05c326
DC
7842 (synopsis "Get terminal window height and width")
7843 (description "Get terminal window height and width without ncurses
7844dependency.")
7845 (license license:bsd-3)))
7846
2d2388e2
DM
7847(define-public ghc-language-c
7848 (package
de793e9a
RW
7849 (name "ghc-language-c")
7850 (version "0.5.0")
7851 (source
2d2388e2
DM
7852 (origin
7853 (method url-fetch)
de793e9a
RW
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "language-c/language-c-" version ".tar.gz"))
2d2388e2 7856 (sha256
de793e9a
RW
7857 (base32
7858 "08i2bl7jmmymn2sldzlbz6ig7lx3wfwhlpadzibs3fx72z08pmc6"))))
7859 (build-system haskell-build-system)
7860 (inputs `(("ghc-syb" ,ghc-syb)))
7861 (native-inputs
2d2388e2
DM
7862 `(("ghc-happy" ,ghc-happy)
7863 ("ghc-alex" ,ghc-alex)))
98b90194 7864 (home-page "https://visq.github.io/language-c/")
de793e9a
RW
7865 (synopsis "Analysis and generation of C code")
7866 (description
7867 "Language C is a Haskell library for the analysis and generation of C code.
7868It features a complete, well-tested parser and pretty printer for all of C99
2d2388e2 7869and a large set of GNU extensions.")
de793e9a 7870 (license license:bsd-3)))
2d2388e2 7871
6c8a387a
DM
7872(define-public ghc-markdown-unlit
7873 (package
7874 (name "ghc-markdown-unlit")
7875 (version "0.4.0")
7876 (source (origin
7877 (method url-fetch)
7878 (uri (string-append
7879 "mirror://hackage/package/markdown-unlit/"
7880 "markdown-unlit-" version ".tar.gz"))
7881 (sha256
7882 (base32
7883 "1kj2bffl7ndd8ygwwa3r1mbpwbxbfhyfgnbla8k8g9i6ffp0qrbw"))))
7884 (build-system haskell-build-system)
7885 (inputs
7886 `(("ghc-base-compat" ,ghc-base-compat)
7887 ("ghc-hspec" ,ghc-hspec)
7888 ("ghc-quickcheck" ,ghc-quickcheck)
7889 ("ghc-silently" ,ghc-silently)
7890 ("ghc-stringbuilder" ,ghc-stringbuilder)
7891 ("ghc-temporary" ,ghc-temporary)
7892 ("hspec-discover" ,hspec-discover)))
7893 (home-page "https://github.com/sol/markdown-unlit#readme")
7894 (synopsis "Literate Haskell support for Markdown")
7895 (description "This package allows you to have a README.md that at the
7896same time is a literate Haskell program.")
7897 (license license:expat)))
7898
ee719fba
DM
7899(define-public corrode
7900 (let ((commit "b6699fb2fa552a07c6091276285a44133e5c9789"))
7901 (package
7902 (name "corrode")
7903 (version (string-append "0.0.1-" (string-take commit 7)))
7904 (source
7905 (origin
7906 (method git-fetch)
7907 (uri (git-reference
7908 (url "https://github.com/jameysharp/corrode.git")
7909 (commit "b6699fb2fa552a07c6091276285a44133e5c9789")))
7910 (file-name
7911 (string-append name "-" version "-checkout"))
7912 (sha256
7913 (base32 "02v0yyj6sk4gpg2222wzsdqjxn8w66scbnf6b20x0kbmc69qcz4r"))))
7914 (build-system haskell-build-system)
7915 (inputs
7916 `(("ghc-language-c" ,ghc-language-c)
7917 ("ghc-markdown-unlit" ,ghc-markdown-unlit)))
7918 (home-page "https://github.com/jameysharp/corrode")
7919 (synopsis "Automatic semantics-preserving translation from C to Rust")
7920 (description
7921 "This program reads a C source file and prints an equivalent module in
7922Rust syntax. It is intended to be useful for two different purposes:
7923
7924@enumerate
7925@item Partial automation for migrating legacy code that was implemented in C.
7926@item A new, complementary approach to static analysis for C programs.
7927@end enumerate\n")
7928 (license license:gpl2+))))
7929
90762815
DM
7930(define-public ghc-wave
7931 (package
7932 (name "ghc-wave")
7933 (version "0.1.4")
7934 (source (origin
7935 (method url-fetch)
7936 (uri (string-append
7937 "https://hackage.haskell.org/package/wave/wave-"
7938 version
7939 ".tar.gz"))
7940 (sha256
7941 (base32
7942 "1g5nmqfk6p25v9ismwz4i66ay91bd1qh39xwj0hm4z6a5mw8frk8"))))
7943 (build-system haskell-build-system)
7944 (inputs
7945 `(("ghc-cereal" ,ghc-cereal)
7946 ("ghc-data-default-class"
7947 ,ghc-data-default-class)
7948 ("ghc-quickcheck" ,ghc-quickcheck)
7949 ("ghc-temporary" ,ghc-temporary)))
7950 (native-inputs
7951 `(("hspec-discover" ,hspec-discover)
7952 ("ghc-hspec" ,ghc-hspec)))
7953 (home-page "https://github.com/mrkkrp/wave")
7954 (synopsis "Work with WAVE and RF64 files in Haskell")
7955 (description "This package allows you to work with WAVE and RF64
7956files in Haskell.")
7957 (license license:bsd-3)))
7958
5f622de1 7959(define-public ghc-hslogger
7960 (package
7961 (name "ghc-hslogger")
7962 (version "1.2.10")
7963 (source
7964 (origin
7965 (method url-fetch)
7966 (uri (string-append "https://hackage.haskell.org/package/"
7967 "hslogger-" version "/" "hslogger-"
7968 version ".tar.gz"))
7969 (sha256 (base32
7970 "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp"))))
7971 (build-system haskell-build-system)
7972 (inputs
7973 `(("ghc-mtl" ,ghc-mtl)
7974 ("ghc-network" ,ghc-network)
831cb419 7975 ("ghc-old-locale" ,ghc-old-locale)))
5f622de1 7976 (native-inputs
7977 `(("ghc-hunit" ,ghc-hunit)))
98b90194 7978 (home-page "https://software.complete.org/hslogger")
5f622de1 7979 (synopsis "Logging framework for Haskell, similar to Python's logging module")
7980 (description "Hslogger lets each log message have a priority and source be
7981associated with it. The programmer can then define global handlers that route
7982or filter messages based on the priority and source. It also has a syslog
7983handler built in.")
7984 (license license:bsd-3)))
7985
a1563803 7986(define-public ghc-unexceptionalio
7987 (package
7988 (name "ghc-unexceptionalio")
7989 (version "0.3.0")
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://hackage.haskell.org/package/"
7994 "unexceptionalio-" version "/" "unexceptionalio-"
7995 version ".tar.gz"))
7996 (sha256 (base32 "1f7h7zwky4scdcyjspg4ksfh7x6yra0wjybxq70p7vcwpgk2nzlj"))))
7997 (build-system haskell-build-system)
7998 (home-page "https://github.com/singpolyma/unexceptionalio")
7999 (synopsis "IO without any non-error, synchronous exceptions")
8000 (description "When you've caught all the exceptions that can be
8001handled safely, this is what you're left with.")
8002 (license license:isc)))
8003
6f8016f4
DM
8004(define-public ghc-json
8005 (package
8006 (name "ghc-json")
8007 (version "0.9.1")
8008 (source
8009 (origin
8010 (method url-fetch)
8011 (uri (string-append "https://hackage.haskell.org/package/json/"
8012 "json-" version ".tar.gz"))
8013 (sha256
8014 (base32
8015 "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
8016 (build-system haskell-build-system)
8017 (inputs
8018 `(("ghc-syb" ,ghc-syb)
8019 ("ghc-mtl" ,ghc-mtl)
8020 ("ghc-text" ,ghc-text)
8021 ("ghc-parsec" ,ghc-parsec)))
98b90194 8022 (home-page "https://hackage.haskell.org/package/json")
6f8016f4
DM
8023 (synopsis "Serializes Haskell data to and from JSON")
8024 (description "This package provides a parser and pretty printer for
8025converting between Haskell values and JSON.
8026JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
8027 (license license:bsd-3)))
8028
92c2097b
TS
8029(define-public ghc-esqueleto
8030 (package
8031 (name "ghc-esqueleto")
8032 (version "2.5.3")
8033 (source
8034 (origin
8035 (method url-fetch)
8036 (uri (string-append "https://hackage.haskell.org/package/"
8037 "esqueleto/esqueleto-" version ".tar.gz"))
8038 (sha256
8039 (base32
8040 "10n49rzqmblky7pwjnysalyy6nacmxfms8dqbsdv6hlyzr8pb69x"))))
8041 (build-system haskell-build-system)
8042 (inputs
8043 `(("ghc-blaze-html" ,ghc-blaze-html)
8044 ("ghc-conduit" ,ghc-conduit)
8045 ("ghc-monad-logger" ,ghc-monad-logger)
8046 ("ghc-persistent" ,ghc-persistent)
8047 ("ghc-resourcet" ,ghc-resourcet)
8048 ("ghc-tagged" ,ghc-tagged)
8049 ("ghc-text" ,ghc-text)
8050 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8051 (native-inputs
8052 `(("ghc-hspec" ,ghc-hspec)
8053 ("ghc-hunit" ,ghc-hunit)
8054 ("ghc-monad-control" ,ghc-monad-control)
8055 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
8056 ("ghc-persistent-template" ,ghc-persistent-template)
8057 ("ghc-quickcheck" ,ghc-quickcheck)))
8058 (home-page "https://github.com/bitemyapp/esqueleto")
8059 (synopsis "Type-safe embedded domain specific language for SQL queries")
8060 (description "This library provides a type-safe embedded domain specific
8061language (EDSL) for SQL queries that works with SQL backends as provided by
8062@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
8063to learn new concepts, just new syntax, and it's fairly easy to predict the
8064generated SQL and optimize it for your backend.")
8065 (license license:bsd-3)))
8066
7e58cbbb
DM
8067(define-public shellcheck
8068 (package
8069 (name "shellcheck")
49d3d1d9 8070 (version "0.4.6")
7e58cbbb
DM
8071 (source
8072 (origin
8073 (method url-fetch)
8074 (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
8075 "v" version ".tar.gz"))
8076 (sha256
8077 (base32
49d3d1d9 8078 "1qkd69lc34n3l23ss9rq1azvx49bfq4hi4bmaj76rgxybscxhg0w"))
7e58cbbb
DM
8079 (file-name (string-append name "-" version ".tar.gz"))))
8080 (build-system haskell-build-system)
8081 (inputs
8082 `(("ghc-quickcheck" ,ghc-quickcheck)
8083 ("ghc-json" ,ghc-json)
8084 ("ghc-mtl" ,ghc-mtl)
8085 ("ghc-parsec" ,ghc-parsec)
8086 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8087 (home-page "https://github.com/koalaman/shellcheck")
8088 (synopsis "Static analysis for shell scripts")
8089 (description "@code{shellcheck} provides static analysis for
8090@command{bash} and @command{sh} shell scripts.
8091It gives warnings and suggestions in order to:
8092
8093@enumerate
8094@item Point out and clarify typical beginner's syntax issues that cause
8095a shell to give cryptic error messages.
8096@item Point out and clarify typical intermediate level semantic problems
8097that cause a shell to behave strangely and counter-intuitively.
8098@item Point out subtle caveats, corner cases and pitfalls that may cause an
8099advanced user's otherwise working script to fail under future circumstances.
8100@end enumerate")
8101 (license license:gpl3+)))
8102
789dc568 8103(define-public ghc-simple-sendfile
8104 (package
8105 (name "ghc-simple-sendfile")
8106 (version "0.2.25")
8107 (source
8108 (origin
8109 (method url-fetch)
8110 (uri (string-append "https://hackage.haskell.org/package/"
8111 "simple-sendfile-" version "/"
8112 "simple-sendfile-" version ".tar.gz"))
8113 (sha256
8114 (base32
8115 "0k99j9xfcf83c55jmn202hdinhjaa4yn3dal4rvjk2w2rlhqirha"))))
8116 (build-system haskell-build-system)
8117 (inputs
8118 `(("ghc-conduit" ,ghc-conduit)
8119 ("ghc-conduit-extra" ,ghc-conduit-extra)
8120 ("ghc-network" ,ghc-network)
8121 ("ghc-resourcet" ,ghc-resourcet)))
8122 (native-inputs
8123 `(("ghc-hspec" ,ghc-hspec)
8124 ("hspec-discover" ,hspec-discover)))
8125 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
8126 (synopsis "Cross platform library for the sendfile system call")
8127 (description "This library tries to call minimum system calls which
8128are the bottleneck of web servers.")
8129 (license license:bsd-3)))
8130
59b340a5 8131(define-public ghc-hex
8132 (package
8133 (name "ghc-hex")
8134 (version "0.1.2")
8135 (source
8136 (origin
8137 (method url-fetch)
8138 (uri (string-append "https://hackage.haskell.org/package/"
8139 "hex-" version "/"
8140 "hex-" version ".tar.gz"))
8141 (sha256
8142 (base32
8143 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
8144 (build-system haskell-build-system)
98b90194 8145 (home-page "https://hackage.haskell.org/package/hex")
59b340a5 8146 (synopsis "Convert strings into hexadecimal and back")
8147 (description "This package provides conversion functions between
8148bytestrings and their hexademical representation.")
8149 (license license:bsd-3)))
8150
aba85f8c 8151(define-public ghc-psqueues
8152 (package
8153 (name "ghc-psqueues")
20c902f0 8154 (version "0.2.6.0")
aba85f8c 8155 (source
8156 (origin
8157 (method url-fetch)
8158 (uri (string-append "https://hackage.haskell.org/package/"
8159 "psqueues-" version "/"
8160 "psqueues-" version ".tar.gz"))
8161 (sha256
8162 (base32
20c902f0 8163 "0n39s1i88j6s7vvsdhpbhcr3gpbwlzabwcc3nbd7nqb4kb4i0sls"))))
aba85f8c 8164 (build-system haskell-build-system)
1ea39719
TS
8165 (arguments
8166 `(#:configure-flags (list "--allow-newer=QuickCheck")))
aba85f8c 8167 (inputs
8168 `(("ghc-hashable" ,ghc-hashable)))
8169 (native-inputs
8170 `(("ghc-hunit" ,ghc-hunit)
8171 ("ghc-quickcheck" ,ghc-quickcheck)
8172 ("ghc-tagged" ,ghc-tagged)
8173 ("ghc-test-framework" ,ghc-test-framework)
8174 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8175 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
20c902f0 8176 (home-page "https://github.com/jaspervdj/psqueues")
aba85f8c 8177 (synopsis "Pure priority search queues")
8178 (description "The psqueues package provides
98b90194 8179@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
aba85f8c 8180three different flavors:
8181
8182@itemize
8183@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8184fast insertion, deletion and lookup. This implementation is based on Ralf
8185Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8186Implementation Technique for Priority Search Queues}.
8187
98b90194 8188Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
aba85f8c 8189PSQueue} library, although it is considerably faster and provides a slightly
8190different API.
8191
8192@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8193key type to @code{Int} and uses a
98b90194 8194@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
a5f89a63 8195with an additional min-heap property.
aba85f8c 8196
8197@item @code{HashPSQ k p v} is a fairly straightforward extension
8198of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8199@code{IntPSQ}. If there are any hash collisions, it uses an
8200@code{OrdPSQ} to resolve those. The performance of this implementation
8201is comparable to that of @code{IntPSQ}, but it is more widely
8202applicable since the keys are not restricted to @code{Int},
8203but rather to any @code{Hashable} datatype.
8204@end itemize
8205
8206Each of the three implementations provides the same API, so they can
8207be used interchangeably.
8208
8209Typical applications of Priority Search Queues include:
8210
8211@itemize
8212@item Caches, and more specifically LRU Caches;
8213@item Schedulers;
8214@item Pathfinding algorithms, such as Dijkstra's and A*.
8215@end itemize")
8216 (license license:bsd-3)))
8217
4031fb60 8218(define-public ghc-glob
8219 (package
8220 (name "ghc-glob")
c0fc5003 8221 (version "0.9.1")
4031fb60 8222 (source
8223 (origin
8224 (method url-fetch)
8225 (uri (string-append "https://hackage.haskell.org/package/"
8226 "Glob-" version "/"
8227 "Glob-" version ".tar.gz"))
8228 (sha256
8229 (base32
c0fc5003 8230 "0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0"))))
4031fb60 8231 (build-system haskell-build-system)
8232 (inputs
8233 `(("ghc-dlist" ,ghc-dlist)
8234 ("ghc-semigroups" ,ghc-semigroups)
8235 ("ghc-transformers-compat" ,ghc-transformers-compat)))
8236 (native-inputs
8237 `(("ghc-hunit" ,ghc-hunit)
8238 ("ghc-quickcheck" ,ghc-quickcheck)
8239 ("ghc-test-framework" ,ghc-test-framework)
8240 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8241 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8242 (home-page "http://iki.fi/matti.niemenmaa/glob/")
8243 (synopsis "Haskell library matching glob patterns against file paths")
581a006b 8244 (description "This package provides a Haskell library for @dfn{globbing}:
4031fb60 8245matching patterns against file paths.")
8246 (license license:bsd-3)))
8247
78d8b8f3 8248(define-public ghc-errors
8249 (package
8250 (name "ghc-errors")
8251 (version "2.2.2")
8252 (source
8253 (origin
8254 (method url-fetch)
8255 (uri (string-append "https://hackage.haskell.org/package/"
8256 "errors-" version "/"
8257 "errors-" version ".tar.gz"))
8258 (sha256
8259 (base32
8260 "13sflhglcm5skwrxb48fw96skdcx7ydiy4zg22200733pxhjncpn"))))
8261 (build-system haskell-build-system)
8262 (inputs
8263 `(("ghc-exceptions" ,ghc-exceptions)
8264 ("ghc-text" ,ghc-text)
8265 ("ghc-transformers-compat" ,ghc-transformers-compat)
8266 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
8267 ("ghc-safe" ,ghc-safe)))
8268 (home-page "https://github.com/gabriel439/haskell-errors-library")
8269 (synopsis "Error handling library for Haskell")
8270 (description "This library encourages an error-handling style that
8271directly uses the type system, rather than out-of-band exceptions.")
8272 (license license:bsd-3)))
8273
c1274a0b 8274(define-public ghc-vector-th-unbox
8275 (package
8276 (name "ghc-vector-th-unbox")
8277 (version "0.2.1.6")
8278 (source
8279 (origin
8280 (method url-fetch)
8281 (uri (string-append "https://hackage.haskell.org/package/"
8282 "vector-th-unbox-" version "/"
8283 "vector-th-unbox-" version ".tar.gz"))
8284 (sha256
8285 (base32
8286 "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy"))))
8287 (build-system haskell-build-system)
8288 (inputs
8289 `(("ghc-vector" ,ghc-vector)
8290 ("ghc-data-default" ,ghc-data-default)))
8291 (home-page "https://github.com/liyang/vector-th-unbox")
8292 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
8293 (description "This Haskell library provides a Template Haskell
8294deriver for unboxed vectors, given a pair of coercion functions to
8295and from some existing type with an Unbox instance.")
8296 (license license:bsd-3)))
8297
bdd7e395 8298(define-public ghc-erf
8299 (package
8300 (name "ghc-erf")
8301 (version "2.0.0.0")
8302 (source
8303 (origin
8304 (method url-fetch)
8305 (uri (string-append "https://hackage.haskell.org/package/"
8306 "erf-" version "/"
8307 "erf-" version ".tar.gz"))
8308 (sha256
8309 (base32
8310 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
8311 (build-system haskell-build-system)
8312 (home-page "https://hackage.haskell.org/package/erf")
8313 (synopsis "The error function, erf, and related functions for Haskell")
8314 (description "This Haskell library provides a type class for the
8315error function, erf, and related functions. Instances for Float and
8316Double.")
8317 (license license:bsd-3)))
8318
a51ba897 8319(define-public ghc-math-functions
8320 (package
8321 (name "ghc-math-functions")
8322 (version "0.2.1.0")
8323 (source
8324 (origin
8325 (method url-fetch)
8326 (uri (string-append "https://hackage.haskell.org/package/"
8327 "math-functions-" version "/"
8328 "math-functions-" version ".tar.gz"))
8329 (sha256
8330 (base32
8331 "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp"))))
8332 (build-system haskell-build-system)
fc3ef1e2 8333 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
a51ba897 8334 (inputs
8335 `(("ghc-vector" ,ghc-vector)
8336 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
8337 (native-inputs
8338 `(("ghc-hunit" ,ghc-hunit)
8339 ("ghc-quickcheck" ,ghc-quickcheck)
8340 ("ghc-erf" ,ghc-erf)
8341 ("ghc-test-framework" ,ghc-test-framework)
8342 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8343 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8344 (home-page "https://github.com/bos/math-functions")
8345 (synopsis "Special functions and Chebyshev polynomials for Haskell")
8346 (description "This Haskell library provides implementations of
8347special mathematical functions and Chebyshev polynomials. These
8348functions are often useful in statistical and numerical computing.")
8349 (license license:bsd-3)))
8350
1a2a247b 8351(define-public ghc-mwc-random
8352 (package
8353 (name "ghc-mwc-random")
8354 (version "0.13.6.0")
8355 (source
8356 (origin
8357 (method url-fetch)
8358 (uri (string-append "https://hackage.haskell.org/package/"
8359 "mwc-random-" version "/"
8360 "mwc-random-" version ".tar.gz"))
8361 (sha256
8362 (base32
8363 "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6"))))
8364 (build-system haskell-build-system)
8365 (inputs
8366 `(("ghc-primitive" ,ghc-primitive)
8367 ("ghc-vector" ,ghc-vector)
8368 ("ghc-math-functions" ,ghc-math-functions)))
8369 (arguments
8370 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8371 (native-inputs
8372 `(("ghc-hunit" ,ghc-hunit)
8373 ("ghc-quickcheck" ,ghc-quickcheck)
8374 ("ghc-test-framework" ,ghc-test-framework)
8375 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8376 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8377 (home-page "https://github.com/bos/mwc-random")
8378 (synopsis "Random number generation library for Haskell")
8379 (description "This Haskell package contains code for generating
8380high quality random numbers that follow either a uniform or normal
8381distribution. The generated numbers are suitable for use in
8382statistical applications.
8383
8384The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8385multiply-with-carry generator, which has a period of 2^{8222} and
8386fares well in tests of randomness. It is also extremely fast,
8387between 2 and 3 times faster than the Mersenne Twister.")
8388 (license license:bsd-3)))
8389
30aede1b 8390(define-public ghc-vector-algorithms
8391 (package
8392 (name "ghc-vector-algorithms")
8393 (version "0.7.0.1")
8394 (source
8395 (origin
8396 (method url-fetch)
8397 (uri (string-append "https://hackage.haskell.org/package/"
8398 "vector-algorithms-" version "/"
8399 "vector-algorithms-" version ".tar.gz"))
8400 (sha256
8401 (base32
8402 "0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd"))))
8403 (build-system haskell-build-system)
178bd681
RW
8404 ;; The limits have been adjusted in a revision of the cabal file.
8405 (arguments
8406 '(#:configure-flags (list "--allow-newer=vector")
8407 #:phases
8408 (modify-phases %standard-phases
8409 ;; The tests cannot be built due to type errors.
8410 (add-after 'unpack 'do-not-build-quickcheck-tests
8411 (lambda _
8412 (substitute* "vector-algorithms.cabal"
8413 (("\\!flag\\(properties\\)") "True"))
8414 #t)))))
30aede1b 8415 (inputs
8416 `(("ghc-vector" ,ghc-vector)
8417 ("ghc-mtl" ,ghc-mtl)
8418 ("ghc-mwc-random" ,ghc-mwc-random)))
8419 (native-inputs
8420 `(("ghc-quickcheck" ,ghc-quickcheck)))
8421 (home-page "https://github.com/bos/math-functions")
8422 (synopsis "Algorithms for vector arrays in Haskell")
8423 (description "This Haskell library algorithms for vector arrays.")
8424 (license license:bsd-3)))
8425
897d4f28 8426(define-public ghc-language-haskell-extract
8427 (package
8428 (name "ghc-language-haskell-extract")
8429 (version "0.2.4")
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append "https://hackage.haskell.org/package/"
8434 "language-haskell-extract-" version "/"
8435 "language-haskell-extract-" version ".tar.gz"))
8436 (sha256
8437 (base32
8438 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-regex-posix" ,ghc-regex-posix)))
8442 (home-page "https://github.com/finnsson/template-helper")
8443 (synopsis "Haskell module to automatically extract functions from
8444the local code")
8445 (description "This package contains helper functions on top of
8446Template Haskell.
8447
8448For example, @code{functionExtractor} extracts all functions after a
8449regexp-pattern, which can be useful if you wish to extract all functions
8450beginning with @code{test} (for a test framework) or all functions beginning
8451with @code{wc} (for a web service).")
8452 (license license:bsd-3)))
8453
97b26920 8454(define-public ghc-abstract-par
8455 (package
8456 (name "ghc-abstract-par")
8457 (version "0.3.3")
8458 (source
8459 (origin
8460 (method url-fetch)
8461 (uri (string-append "https://hackage.haskell.org/package/"
8462 "abstract-par-" version "/"
8463 "abstract-par-" version ".tar.gz"))
8464 (sha256
8465 (base32
8466 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
8467 (build-system haskell-build-system)
8468 (home-page "https://github.com/simonmar/monad-par")
8469 (synopsis "Abstract parallelization interface for Haskell")
8470 (description "This Haskell package is an abstract interface
8471only. It provides a number of type clasess, but not an
8472implementation. The type classes separate different levels
8473of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
8474module for more details.")
8475 (license license:bsd-3)))
8476
59551881 8477(define-public ghc-monad-par-extras
8478 (package
8479 (name "ghc-monad-par-extras")
8480 (version "0.3.3")
8481 (source
8482 (origin
8483 (method url-fetch)
8484 (uri (string-append "https://hackage.haskell.org/package/"
8485 "monad-par-extras-" version "/"
8486 "monad-par-extras-" version ".tar.gz"))
8487 (sha256
8488 (base32
8489 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
8490 (build-system haskell-build-system)
8491 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8492 ("ghc-cereal" ,ghc-cereal)
8493 ("ghc-random" ,ghc-random)
8494 ("ghc-mtl" ,ghc-mtl)))
8495 (home-page "https://github.com/simonmar/monad-par")
8496 (synopsis "Combinators and extra features for Par monads for Haskell")
8497 (description "This Haskell package provides additional data structures,
8498and other added capabilities layered on top of the @code{Par} monad.")
8499 (license license:bsd-3)))
8500
f978e2ac 8501(define-public ghc-abstract-deque
8502 (package
8503 (name "ghc-abstract-deque")
8504 (version "0.3")
8505 (source
8506 (origin
8507 (method url-fetch)
8508 (uri (string-append "https://hackage.haskell.org/package/"
8509 "abstract-deque-" version "/"
8510 "abstract-deque-" version ".tar.gz"))
8511 (sha256
8512 (base32
8513 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
8514 (build-system haskell-build-system)
8515 (inputs `(("ghc-random" ,ghc-random)))
8516 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
8517 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
8518 (description "This Haskell package provides an abstract interface to
8519highly-parameterizable queues/deques.
8520
8521Background: There exists a feature space for queues that extends between:
8522
8523@itemize
8524@item Simple, single-ended, non-concurrent, bounded queues
8525
467834d5
TGR
8526@item Double-ended, thread-safe, growable queues with important points
8527in between (such as the queues used for work stealing).
f978e2ac 8528@end itemize
8529
8530This package includes an interface for Deques that allows the programmer
467834d5 8531to use a single API for all of the above, while using the type system to
f978e2ac 8532select an efficient implementation given the requirements (using type families).
8533
8534This package also includes a simple reference implementation based on
8535@code{IORef} and @code{Data.Sequence}.")
8536 (license license:bsd-3)))
8537
608bf276 8538(define-public ghc-monad-par
8539 (package
8540 (name "ghc-monad-par")
8541 (version "0.3.4.8")
8542 (source
8543 (origin
8544 (method url-fetch)
8545 (uri (string-append "https://hackage.haskell.org/package/"
8546 "monad-par-" version "/"
8547 "monad-par-" version ".tar.gz"))
8548 (sha256
8549 (base32
8550 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
8551 (build-system haskell-build-system)
8552 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
8553 ("ghc-abstract-deque" ,ghc-abstract-deque)
8554 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
8555 ("ghc-mwc-random" ,ghc-mwc-random)
8556 ("ghc-parallel" ,ghc-parallel)
8557 ("ghc-mtl" ,ghc-mtl)))
8558 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
8559 ("ghc-hunit" ,ghc-hunit)
8560 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8561 ("ghc-test-framework-quickcheck2"
8562 ,ghc-test-framework-quickcheck2)
8563 ("ghc-test-framework" ,ghc-test-framework)
8564 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8565 (home-page "https://github.com/simonmar/monad-par")
8566 (synopsis "Haskell library for parallel programming based on a monad")
8567 (description "The @code{Par} monad offers an API for parallel
8568programming. The library works for parallelising both pure and @code{IO}
8569computations, although only the pure version is deterministic. The default
8570implementation provides a work-stealing scheduler and supports forking tasks
8571that are much lighter weight than IO-threads.")
8572 (license license:bsd-3)))
8573
0c717284 8574(define-public ghc-statistics
8575 (package
8576 (name "ghc-statistics")
8577 (version "0.14.0.2")
8578 (source
8579 (origin
8580 (method url-fetch)
8581 (uri (string-append "https://hackage.haskell.org/package/"
8582 "statistics-" version "/"
8583 "statistics-" version ".tar.gz"))
8584 (sha256
8585 (base32
8586 "0y27gafkib0x0fn39qfn2rkgsfrm09ng35sbb5dwr7rclhnxz59l"))))
8587 (build-system haskell-build-system)
8588 (inputs
8589 `(("ghc-aeson" ,ghc-aeson)
8590 ("ghc-base-orphans" ,ghc-base-orphans)
8591 ("ghc-erf" ,ghc-erf)
8592 ("ghc-math-functions" ,ghc-math-functions)
8593 ("ghc-monad-par" ,ghc-monad-par)
8594 ("ghc-mwc-random" ,ghc-mwc-random)
8595 ("ghc-primitive" ,ghc-primitive)
8596 ("ghc-vector" ,ghc-vector)
8597 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
8598 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
8599 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
8600 (native-inputs
8601 `(("ghc-hunit" ,ghc-hunit)
8602 ("ghc-quickcheck" ,ghc-quickcheck)
c695fb76 8603 ("ghc-ieee754" ,ghc-ieee754)
0c717284 8604 ("ghc-test-framework" ,ghc-test-framework)
8605 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8606 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8607 (arguments
8608 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8609 (home-page "https://github.com/bos/mwc-random")
8610 (synopsis "Haskell library of statistical types, data, and functions")
8611 (description "This library provides a number of common functions
8612and types useful in statistics. We focus on high performance, numerical
8613robustness, and use of good algorithms. Where possible, we provide references
8614to the statistical literature.
8615
8616The library's facilities can be divided into four broad categories:
8617
8618@itemize
8619@item Working with widely used discrete and continuous probability
8620distributions. (There are dozens of exotic distributions in use; we focus
8621on the most common.)
8622
8623@item Computing with sample data: quantile estimation, kernel density
8624estimation, histograms, bootstrap methods, significance testing,
8625and regression and autocorrelation analysis.
8626
8627@item Random variate generation under several different distributions.
8628
8629@item Common statistical tests for significant differences between samples.
8630@end itemize")
8631 (license license:bsd-2)))
8632
371ad40c 8633(define-public ghc-chunked-data
8634 (package
8635 (name "ghc-chunked-data")
8636 (version "0.3.0")
8637 (source
8638 (origin
8639 (method url-fetch)
8640 (uri (string-append "https://hackage.haskell.org/package/"
8641 "chunked-data-" version "/"
8642 "chunked-data-" version ".tar.gz"))
8643 (sha256
8644 (base32
8645 "0bszq6fijnr4pmadzz89smj7kfmzx0ca3wd9ga8gv0in9jk9vgp1"))))
8646 (build-system haskell-build-system)
8647 (inputs `(("ghc-vector" ,ghc-vector)
d6e559ab 8648 ("ghc-semigroups" ,ghc-semigroups)
8649 ("ghc-text" ,ghc-text)))
371ad40c 8650 (home-page "https://github.com/snoyberg/mono-traversable")
8651 (synopsis "Typeclasses for dealing with various chunked data
8652representations for Haskell")
8653 (description "This Haskell package was originally present in
8654classy-prelude.")
8655 (license license:expat)))
8656
ac4cb8fd 8657(define-public ghc-base-prelude
8658 (package
8659 (name "ghc-base-prelude")
8660 (version "1.2.0.1")
8661 (source
8662 (origin
8663 (method url-fetch)
8664 (uri (string-append "https://hackage.haskell.org/package/"
8665 "base-prelude-" version "/"
8666 "base-prelude-" version ".tar.gz"))
8667 (sha256
8668 (base32
8669 "17hivs7lmsglagdlzxd9q9zsddmgqin2788mpq911zwnb57lj6l1"))))
8670 (build-system haskell-build-system)
8671 (home-page "https://github.com/nikita-volkov/base-prelude")
8672 (synopsis "The most complete prelude formed solely from the Haskell's base
8673package")
8674 (description "This Haskell package aims to reexport all the non-conflicting
8675and most general definitions from the \"base\" package.
8676
8677This includes APIs for applicatives, arrows, monoids, foldables, traversables,
8678exceptions, generics, ST, MVars and STM.
8679
8680This package will never have any dependencies other than \"base\".
8681
8682Versioning policy:
8683
8684The versioning policy of this package deviates from PVP in the sense
8685that its exports in part are transitively determined by the version of \"base\".
8686Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
8687the bounds of \"base\" as well.")
8688 (license license:expat)))
8689
e329bacb 8690(define-public ghc-tuple-th
8691 (package
8692 (name "ghc-tuple-th")
8693 (version "0.2.5")
8694 (source
8695 (origin
8696 (method url-fetch)
8697 (uri (string-append "https://hackage.haskell.org/package/"
8698 "tuple-th-" version "/"
8699 "tuple-th-" version ".tar.gz"))
8700 (sha256
8701 (base32
8702 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
8703 (build-system haskell-build-system)
8704 (home-page "https://github.com/DanielSchuessler/tuple-th")
8705 (synopsis "Generate utility functions for tuples of statically known size
8706for Haskell")
8707 (description "This Haskell package contains Template Haskell functions for
8708generating functions similar to those in @code{Data.List} for tuples of
8709statically known size.")
8710 (license license:bsd-3)))
8711
4562c8c8 8712(define-public ghc-contravariant-extras
8713 (package
8714 (name "ghc-contravariant-extras")
8715 (version "0.3.3.1")
8716 (source
8717 (origin
8718 (method url-fetch)
8719 (uri (string-append "https://hackage.haskell.org/package/"
8720 "contravariant-extras-" version "/"
8721 "contravariant-extras-" version ".tar.gz"))
8722 (sha256
8723 (base32
8724 "1mbrgjybdx8fjdck4ldwi8955w4qnmm0ql56zix7dyn0s7s9spgk"))))
8725 (build-system haskell-build-system)
8726 (inputs `(("ghc-tuple-th" ,ghc-tuple-th)
8727 ("ghc-contravariant" ,ghc-contravariant)
c695fb76 8728 ("ghc-base-prelude" ,ghc-base-prelude)))
4562c8c8 8729 (home-page "https://github.com/nikita-volkov/contravariant-extras")
8730 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
8731 (description "This Haskell package provides extras for the
8732@code{ghc-contravariant} package.")
8733 (license license:expat)))
8734
87129984 8735(define-public ghc-monadrandom
8736 (package
8737 (name "ghc-monadrandom")
8738 (version "0.4.2.3")
8739 (source
8740 (origin
8741 (method url-fetch)
8742 (uri (string-append "https://hackage.haskell.org/package/"
8743 "MonadRandom-" version "/"
8744 "MonadRandom-" version ".tar.gz"))
8745 (sha256
8746 (base32
8747 "1h1nhswrcmhy3mq6vd530p0df51fcnnf4csbwnljar7cf0mb2h6y"))))
8748 (build-system haskell-build-system)
8749 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
8750 ("ghc-mtl" ,ghc-mtl)
8751 ("ghc-primitive" ,ghc-primitive)
8752 ("ghc-fail" ,ghc-fail)
8753 ("ghc-random" ,ghc-random)))
8754 (home-page "https://github.com/byorgey/MonadRandom")
8755 (synopsis "Random-number generation monad for Haskell")
8756 (description "This Haskell package provides support for computations
8757which consume random values.")
8758 (license license:bsd-3)))
8759
16d4125e 8760(define-public ghc-either
8761 (package
8762 (name "ghc-either")
8763 (version "4.4.1.1")
8764 (source
8765 (origin
8766 (method url-fetch)
8767 (uri (string-append "https://hackage.haskell.org/package/"
8768 "either-" version "/"
8769 "either-" version ".tar.gz"))
8770 (sha256
8771 (base32
8772 "1lrlwqqnm6ibfcydlv5qvvssw7bm0c6yypy0rayjzv1znq7wp1xh"))))
8773 (build-system haskell-build-system)
8774 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
8775 ("ghc-exceptions" ,ghc-exceptions)
8776 ("ghc-free" ,ghc-free)
8777 ("ghc-monad-control" ,ghc-monad-control)
8778 ("ghc-manodrandom" ,ghc-monadrandom)
8779 ("ghc-mtl" ,ghc-mtl)
8780 ("ghc-mmorph" ,ghc-mmorph)
8781 ("ghc-profunctors" ,ghc-profunctors)
8782 ("ghc-semigroups" ,ghc-semigroups)
8783 ("ghc-semigroupoids" ,ghc-semigroupoids)
8784 ("ghc-transformers-base" ,ghc-transformers-base)))
8785 (home-page "https://github.com/ekmett/either")
8786 (synopsis "Provides an either monad transformer for Haskell")
8787 (description "This Haskell package provides an either monad transformer.")
8788 (license license:bsd-3)))
933e7804 8789
f78ed5d5 8790(define-public ghc-pretty-hex
8791 (package
8792 (name "ghc-pretty-hex")
8793 (version "1.0")
8794 (source
8795 (origin
8796 (method url-fetch)
8797 (uri (string-append "https://hackage.haskell.org/package/"
8798 "pretty-hex-" version "/"
8799 "pretty-hex-" version ".tar.gz"))
8800 (sha256
8801 (base32
8802 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8803 (build-system haskell-build-system)
8804 (home-page "https://github.com/GaloisInc/hexdump")
8805 (synopsis "Haskell library for hex dumps of ByteStrings")
8806 (description "This Haskell library generates pretty hex dumps of
8807ByteStrings in the style of other common *nix hex dump tools.")
8808 (license license:bsd-3)))
8809
6eda2635 8810(define-public ghc-network-info
8811 (package
8812 (name "ghc-network-info")
8813 (version "0.2.0.8")
8814 (source
8815 (origin
8816 (method url-fetch)
8817 (uri (string-append "https://hackage.haskell.org/package/"
8818 "network-info-" version "/"
8819 "network-info-" version ".tar.gz"))
8820 (sha256
8821 (base32
8822 "0xndvg776241fgjmynxfpy81f1csjmh8dg33yf0c8m71ychz3pzc"))))
8823 (build-system haskell-build-system)
8824 (home-page "https://github.com/jystic/network-info")
8825 (synopsis "Access the local computer's basic network configuration")
8826 (description "This Haskell library provides simple read-only access to the
8827local computer's networking configuration. It is currently capable of
8828getting a list of all the network interfaces and their respective
8829IPv4, IPv6 and MAC addresses.")
8830 (license license:bsd-3)))
8831
b999b009 8832(define-public ghc-uuid-types
8833 (package
8834 (name "ghc-uuid-types")
8835 (version "1.0.3")
8836 (source
8837 (origin
8838 (method url-fetch)
8839 (uri (string-append "https://hackage.haskell.org/package/"
8840 "uuid-types-" version "/"
8841 "uuid-types-" version ".tar.gz"))
8842 (sha256
8843 (base32
8844 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
8845 (build-system haskell-build-system)
b1c5c8de 8846 (arguments
d9c36e5b
RW
8847 `(#:configure-flags (list "--allow-newer=QuickCheck"
8848 "--allow-newer=HUnit")))
b999b009 8849 (inputs `(("ghc-hashable" ,ghc-hashable)
8850 ("ghc-random" ,ghc-random)
8851 ("ghc-text" ,ghc-text)))
8852 (native-inputs `(("ghc-hunit" ,ghc-hunit)
8853 ("ghc-quickcheck" ,ghc-quickcheck)
8854 ("ghc-tasty" ,ghc-tasty)
8855 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8856 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8857 (home-page "https://github.com/hvr/uuid")
8858 (synopsis "Haskell type definitions for UUIDs")
8859 (description "This Haskell library contains type definitions for
8860@dfn{Universally Unique Identifiers} or
98b90194 8861@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
b999b009 8862functions.")
8863 (license license:bsd-3)))
8864
24535a3d 8865(define-public ghc-uuid
8866 (package
8867 (name "ghc-uuid")
8868 (version "1.3.13")
8869 (source
8870 (origin
8871 (method url-fetch)
8872 (uri (string-append "https://hackage.haskell.org/package/"
8873 "uuid-" version "/"
8874 "uuid-" version ".tar.gz"))
8875 (sha256
8876 (base32
8877 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
8878 (build-system haskell-build-system)
1debc5b9 8879 (arguments
5c51cdb9
RW
8880 `(#:configure-flags (list "--allow-newer=QuickCheck"
8881 "--allow-newer=HUnit")))
24535a3d 8882 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
8883 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
8884 ("ghc-entropy" ,ghc-entropy)
8885 ("ghc-network-info" ,ghc-network-info)
8886 ("ghc-random" ,ghc-random)
8887 ("ghc-text" ,ghc-text)
8888 ("ghc-uuid-types" ,ghc-uuid-types)))
8889 (native-inputs `(("ghc-hunit" ,ghc-hunit)
8890 ("ghc-quickcheck" ,ghc-quickcheck)
8891 ("ghc-tasty" ,ghc-tasty)
8892 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8893 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
8894 (home-page "https://github.com/hvr/uuid")
8895 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
8896 (description "This Haskell library provides utilities creating, comparing,
8897parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
8898 (license license:bsd-3)))
8899
33109c82 8900(define-public ghc-rebase
8901 (package
8902 (name "ghc-rebase")
8903 (version "1.1")
8904 (source
8905 (origin
8906 (method url-fetch)
8907 (uri (string-append "https://hackage.haskell.org/package/"
8908 "rebase-" version "/"
8909 "rebase-" version ".tar.gz"))
8910 (sha256
8911 (base32
8912 "1qkhnpcc4g2vd6jmbf3b6psqkan6hyawqzrwzqdd931hsb02l6ia"))))
8913 (build-system haskell-build-system)
8914 (inputs `(("ghc-stm" ,ghc-stm)
8915 ("ghc-hashable" ,ghc-hashable)
8916 ("ghc-vector" ,ghc-vector)
8917 ("ghc-unordered-containers" ,ghc-unordered-containers)
8918 ("ghc-text" ,ghc-text)
8919 ("ghc-scientific" ,ghc-scientific)
8920 ("ghc-uuid" ,ghc-uuid)
8921 ("ghc-dlist" ,ghc-dlist)
8922 ("ghc-void" ,ghc-void)
8923 ("ghc-bifunctors" ,ghc-bifunctors)
8924 ("ghc-profunctors" ,ghc-profunctors)
8925 ("ghc-contravariant" ,ghc-contravariant)
8926 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8927 ("ghc-semigroups" ,ghc-semigroups)
8928 ("ghc-mtl" ,ghc-mtl)
8929 ("ghc-either" ,ghc-either)
8930 ("ghc-fail" ,ghc-fail)
8931 ("ghc-base-prelude" ,ghc-base-prelude)))
8932 (home-page "https://github.com/nikita-volkov/rebase")
8933 (synopsis "Progressive alternative to the base package
8934for Haskell")
8935 (description "This Haskell package is intended for those who are
8936tired of keeping long lists of dependencies to the same essential libraries
8937in each package as well as the endless imports of the same APIs all over again.
8938
8939It also supports the modern tendencies in the language.
8940
8941To solve those problems this package does the following:
8942
8943@itemize
8944@item Reexport the original APIs under the @code{Rebase} namespace.
8945
8946@item Export all the possible non-conflicting symbols from the
8947@code{Rebase.Prelude} module.
8948
8949@item Give priority to the modern practices in the conflicting cases.
8950@end itemize
8951
8952The policy behind the package is only to reexport the non-ambiguous and
8953non-controversial APIs, which the community has obviously settled on.
8954The package is intended to rapidly evolve with the contribution from
8955the community, with the missing features being added with pull-requests.")
8956 (license license:expat)))
8957
1896a252 8958(define-public ghc-vector-builder
8959 (package
8960 (name "ghc-vector-builder")
8961 (version "0.3.1")
8962 (source
8963 (origin
8964 (method url-fetch)
8965 (uri (string-append "https://hackage.haskell.org/package/"
8966 "vector-builder-" version "/"
8967 "vector-builder-" version ".tar.gz"))
8968 (sha256
8969 (base32
8970 "1l6sfgd2s107zkp1qd1w6jdjcbznp31769qf99pxar087f697wvp"))))
8971 (build-system haskell-build-system)
8972 (inputs `(("ghc-vector" ,ghc-vector)
8973 ("ghc-semigroups" ,ghc-semigroups)
8974 ("ghc-base-prelude" ,ghc-base-prelude)))
8975 (native-inputs `(("ghc-tasty" ,ghc-tasty)
8976 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8977 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8978 ("ghc-hunit" ,ghc-hunit)
8979 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
8980 ("ghc-rebase" ,ghc-rebase)))
8981 (home-page "https://github.com/nikita-volkov/vector-builder")
8982 (synopsis "Vector builder for Haskell")
8983 (description "This Haskell package provides an API for constructing vectors.
8984It provides the composable @code{Builder} abstraction, which has instances of the
8985@code{Monoid} and @code{Semigroup} classes.
8986
8987You would first use the @code{Builder} abstraction to specify the structure of
8988the vector; then you can execute the builder to actually produce the
8989vector. ")
8990 (license license:expat)))
8991
f6094850 8992(define-public ghc-foldl
8993 (package
8994 (name "ghc-foldl")
93e8c799 8995 (version "1.3.5")
f6094850 8996 (source
8997 (origin
8998 (method url-fetch)
8999 (uri (string-append "https://hackage.haskell.org/package/"
9000 "foldl-" version "/"
9001 "foldl-" version ".tar.gz"))
9002 (sha256
9003 (base32
93e8c799 9004 "10qsp7dj2xsq4q2xm6x6b12y5pq32qf7my41hnkmdwwbccvhdxb2"))))
f6094850 9005 (build-system haskell-build-system)
9006 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
9007 ("ghc-primitive" ,ghc-primitive)
9008 ("ghc-text" ,ghc-text)
9009 ("ghc-vector" ,ghc-vector)
9010 ("ghc-unordered-containers" ,ghc-unordered-containers)
9011 ("ghc-hashable" ,ghc-hashable)
9012 ("ghc-contravariant" ,ghc-contravariant)
9013 ("ghc-profunctors" ,ghc-profunctors)
9014 ("ghc-comonad" ,ghc-comonad)
9015 ("ghc-vector-builder" ,ghc-vector-builder)))
9016 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
9017 (synopsis "Composable, streaming, and efficient left folds for Haskell")
9018 (description "This Haskell library provides strict left folds that stream
9019in constant memory, and you can combine folds using @code{Applicative} style
9020to derive new folds. Derived folds still traverse the container just once
9021and are often as efficient as hand-written folds.")
9022 (license license:bsd-3)))
9023
ed4cc0c5 9024(define-public ghc-mono-traversable
9025 (package
9026 (name "ghc-mono-traversable")
74b30be0 9027 (version "1.0.9.0")
ed4cc0c5 9028 (source
9029 (origin
9030 (method url-fetch)
9031 (uri (string-append "https://hackage.haskell.org/package/"
9032 "mono-traversable-" version "/"
9033 "mono-traversable-" version ".tar.gz"))
9034 (sha256
9035 (base32
74b30be0 9036 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
ed4cc0c5 9037 (build-system haskell-build-system)
9038 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9039 ("ghc-hashable" ,ghc-hashable)
9040 ("ghc-text" ,ghc-text)
9041 ("ghc-vector" ,ghc-vector)
9042 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9043 ("ghc-split" ,ghc-split)))
9044 (native-inputs `(("ghc-hspec" ,ghc-hspec)
c695fb76 9045 ("ghc-hunit" ,ghc-hunit)
ed4cc0c5 9046 ("ghc-quickcheck" ,ghc-quickcheck)
9047 ("ghc-semigroups" ,ghc-semigroups)
9048 ("ghc-foldl" ,ghc-foldl)))
9049 (home-page "https://github.com/snoyberg/mono-traversable")
9050 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
9051containers")
9052 (description "This Haskell package provides Monomorphic variants of the
9053Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
9054basic typeclasses, you understand mono-traversable. In addition to what
9055you are used to, it adds on an IsSequence typeclass and has code for marking
9056data structures as non-empty.")
9057 (license license:expat)))
9058
95fb25bf 9059(define-public ghc-conduit-combinators
9060 (package
9061 (name "ghc-conduit-combinators")
37d79707 9062 (version "1.3.0")
95fb25bf 9063 (source
9064 (origin
9065 (method url-fetch)
9066 (uri (string-append "https://hackage.haskell.org/package/"
9067 "conduit-combinators-" version "/"
9068 "conduit-combinators-" version ".tar.gz"))
9069 (sha256
9070 (base32
37d79707 9071 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
95fb25bf 9072 (build-system haskell-build-system)
9073 (inputs `(("ghc-conduit" ,ghc-conduit)
9074 ("ghc-conduit-extra" ,ghc-conduit-extra)
9075 ("ghc-transformers-base" ,ghc-transformers-base)
9076 ("ghc-primitive" ,ghc-primitive)
9077 ("ghc-vector" ,ghc-vector)
9078 ("ghc-text" ,ghc-text)
9079 ("ghc-void" ,ghc-void)
9080 ("ghc-mwc-random" ,ghc-mwc-random)
9081 ("ghc-unix-compat" ,ghc-unix-compat)
9082 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9083 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9084 ("ghc-resourcet" ,ghc-resourcet)
9085 ("ghc-monad-control" ,ghc-monad-control)
9086 ("ghc-chunked-data" ,ghc-chunked-data)
9087 ("ghc-mono-traversable" ,ghc-mono-traversable)))
9088 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9089 ("ghc-silently" ,ghc-silently)
9090 ("ghc-mtl" ,ghc-mtl)
9091 ("ghc-safe" ,ghc-safe)
9092 ("ghc-quickcheck" ,ghc-quickcheck)))
9093 (home-page "https://github.com/snoyberg/mono-traversable")
9094 (synopsis "Commonly used conduit functions, for both chunked and
9095unchunked data")
9096 (description "This Haskell package provides a replacement for Data.Conduit.List,
9097as well as a convenient Conduit module.")
9098 (license license:expat)))
9099
3a784700 9100(define-public ghc-aws
9101 (package
9102 (name "ghc-aws")
0faddfc3 9103 (version "0.18")
3a784700 9104 (source
9105 (origin
9106 (method url-fetch)
9107 (uri (string-append "https://hackage.haskell.org/package/"
9108 "aws-" version "/aws-" version ".tar.gz"))
9109 (sha256 (base32
0faddfc3 9110 "0h7473wkvc5xjzx5fd5k5fp70rjq5gqmn1cpy95mswvvfsq3irxj"))))
3a784700 9111 (build-system haskell-build-system)
9112 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
9113 (inputs
9114 `(("ghc-aeson" ,ghc-aeson)
9115 ("ghc-attoparsec" ,ghc-attoparsec)
9116 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
9117 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9118 ("ghc-blaze-builder" ,ghc-blaze-builder)
9119 ("ghc-byteable" ,ghc-byteable)
9120 ("ghc-case-insensitive" ,ghc-case-insensitive)
9121 ("ghc-cereal" ,ghc-cereal)
9122 ("ghc-conduit" ,ghc-conduit)
9123 ("ghc-conduit-extra" ,ghc-conduit-extra)
0faddfc3 9124 ("ghc-cryptonite" ,ghc-cryptonite)
3a784700 9125 ("ghc-data-default" ,ghc-data-default)
9126 ("ghc-http-conduit" ,ghc-http-conduit)
9127 ("ghc-http-types" ,ghc-http-types)
9128 ("ghc-monad-control" ,ghc-monad-control)
9129 ("ghc-mtl" ,ghc-mtl)
9130 ("ghc-network" ,ghc-network)
9131 ("ghc-old-locale" ,ghc-old-locale)
9132 ("ghc-safe" ,ghc-safe)
9133 ("ghc-scientific" ,ghc-scientific)
9134 ("ghc-tagged" ,ghc-tagged)
9135 ("ghc-text" ,ghc-text)
9136 ("ghc-unordered-containers" ,ghc-unordered-containers)
9137 ("ghc-utf8-string" ,ghc-utf8-string)
9138 ("ghc-vector" ,ghc-vector)
9139 ("ghc-xml-conduit" ,ghc-xml-conduit)))
9140 (native-inputs
9141 `(("ghc-quickcheck" ,ghc-quickcheck)
9142 ("ghc-errors" ,ghc-errors)
9143 ("ghc-http-client" ,ghc-http-client)
9144 ("ghc-http-client-tls" ,ghc-http-client-tls)
9145 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9146 ("ghc-tasty" ,ghc-tasty)
9147 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9148 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9149 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
9150 (home-page "https://github.com/aristidb/aws")
9151 (synopsis "Amazon Web Services for Haskell")
9152 (description "This package attempts to provide support for using
9153Amazon Web Services like S3 (storage), SQS (queuing) and others to
9154Haskell programmers. The ultimate goal is to support all Amazon
9155Web Services.")
9156 (license license:bsd-3)))
9157
da5fe92a
RW
9158(define-public ghc-basement
9159 (package
9160 (name "ghc-basement")
9161 (version "0.0.7")
9162 (source
9163 (origin
9164 (method url-fetch)
9165 (uri (string-append "https://hackage.haskell.org/package/"
9166 "basement/basement-" version ".tar.gz"))
9167 (sha256
9168 (base32
9169 "0w2g4k9bs2ph00p0fgrmcrng8ypdz6xis0r10g380nzkg2rvj0dm"))))
9170 (build-system haskell-build-system)
9171 (home-page "https://github.com/haskell-foundation/foundation")
9172 (synopsis "Basic primitives for Foundation starter pack")
9173 (description
9174 "This package contains basic primitives for the Foundation set of
9175packages.")
9176 (license license:bsd-3)))
9177
635cc8fe
RW
9178(define-public ghc-foundation
9179 (package
9180 (name "ghc-foundation")
9181 (version "0.0.20")
9182 (source
9183 (origin
9184 (method url-fetch)
9185 (uri (string-append "https://hackage.haskell.org/package/"
9186 "foundation/foundation-" version ".tar.gz"))
9187 (sha256
9188 (base32
9189 "0bg4g0xf4pb2vmahnfp8c4f0a3v0av73lb5g8bwnp170khxfcsms"))))
9190 (build-system haskell-build-system)
9191 (inputs `(("ghc-basement" ,ghc-basement)))
9192 (home-page "https://github.com/haskell-foundation/foundation")
9193 (synopsis "Alternative prelude with batteries and no dependencies")
9194 (description
9195 "This package provides a custom prelude with no dependencies apart from
9196the base package.
9197
9198Foundation has the following goals:
9199
9200@enumerate
9201@item provide a base like sets of modules that provide a consistent set of
9202 features and bugfixes across multiple versions of GHC (unlike base).
9203@item provide a better and more efficient prelude than base's prelude.
9204@item be self-sufficient: no external dependencies apart from base;
9205@item provide better data-types: packed unicode string by default, arrays;
9206@item Numerical classes that better represent mathematical things (no more
9207 all-in-one @code{Num});
9208@item I/O system with less lazy IO.
9209@end enumerate\n")
9210 (license license:bsd-3)))
9211
bb87be09 9212(define-public ghc-stm-chans
9213 (package
9214 (name "ghc-stm-chans")
9215 (version "3.0.0.4")
9216 (source
9217 (origin
9218 (method url-fetch)
9219 (uri (string-append "https://hackage.haskell.org/package/"
9220 "stm-chans-" version "/"
9221 "stm-chans-" version ".tar.gz"))
9222 (sha256
9223 (base32
9224 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9225 (build-system haskell-build-system)
9226 (inputs `(("ghc-stm" ,ghc-stm)))
9227 (home-page "https://hackage.haskell.org/package/stm-chans")
9228 (synopsis "Additional types of channels for ghc-stm")
9229 (description "This Haskell package offers a collection of channel types,
9230similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9231features.")
9232 (license license:bsd-3)))
9233
fddb41f2 9234(define-public ghc-monad-loops
9235 (package
9236 (name "ghc-monad-loops")
9237 (version "0.4.3")
9238 (source
9239 (origin
9240 (method url-fetch)
9241 (uri (string-append "https://hackage.haskell.org/package/"
9242 "monad-loops-" version "/"
9243 "monad-loops-" version ".tar.gz"))
9244 (sha256
9245 (base32
9246 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
9247 (build-system haskell-build-system)
9248 (native-inputs `(("ghc-tasty" ,ghc-tasty)
9249 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9250 (home-page "https://github.com/mokus0/monad-loops")
9251 (synopsis "Monadic loops for Haskell")
9252 (description "This Haskell package provides some useful control
9253operators for looping.")
9254 (license license:public-domain)))
9255
fe9b5eff 9256(define-public ghc-monad-logger
9257 (package
9258 (name "ghc-monad-logger")
9259 (version "0.3.25.1")
9260 (source
9261 (origin
9262 (method url-fetch)
9263 (uri (string-append "https://hackage.haskell.org/package/"
9264 "monad-logger-" version "/"
9265 "monad-logger-" version ".tar.gz"))
9266 (sha256
9267 (base32
9268 "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920"))))
9269 (build-system haskell-build-system)
9270 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
9271 ("ghc-text" ,ghc-text)
9272 ("ghc-stm" ,ghc-stm)
9273 ("ghc-stm-chans" ,ghc-stm-chans)
9274 ("ghc-lifted-base" ,ghc-lifted-base)
9275 ("ghc-resourcet" ,ghc-resourcet)
9276 ("ghc-conduit" ,ghc-conduit)
9277 ("ghc-conduit-extra" ,ghc-conduit-extra)
9278 ("ghc-fast-logger" ,ghc-fast-logger)
9279 ("ghc-transformers-base" ,ghc-transformers-base)
9280 ("ghc-monad-control" ,ghc-monad-control)
9281 ("ghc-monad-loops" ,ghc-monad-loops)
9282 ("ghc-mtl" ,ghc-mtl)
9283 ("ghc-blaze-builder" ,ghc-blaze-builder)
9284 ("ghc-exceptions" ,ghc-exceptions)))
9285 (home-page "https://github.com/kazu-yamamoto/logger")
9286 (synopsis "Provides a class of monads which can log messages for Haskell")
9287 (description "This Haskell package uses a monad transformer approach
9288for logging.
9289
9290This package provides Template Haskell functions for determining source
9291code locations of messages.")
9292 (license license:expat)))
9293
b2b4575d 9294(define-public ghc-shakespeare
9295 (package
9296 (name "ghc-shakespeare")
9297 (version "2.0.14")
9298 (source
9299 (origin
9300 (method url-fetch)
9301 (uri (string-append "https://hackage.haskell.org/package/"
9302 "shakespeare-" version "/"
9303 "shakespeare-" version ".tar.gz"))
9304 (sha256
9305 (base32
9306 "0j5zx8ka7d7scvb9shm7k3376qzl3k4kpim9aqqfs6n86901zpl4"))))
9307 (build-system haskell-build-system)
9308 (inputs `(("ghc-parsec" ,ghc-parsec)
9309 ("ghc-text" ,ghc-text)
9310 ("ghc-aeson" ,ghc-aeson)
9311 ("ghc-blaze-markup" ,ghc-blaze-markup)
9312 ("ghc-blaze-html" ,ghc-blaze-html)
9313 ("ghc-exceptions" ,ghc-exceptions)
9314 ("ghc-vector" ,ghc-vector)
9315 ("ghc-unordered-containers" ,ghc-unordered-containers)
9316 ("ghc-scientific" ,ghc-scientific)))
9317 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9318 ("ghc-hunit" ,ghc-hunit)
9319 ("hspec-discover" ,hspec-discover)))
9320 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9321 (synopsis "Family of type-safe template languages for Haskell")
9322 (description "This Haskell package provides a family of type-safe
9323templates with simple variable interpolation. Shakespeare templates can
9324be used inline with a quasi-quoter or in an external file and it
9325interpolates variables according to the type being inserted.")
9326 (license license:expat)))
9327
54f3536d 9328(define-public ghc-securemem
9329 (package
9330 (name "ghc-securemem")
9331 (version "0.1.9")
9332 (source
9333 (origin
9334 (method url-fetch)
9335 (uri (string-append "https://hackage.haskell.org/package/"
9336 "securemem-" version "/"
9337 "securemem-" version ".tar.gz"))
9338 (sha256
9339 (base32
9340 "0dkhhjxa7njc3qbgvd5a23rkvr39vj2kn2a9nk6yjg7a8b2hvdpy"))))
9341 (build-system haskell-build-system)
9342 (inputs `(("ghc-byteable" ,ghc-byteable)
9343 ("ghc-memory" ,ghc-memory)))
9344 (home-page "https://github.com/vincenthz/hs-securemem")
9345 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9346Haskell")
9347 (description "SecureMem is similar to ByteString, except that it provides
9348a memory chunk that will be auto-scrubbed after it run out of scope.")
9349 (license license:bsd-3)))
9350
d96a1bfe 9351(define-public ghc-resource-pool
9352 (package
9353 (name "ghc-resource-pool")
9354 (version "0.2.3.2")
9355 (source
9356 (origin
9357 (method url-fetch)
9358 (uri (string-append "https://hackage.haskell.org/package/"
9359 "resource-pool-" version "/"
9360 "resource-pool-" version ".tar.gz"))
9361 (sha256
9362 (base32
9363 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9364 (build-system haskell-build-system)
9365 (inputs `(("ghc-hashable" ,ghc-hashable)
9366 ("ghc-monad-control" ,ghc-monad-control)
9367 ("ghc-transformers-base" ,ghc-transformers-base)
9368 ("ghc-stm" ,ghc-stm)
9369 ("ghc-vector" ,ghc-vector)))
9370 (home-page "https://github.com/bos/pool")
9371 (synopsis "Striped resource pooling implementation in Haskell")
9372 (description "This Haskell package provides striped pooling abstraction
9373for managing flexibly-sized collections of resources such as database
9374connections.")
9375 (license license:bsd-3)))
9376
ac7cdb40 9377(define-public ghc-attoparsec-iso8601
9378 (package
9379 (name "ghc-attoparsec-iso8601")
9380 (version "1.0.0.0")
9381 (source
9382 (origin
9383 (method url-fetch)
9384 (uri (string-append "https://hackage.haskell.org/package/"
9385 "attoparsec-iso8601-" version "/"
9386 "attoparsec-iso8601-" version ".tar.gz"))
9387 (sha256
9388 (base32
9389 "12l55b76bhya9q89mfmqmy6sl5v39b6gzrw5rf3f70vkb23nsv5a"))))
9390 (build-system haskell-build-system)
9391 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9392 ("ghc-base-compat" ,ghc-base-compat)
9393 ("ghc-text" ,ghc-text)))
9394 (home-page "https://github.com/bos/aeson")
9395 (synopsis "Parse ISO 8601 dates")
9396 (description "Haskell library for parsing of ISO 8601 dates, originally
9397from aeson.")
9398 (license license:bsd-3)))
9399
e99bd15c 9400(define-public ghc-generics-sop
9401 (package
9402 (name "ghc-generics-sop")
9403 (version "0.3.1.0")
9404 (source
9405 (origin
9406 (method url-fetch)
9407 (uri (string-append "https://hackage.haskell.org/package/"
9408 "generics-sop-" version "/"
9409 "generics-sop-" version ".tar.gz"))
9410 (sha256
9411 (base32
9412 "1bazlhgmxcwv7vd44jhdx74cnhmaz6yy47jxfycapjj4mjrnp0x7"))))
9413 (build-system haskell-build-system)
9414 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)))
9415 (home-page "https://github.com/well-typed/generics-sop")
9416 (synopsis "Generic Programming using True Sums of Products for Haskell")
9417 (description "This Haskell package supports the definition of generic
9418functions. Datatypes are viewed in a uniform, structured way: the choice
9419between constructors is represented using an n-ary sum, and the arguments of
9420each constructor are represented using an n-ary product.")
9421 (license license:bsd-3)))
9422
8ecefe72 9423(define-public ghc-uri-bytestring
9424 (package
9425 (name "ghc-uri-bytestring")
9426 (version "0.3.1.0")
9427 (source
9428 (origin
9429 (method url-fetch)
9430 (uri (string-append "https://hackage.haskell.org/package/"
9431 "uri-bytestring-" version "/"
9432 "uri-bytestring-" version ".tar.gz"))
9433 (sha256
9434 (base32
9435 "04qjv1sgyrdg538290p9hqnvyxnahvr5cjwl8vm1rn9j0fv3ymq9"))))
9436 (build-system haskell-build-system)
9437 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9438 ("ghc-fail" ,ghc-fail)
9439 ("ghc-blaze-builder" ,ghc-blaze-builder)
9440 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
9441 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9442 ("ghc-hunit" ,ghc-hunit)
9443 ("ghc-quickcheck" ,ghc-quickcheck)
9444 ("ghc-tasty" ,ghc-tasty)
9445 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9446 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9447 ("ghc-base-compat" ,ghc-base-compat)
9448 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9449 ("ghc-semigroups" ,ghc-semigroups)
9450 ("ghc-generics-sop" ,ghc-generics-sop)))
9451 (home-page "https://github.com/Soostone/uri-bytestring")
9452 (synopsis "Haskell URI parsing as ByteStrings")
9453 (description "This Haskell package aims to be an RFC3986 compliant URI
9454parser that uses ByteStrings for parsing and representing the URI data.")
9455 (license license:bsd-3)))
9456
b6d8ea42 9457(define-public ghc-http-api-data
9458 (package
9459 (name "ghc-http-api-data")
9460 (version "0.3.7.1")
9461 (source
9462 (origin
9463 (method url-fetch)
9464 (uri (string-append "https://hackage.haskell.org/package/"
9465 "http-api-data-" version "/"
9466 "http-api-data-" version ".tar.gz"))
9467 (sha256
9468 (base32
9469 "1zbmf0kkfsw7pfznisi205gh7jd284gfarxsyiavd2iw26akwqwc"))))
9470 (build-system haskell-build-system)
9471 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.9
9472 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
9473 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
9474 ("ghc-hashable" ,ghc-hashable)
9475 ("ghc-http-types" ,ghc-http-types)
9476 ("ghc-text" ,ghc-text)
9477 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9478 ("ghc-unordered-containers" ,ghc-unordered-containers)
9479 ("ghc-uri-bytestring" ,ghc-uri-bytestring)
9480 ("ghc-uuid-types" ,ghc-uuid-types)))
9481 (home-page "https://github.com/fizruk/http-api-data")
9482 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
9483query parameters")
9484 (description "This Haskell package defines typeclasses used for converting
9485Haskell data types to and from HTTP API data.")
9486 (license license:bsd-3)))
9487
104e179d 9488(define-public ghc-persistent
9489 (package
9490 (name "ghc-persistent")
9491 (version "2.7.3.1")
9492 (source
9493 (origin
9494 (method url-fetch)
9495 (uri (string-append "https://hackage.haskell.org/package/"
9496 "persistent-" version "/"
9497 "persistent-" version ".tar.gz"))
9498 (sha256
9499 (base32
9500 "1jbvavdvr9qz5ld7vf6l1jgiadhmxx6zc4vqsdk9ivfq6d5wlg1p"))))
9501 (build-system haskell-build-system)
9502 (inputs `(("ghc-old-locale" ,ghc-old-locale)
9503 ("ghc-text" ,ghc-text)
9504 ("ghc-conduit" ,ghc-conduit)
9505 ("ghc-resourcet" ,ghc-resourcet)
9506 ("ghc-exceptions" ,ghc-exceptions)
9507 ("ghc-monad-control" ,ghc-monad-control)
9508 ("ghc-lifted-base" ,ghc-lifted-base)
9509 ("ghc-resource-pool" ,ghc-resource-pool)
9510 ("ghc-path-pieces" ,ghc-path-pieces)
9511 ("ghc-http-api-data" ,ghc-http-api-data)
9512 ("ghc-aeson" ,ghc-aeson)
9513 ("ghc-monad-logger" ,ghc-monad-logger)
9514 ("ghc-transformers-base" ,ghc-transformers-base)
9515 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9516 ("ghc-unordered-containers" ,ghc-unordered-containers)
9517 ("ghc-vector" ,ghc-vector)
9518 ("ghc-attoparsec" ,ghc-attoparsec)
9519 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
9520 ("ghc-blaze-html" ,ghc-blaze-html)
9521 ("ghc-blaze-markup" ,ghc-blaze-markup)
9522 ("ghc-silently" ,ghc-silently)
9523 ("ghc-mtl" ,ghc-mtl)
9524 ("ghc-fast-logger" ,ghc-fast-logger)
9525 ("ghc-scientific" ,ghc-scientific)
9526 ("ghc-tagged" ,ghc-tagged)))
9527 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9528 (home-page "https://www.yesodweb.com/book/persistent")
9529 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9530 (description "This Haskell package allows Haskell programs to access data
9531storage sytems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9532way.")
9533 (license license:expat)))
9534
0f163f65 9535(define-public ghc-aeson-compat
9536 (package
9537 (name "ghc-aeson-compat")
9538 (version "0.3.7.1")
9539 (source
9540 (origin
9541 (method url-fetch)
9542 (uri (string-append "https://hackage.haskell.org/package/"
9543 "aeson-compat-" version "/"
9544 "aeson-compat-" version ".tar.gz"))
9545 (sha256
9546 (base32
9547 "1jya3lm9imclhb8qqihv39hhb62vvs3qpws7pc5fc23vwg0hsx2r"))))
9548 (build-system haskell-build-system)
9549 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
9550 (inputs `(("ghc-base-compat" ,ghc-base-compat)
9551 ("ghc-aeson" ,ghc-aeson)
9552 ("ghc-attoparsec" ,ghc-attoparsec)
9553 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
9554 ("ghc-exceptions" ,ghc-exceptions)
9555 ("ghc-hashable" ,ghc-hashable)
9556 ("ghc-scientific" ,ghc-scientific)
9557 ("ghc-text" ,ghc-text)
9558 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9559 ("ghc-unordered-containers" ,ghc-unordered-containers)
9560 ("ghc-vector" ,ghc-vector)
9561 ("ghc-tagged" ,ghc-tagged)
9562 ("ghc-semigroups" ,ghc-semigroups)
9563 ("ghc-nats" ,ghc-nats)))
9564 (home-page "https://github.com/phadej/aeson-compat")
9565 (synopsis "Compatibility layer for ghc-aeson")
9566 (description "This Haskell package provides compatibility layer for
9567ghc-aeson.")
9568 (license license:bsd-3)))
9569
8434594d 9570(define-public ghc-persistent-template
9571 (package
9572 (name "ghc-persistent-template")
9573 (version "2.5.3.1")
9574 (source
9575 (origin
9576 (method url-fetch)
9577 (uri (string-append "https://hackage.haskell.org/package/"
9578 "persistent-template-" version "/"
9579 "persistent-template-" version ".tar.gz"))
9580 (sha256
9581 (base32
9582 "0449piw3n02q7dag7k1pakfmzmf3ms4wk1qmnagczpm1ckajinwd"))))
9583 (build-system haskell-build-system)
9584 (inputs `(("ghc-persistent" ,ghc-persistent)
9585 ("ghc-monad-control" ,ghc-monad-control)
9586 ("ghc-text" ,ghc-text)
9587 ("ghc-aeson" ,ghc-aeson)
9588 ("ghc-aeson-compat" ,ghc-aeson-compat)
9589 ("ghc-monad-logger" ,ghc-monad-logger)
9590 ("ghc-unordered-containers" ,ghc-unordered-containers)
9591 ("ghc-tagged" ,ghc-tagged)
9592 ("ghc-path-pieces" ,ghc-path-pieces)
9593 ("ghc-http-api-data" ,ghc-http-api-data)))
9594 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9595 ("ghc-quickcheck" ,ghc-quickcheck)))
9596 (home-page "https://www.yesodweb.com/book/persistent")
9597 (synopsis "Type-safe, non-relational, multi-backend persistence")
9598 (description "This Haskell package provides interfaces and helper
9599functions for the ghc-persistent package.")
9600 (license license:expat)))
9601
d5c34f9b 9602(define-public ghc-unliftio-core
9603 (package
9604 (name "ghc-unliftio-core")
9605 (version "0.1.1.0")
9606 (source
9607 (origin
9608 (method url-fetch)
9609 (uri (string-append "https://hackage.haskell.org/package/"
9610 "unliftio-core-" version "/"
9611 "unliftio-core-" version ".tar.gz"))
9612 (sha256
9613 (base32
9614 "1193fplsjm1lcr05xwvkj1rsyzx74i755f6kw3ikmxbsv0bv0l3m"))))
9615 (build-system haskell-build-system)
9616 (home-page
9617 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
9618 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
9619 (description "This Haskell package provides the core @code{MonadUnliftIO}
9620typeclass, instances for base and transformers, and basic utility
9621functions.")
9622 (license license:expat)))
9623
1c225fab 9624(define-public ghc-microlens
9625 (package
9626 (name "ghc-microlens")
9627 (version "0.4.8.3")
9628 (source
9629 (origin
9630 (method url-fetch)
9631 (uri (string-append "https://hackage.haskell.org/package/"
9632 "microlens-" version "/"
9633 "microlens-" version ".tar.gz"))
9634 (sha256
9635 (base32
9636 "17qx2mbqdrlnkc3gxq8njbp7qw8nh51drmz6fc8khgj9bls5ni2k"))))
9637 (build-system haskell-build-system)
9638 (home-page
9639 "https://github.com/aelve/microlens")
9640 (synopsis "Provides a tiny lens Haskell library with no dependencies")
9641 (description "This Haskell package provides a lens library, just like
9642@code{ghc-lens}, but smaller. It provides essential lenses and
9643traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
9644nice to have (like @code{each}, @code{at}, and @code{ix}), and some
9645combinators (like @code{failing} and @code{singular}), but everything else is
9646stripped. As the result, this package has no dependencies.")
9647 (license license:bsd-3)))
9648
82e0b0e2 9649(define-public ghc-microlens-th
9650 (package
9651 (name "ghc-microlens-th")
9652 (version "0.4.1.3")
9653 (source
9654 (origin
9655 (method url-fetch)
9656 (uri (string-append "https://hackage.haskell.org/package/"
9657 "microlens-th-" version "/"
9658 "microlens-th-" version ".tar.gz"))
9659 (sha256
9660 (base32
9661 "15a12cqxlgbcn1n73zwrxnp2vfm8b0ma0a0sdd8zmjbs8zy3np4f"))))
9662 (build-system haskell-build-system)
9663 (inputs `(("ghc-microlens" ,ghc-microlens)))
9664 (home-page
9665 "https://github.com/aelve/microlens")
9666 (synopsis "Automatic generation of record lenses for
9667@code{ghc-microlens}")
9668 (description "This Haskell package lets you automatically generate lenses
9669for data types; code was extracted from the lens package, and therefore
9670generated lenses are fully compatible with ones generated by lens (and can be
9671used both from lens and microlens).")
9672 (license license:bsd-3)))
9673
e85c58ed 9674(define-public ghc-unliftio
9675 (package
9676 (name "ghc-unliftio")
9677 (version "0.2.4.0")
9678 (source
9679 (origin
9680 (method url-fetch)
9681 (uri (string-append
9682 "https://hackage.haskell.org/package/unliftio/unliftio-"
9683 version
9684 ".tar.gz"))
9685 (sha256
9686 (base32
9687 "0vpncmwaq5zb6bziqfns4qdgxmq8ky0rlxna2yngxp170s5zxx9z"))))
9688 (build-system haskell-build-system)
9689 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
9690 (inputs
9691 `(("ghc-async" ,ghc-async)
9692 ("ghc-stm" ,ghc-stm)
9693 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9694 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9695 (home-page "https://github.com/fpco/unliftio")
9696 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
9697IO (batteries included)")
9698 (description "This Haskell package provides the core @code{MonadUnliftIO}
9699typeclass, a number of common instances, and a collection of common functions
9700working with it.")
9701 (license license:expat)))
9702
e01a8fcc 9703(define-public ghc-persistent-sqlite
9704 (package
9705 (name "ghc-persistent-sqlite")
9706 (version "2.6.4")
9707 (source
9708 (origin
9709 (method url-fetch)
9710 (uri (string-append "https://hackage.haskell.org/package/"
9711 "persistent-sqlite-" version "/"
9712 "persistent-sqlite-" version ".tar.gz"))
9713 (sha256
9714 (base32
9715 "16mc2ra0hbyyc8ckjlxxc11bpskdymbr8c3g6ih6wzik639xprbm"))))
9716 (build-system haskell-build-system)
9717 (inputs `(("ghc-persistent" ,ghc-persistent)
9718 ("ghc-unliftio-core" ,ghc-unliftio-core)
9719 ("ghc-aeson" ,ghc-aeson)
9720 ("ghc-conduit" ,ghc-conduit)
9721 ("ghc-monad-logger" ,ghc-monad-logger)
9722 ("ghc-microlens-th" ,ghc-microlens-th)
9723 ("ghc-resourcet" ,ghc-resourcet)
9724 ("ghc-old-locale" ,ghc-old-locale)
9725 ("ghc-resource-pool" ,ghc-resource-pool)
9726 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9727 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9728 ("ghc-persistent-template" ,ghc-persistent-template)
9729 ("ghc-temporary" ,ghc-temporary)
9730 ("ghc-text" ,ghc-text)))
9731 (home-page
9732 "https://www.yesodweb.com/book/persistent")
9733 (synopsis "Backend for the persistent library using sqlite3")
9734 (description "This Haskell package includes a thin sqlite3 wrapper based
9735on the direct-sqlite package, as well as the entire C library, so there are no
9736system dependencies.")
9737 (license license:expat)))
9738
b50e1c89 9739(define-public ghc-email-validate
9740 (package
9741 (name "ghc-email-validate")
9742 (version "2.3.2.1")
9743 (source
9744 (origin
9745 (method url-fetch)
9746 (uri (string-append
9747 "https://hackage.haskell.org/package/"
9748 "email-validate/email-validate-"
9749 version
9750 ".tar.gz"))
9751 (sha256
9752 (base32
9753 "0qvxysiap3r4mi3xff5nsk9qv6diqxfgwj186bypbamzvzlz0lav"))))
9754 (build-system haskell-build-system)
9755 (inputs
9756 `(("ghc-attoparsec" ,ghc-attoparsec)
9757 ("ghc-hspec" ,ghc-hspec)
9758 ("ghc-quickcheck" ,ghc-quickcheck)
9759 ("ghc-doctest" ,ghc-doctest)))
9760 (home-page
9761 "https://github.com/Porges/email-validate-hs")
9762 (synopsis "Email address validator for Haskell")
9763 (description
9764 "This Haskell package provides a validator that can validate an email
9765address string against RFC 5322.")
9766 (license license:bsd-3)))
9767
6c4ae173 9768(define-public ghc-semigroupoids-5.2.2
e5d92c1c 9769 (package
6c4ae173
T
9770 (inherit ghc-semigroupoids)
9771 (name "ghc-semigroupoids")
9772 (version "5.2.2")
9773 (source (origin
9774 (method url-fetch)
9775 (uri (string-append "https://hackage.haskell.org/package/"
9776 "semigroupoids-" version "/semigroupoids-"
9777 version ".tar.gz"))
9778 (sha256
9779 (base32
9780 "17i96y4iqj8clcs090lf6k0ij3j16nj14vsfwz0mm9nd6i4gbpp4"))))
9781 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
9782 ,@(package-inputs ghc-semigroupoids)))))
e5d92c1c 9783
dea5c0b8 9784(define-public ghc-bytes
7d4e377f 9785 (package
dea5c0b8
T
9786 (name "ghc-bytes")
9787 (version "0.15.4")
7d4e377f
T
9788 (source
9789 (origin
9790 (method url-fetch)
9791 (uri
dea5c0b8
T
9792 (string-append "https://hackage.haskell.org/package/bytes-"
9793 version "/bytes-"
7d4e377f
T
9794 version ".tar.gz"))
9795 (file-name (string-append name "-" version ".tar.gz"))
9796 (sha256
9797 (base32
dea5c0b8 9798 "121x3iqlm8pghw8cd9g30cnqbl7jrdpfjxdanmqdqllajw6xivrm"))))
7d4e377f 9799 (build-system haskell-build-system)
dea5c0b8
T
9800 (inputs `(("ghc-cereal" ,ghc-cereal)
9801 ("cabal-doctest" ,cabal-doctest)
9802 ("ghc-doctest" ,ghc-doctest-0.13)
9803 ("ghc-mtl" ,ghc-mtl)
9804 ("ghc-scientific" ,ghc-scientific)
9805 ("ghc-text" ,ghc-text)
9806 ("ghc-transformers-compat" ,ghc-transformers-compat)
9807 ("ghc-unordered-containers" ,ghc-unordered-containers)
9808 ("ghc-void" ,ghc-void)
9809 ("ghc-vector" ,ghc-vector)))
9810 (synopsis "Serialization between @code{binary} and @code{cereal}")
9811 (description "This package provides a simple compatibility shim that lets
9812you work with both @code{binary} and @code{cereal} with one chunk of
9813serialization code.")
9814 (home-page "https://hackage.haskell.org/package/bytes")
7d4e377f
T
9815 (license license:bsd-3)))
9816
4e5d9bf2
TS
9817(define-public ghc-disk-free-space
9818 (package
9819 (name "ghc-disk-free-space")
9820 (version "0.1.0.1")
9821 (source
9822 (origin
9823 (method url-fetch)
9824 (uri (string-append "https://hackage.haskell.org/package/"
9825 "disk-free-space/disk-free-space-"
9826 version ".tar.gz"))
9827 (sha256
9828 (base32
9829 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
9830 (build-system haskell-build-system)
9831 (home-page "https://github.com/redneb/disk-free-space")
9832 (synopsis "Retrieve information about disk space usage")
9833 (description "A cross-platform library for retrieving information about
9834disk space usage.")
9835 (license license:bsd-3)))
9836
66413378
DM
9837(define-public ghc-xdg-basedir
9838 (package
9839 (name "ghc-xdg-basedir")
9840 (version "0.2.2")
9841 (source
9842 (origin
9843 (method url-fetch)
9844 (uri (string-append
9845 "https://hackage.haskell.org/package/xdg-basedir/"
9846 "xdg-basedir-" version ".tar.gz"))
9847 (sha256
9848 (base32
9849 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
9850 (build-system haskell-build-system)
9851 (home-page "http://github.com/willdonnelly/xdg-basedir")
9852 (synopsis "XDG Base Directory library for Haskell")
9853 (description "This package provides a library implementing the XDG Base Directory spec.")
9854 (license license:bsd-3)))
9855
19395aec
RW
9856(define-public ghc-errorcall-eq-instance
9857 (package
9858 (name "ghc-errorcall-eq-instance")
9859 (version "0.3.0")
9860 (source
9861 (origin
9862 (method url-fetch)
9863 (uri (string-append "https://hackage.haskell.org/package/"
9864 "errorcall-eq-instance/errorcall-eq-instance-"
9865 version ".tar.gz"))
9866 (sha256
9867 (base32
9868 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
9869 (build-system haskell-build-system)
9870 (inputs
9871 `(("ghc-base-orphans" ,ghc-base-orphans)))
9872 (native-inputs
9873 `(("ghc-quickcheck" ,ghc-quickcheck)
9874 ("ghc-hspec" ,ghc-hspec)
9875 ("hspec-discover" ,hspec-discover)))
9876 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
9877 (synopsis "Orphan Eq instance for ErrorCall")
9878 (description
9879 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
9880This package provides an orphan instance.")
9881 (license license:expat)))
9882
ea6ffd3c
RW
9883(define-public ghc-missingh
9884 (package
9885 (name "ghc-missingh")
9886 (version "1.4.0.1")
9887 (source
9888 (origin
9889 (method url-fetch)
9890 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
9891 "MissingH-" version ".tar.gz"))
9892 (sha256
9893 (base32
9894 "0wcvgrmav480w7nf4bl14yi0jq2yzanysxwzwas9hpb28vyjlgr8"))))
9895 (build-system haskell-build-system)
9896 ;; Tests require the unmaintained testpack package, which depends on the
9897 ;; outdated QuickCheck version 2.7, which can no longer be built with
9898 ;; recent versions of GHC and Haskell libraries.
9899 (arguments '(#:tests? #f))
9900 (inputs
9901 `(("ghc-network" ,ghc-network)
9902 ("ghc-parsec" ,ghc-parsec)
9903 ("ghc-mtl" ,ghc-mtl)
9904 ("ghc-hunit" ,ghc-hunit)
9905 ("ghc-regex-compat" ,ghc-regex-compat)
9906 ("ghc-hslogger" ,ghc-hslogger)
9907 ("ghc-random" ,ghc-random)
9908 ("ghc-old-time" ,ghc-old-time)
9909 ("ghc-old-locale" ,ghc-old-locale)))
9910 (native-inputs
9911 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
9912 ("ghc-quickcheck" ,ghc-quickcheck)
9913 ("ghc-hunit" ,ghc-hunit)))
9914 (home-page "http://software.complete.org/missingh")
9915 (synopsis "Large utility library")
9916 (description
9917 "MissingH is a library of all sorts of utility functions for Haskell
9918programmers. It is written in pure Haskell and thus should be extremely
9919portable and easy to use.")
9920 (license license:bsd-3)))
9921
657d220d
RW
9922(define-public ghc-intervalmap
9923 (package
9924 (name "ghc-intervalmap")
9925 (version "0.6.0.0")
9926 (source
9927 (origin
9928 (method url-fetch)
9929 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
9930 "IntervalMap-" version ".tar.gz"))
9931 (sha256
9932 (base32
9933 "06hin9wf1by8aqa7820fsi2339bh82184frkwz3jsb9sqa0hszcg"))))
9934 (build-system haskell-build-system)
9935 (native-inputs
9936 `(("ghc-quickcheck" ,ghc-quickcheck)))
9937 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
9938 (synopsis "Containers for intervals, with efficient search")
9939 (description
9940 "This package provides ordered containers of intervals, with efficient
9941search for all keys containing a point or overlapping an interval. See the
9942example code on the home page for a quick introduction.")
9943 (license license:bsd-3)))
9944
2e72967b
RW
9945(define-public ghc-operational
9946 (package
9947 (name "ghc-operational")
9948 (version "0.2.3.5")
9949 (source
9950 (origin
9951 (method url-fetch)
9952 (uri (string-append "https://hackage.haskell.org/package/operational/"
9953 "operational-" version ".tar.gz"))
9954 (sha256
9955 (base32
9956 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
9957 (build-system haskell-build-system)
9958 (inputs
9959 `(("ghc-mtl" ,ghc-mtl)
9960 ("ghc-random" ,ghc-random)))
9961 (home-page "http://wiki.haskell.org/Operational")
9962 (synopsis "Implementation of difficult monads made easy with operational semantics")
9963 (description
9964 "This library makes it easy to implement monads with tricky control
9965flow. This is useful for: writing web applications in a sequential style,
9966programming games with a uniform interface for human and AI players and easy
9967replay capababilities, implementing fast parser monads, designing monadic
9968DSLs, etc.")
9969 (license license:bsd-3)))
9970
cd447603
RW
9971(define-public ghc-gtk2hs-buildtools
9972 (package
9973 (name "ghc-gtk2hs-buildtools")
9974 (version "0.13.4.0")
9975 (source
9976 (origin
9977 (method url-fetch)
9978 (uri (string-append "https://hackage.haskell.org/package/"
9979 "gtk2hs-buildtools/gtk2hs-buildtools-"
9980 version ".tar.gz"))
9981 (sha256
9982 (base32
9983 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
9984 (build-system haskell-build-system)
9985 (inputs
9986 `(("ghc-random" ,ghc-random)
9987 ("ghc-hashtables" ,ghc-hashtables)))
9988 (native-inputs
9989 `(("ghc-alex" ,ghc-alex)
9990 ("ghc-happy" ,ghc-happy)))
9991 (home-page "http://projects.haskell.org/gtk2hs/")
9992 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
9993 (description
9994 "This package provides a set of helper programs necessary to build the
9995Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
9996that is used to generate FFI declarations, a tool to build a type hierarchy
9997that mirrors the C type hierarchy of GObjects found in glib, and a generator
9998for signal declarations that are used to call back from C to Haskell. These
9999tools are not needed to actually run Gtk2Hs programs.")
10000 (license license:gpl2)))
10001
42744c1d
RW
10002(define-public ghc-chart
10003 (package
10004 (name "ghc-chart")
10005 (version "1.8.3")
10006 (source
10007 (origin
10008 (method url-fetch)
10009 (uri (string-append "https://hackage.haskell.org/package/Chart/"
10010 "Chart-" version ".tar.gz"))
10011 (sha256
10012 (base32
10013 "13s64fhb2pmkdmx5bkgbgcn25qjihs364fvr47a1dw25f804kiy1"))))
10014 (build-system haskell-build-system)
10015 (inputs
10016 `(("ghc-old-locale" ,ghc-old-locale)
10017 ("ghc-mtl" ,ghc-mtl)
10018 ("ghc-lens" ,ghc-lens)
10019 ("ghc-colour" ,ghc-colour)
10020 ("ghc-data-default-class" ,ghc-data-default-class)
10021 ("ghc-operational" ,ghc-operational)
10022 ("ghc-vector" ,ghc-vector)))
10023 (home-page "https://github.com/timbod7/haskell-chart/wiki")
10024 (synopsis "Library for generating 2D charts and plots")
10025 (description
10026 "This package provides a library for generating 2D charts and plots, with
10027backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
10028 (license license:bsd-3)))
10029
246b3437 10030;;; haskell.scm ends here