gnu: linux-libre: Update to 5.1.11.
[jackhill/guix/guix.git] / gnu / packages / haskell-web.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
3 ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
4 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
5 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
6 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
7 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
9 ;;;
10 ;;; This file is part of GNU Guix.
11 ;;;
12 ;;; GNU Guix is free software; you can redistribute it and/or modify it
13 ;;; under the terms of the GNU General Public License as published by
14 ;;; the Free Software Foundation; either version 3 of the License, or (at
15 ;;; your option) any later version.
16 ;;;
17 ;;; GNU Guix is distributed in the hope that it will be useful, but
18 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 ;;; GNU General Public License for more details.
21 ;;;
22 ;;; You should have received a copy of the GNU General Public License
23 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
24
25 (define-module (gnu packages haskell-web)
26 #:use-module (gnu packages)
27 #:use-module (gnu packages curl)
28 #:use-module (gnu packages haskell)
29 #:use-module (gnu packages haskell-check)
30 #:use-module (gnu packages haskell-crypto)
31 #:use-module (guix build-system haskell)
32 #:use-module (guix download)
33 #:use-module ((guix licenses) #:prefix license:)
34 #:use-module (guix packages)
35 #:use-module (guix utils))
36
37 (define-public ghc-tagsoup
38 (package
39 (name "ghc-tagsoup")
40 (version "0.14.6")
41 (source
42 (origin
43 (method url-fetch)
44 (uri (string-append "https://hackage.haskell.org/package/tagsoup/"
45 "tagsoup-" version ".tar.gz"))
46 (sha256
47 (base32
48 "1yv3dbyb0i1yqm796jgc4jj5kxkla1sxb3b2klw5ks182kdx8kjb"))))
49 (build-system haskell-build-system)
50 (inputs `(("ghc-text" ,ghc-text)))
51 (native-inputs
52 `(("ghc-quickcheck" ,ghc-quickcheck)))
53 (home-page "http://community.haskell.org/~ndm/tagsoup/")
54 (synopsis
55 "Parsing and extracting information from (possibly malformed) HTML/XML
56 documents")
57 (description
58 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
59 specification, and can be used to parse either well-formed XML, or
60 unstructured and malformed HTML from the web. The library also provides
61 useful functions to extract information from an HTML document, making it ideal
62 for screen-scraping.")
63 (license license:bsd-3)))
64
65 (define-public ghc-cookie
66 (package
67 (name "ghc-cookie")
68 (version "0.4.4")
69 (source
70 (origin
71 (method url-fetch)
72 (uri (string-append
73 "https://hackage.haskell.org/package/cookie/cookie-"
74 version
75 ".tar.gz"))
76 (sha256
77 (base32
78 "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
79 (build-system haskell-build-system)
80 (inputs
81 `(("ghc-old-locale" ,ghc-old-locale)
82 ("ghc-blaze-builder" ,ghc-blaze-builder)
83 ("ghc-text" ,ghc-text)
84 ("ghc-data-default-class" ,ghc-data-default-class)
85 ("ghc-hunit" ,ghc-hunit)
86 ("ghc-quickcheck" ,ghc-quickcheck)
87 ("ghc-tasty" ,ghc-tasty)
88 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
89 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
90 (home-page "https://github.com/snoyberg/cookie")
91 (synopsis "HTTP cookie parsing and rendering")
92 (description "HTTP cookie parsing and rendering library for Haskell.")
93 (license license:bsd-3)))
94
95 (define-public ghc-httpd-shed
96 (package
97 (name "ghc-httpd-shed")
98 (version "0.4.0.3")
99 (source
100 (origin
101 (method url-fetch)
102 (uri (string-append "https://hackage.haskell.org/package/httpd-shed/"
103 "httpd-shed-" version ".tar.gz"))
104 (sha256
105 (base32
106 "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh"))))
107 (build-system haskell-build-system)
108 (inputs
109 `(("ghc-network-uri" ,ghc-network-uri)
110 ("ghc-network" ,ghc-network)))
111 (home-page "https://hackage.haskell.org/package/httpd-shed")
112 (synopsis "Simple web-server with an interact style API")
113 (description
114 "This web server promotes a function from @code{Request} to @code{IO
115 Response} into a local web server. The user can decide how to interpret the
116 requests, and the library is intended for implementing Ajax APIs.")
117 (license license:bsd-3)))
118
119 (define-public ghc-http-types
120 (package
121 (name "ghc-http-types")
122 (version "0.12.3")
123 (source
124 (origin
125 (method url-fetch)
126 (uri (string-append "https://hackage.haskell.org/package/http-types/"
127 "http-types-" version ".tar.gz"))
128 (sha256
129 (base32
130 "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf"))))
131 (build-system haskell-build-system)
132 (native-inputs
133 `(("ghc-doctest" ,ghc-doctest)
134 ("ghc-hspec" ,ghc-hspec)
135 ("ghc-quickcheck" ,ghc-quickcheck)
136 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
137 ("hspec-discover" ,hspec-discover)))
138 (inputs
139 `(("ghc-case-insensitive" ,ghc-case-insensitive)
140 ("ghc-text" ,ghc-text)))
141 (home-page "https://github.com/aristidb/http-types")
142 (synopsis "Generic HTTP types for Haskell")
143 (description "This package provides generic HTTP types for Haskell (for
144 both client and server code).")
145 (license license:bsd-3)))
146
147 (define-public ghc-http
148 (package
149 (name "ghc-http")
150 (version "4000.3.12")
151 (outputs '("out" "doc"))
152 (source
153 (origin
154 (method url-fetch)
155 (uri (string-append "https://hackage.haskell.org/package/HTTP/"
156 "HTTP-" version ".tar.gz"))
157 (sha256
158 (base32
159 "140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3"))))
160 (build-system haskell-build-system)
161 (native-inputs
162 `(("ghc-httpd-shed" ,ghc-httpd-shed)
163 ("ghc-hunit" ,ghc-hunit)
164 ("ghc-test-framework" ,ghc-test-framework)
165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
166 (inputs
167 `(("ghc-case-insensitive" ,ghc-case-insensitive)
168 ("ghc-conduit" ,ghc-conduit)
169 ("ghc-conduit-extra" ,ghc-conduit-extra)
170 ("ghc-http-types" ,ghc-http-types)
171 ("ghc-old-time" ,ghc-old-time)
172 ("ghc-parsec" ,ghc-parsec)
173 ("ghc-puremd5" ,ghc-puremd5)
174 ("ghc-network" ,ghc-network)
175 ("ghc-network-uri" ,ghc-network-uri)
176 ("ghc-split" ,ghc-split)))
177 (arguments
178 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
179 (home-page "https://github.com/haskell/HTTP")
180 (synopsis "Library for client-side HTTP")
181 (description
182 "The HTTP package supports client-side web programming in Haskell. It
183 lets you set up HTTP connections, transmitting requests and processing the
184 responses coming back.")
185 (license license:bsd-3)))
186
187 (define-public ghc-http-client
188 (package
189 (name "ghc-http-client")
190 (version "0.5.13.1")
191 (source (origin
192 (method url-fetch)
193 (uri (string-append "https://hackage.haskell.org/package/"
194 "http-client/http-client-"
195 version ".tar.gz"))
196 (sha256
197 (base32
198 "0szwbgvkkdz56lgi91armkagmb7nnfwbpp4j7cm9zhmffv3ba8g1"))))
199 (build-system haskell-build-system)
200 ;; Tests require access to the web.
201 (arguments `(#:tests? #f))
202 (inputs
203 `(("ghc-async" ,ghc-async)
204 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
205 ("ghc-blaze-builder" ,ghc-blaze-builder)
206 ("ghc-case-insensitive" ,ghc-case-insensitive)
207 ("ghc-cookie" ,ghc-cookie)
208 ("ghc-data-default-class" ,ghc-data-default-class)
209 ("ghc-exceptions" ,ghc-exceptions)
210 ("ghc-http-types" ,ghc-http-types)
211 ("ghc-memory" ,ghc-memory)
212 ("ghc-mime-types" ,ghc-mime-types)
213 ("ghc-monad-control" ,ghc-monad-control)
214 ("ghc-network" ,ghc-network)
215 ("ghc-network-uri" ,ghc-network-uri)
216 ("ghc-random" ,ghc-random)
217 ("ghc-streaming-commons" ,ghc-streaming-commons)
218 ("ghc-text" ,ghc-text)
219 ("ghc-zlib" ,ghc-zlib)))
220 (native-inputs
221 `(("ghc-hspec" ,ghc-hspec)))
222 (home-page "https://github.com/snoyberg/http-client")
223 (synopsis "HTTP client engine")
224 (description
225 "This package provides an HTTP client engine, intended as a base layer
226 for more user-friendly packages.")
227 (license license:expat)))
228
229 (define-public ghc-http-client-tls
230 (package
231 (name "ghc-http-client-tls")
232 (version "0.3.5.3")
233 (source (origin
234 (method url-fetch)
235 (uri (string-append "https://hackage.haskell.org/package/"
236 "http-client-tls/http-client-tls-"
237 version ".tar.gz"))
238 (sha256
239 (base32
240 "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
241 (build-system haskell-build-system)
242 ;; Tests require Internet access
243 (arguments `(#:tests? #f))
244 (inputs
245 `(("ghc-data-default-class" ,ghc-data-default-class)
246 ("ghc-http-client" ,ghc-http-client)
247 ("ghc-connection" ,ghc-connection)
248 ("ghc-network" ,ghc-network)
249 ("ghc-tls" ,ghc-tls)
250 ("ghc-http-types" ,ghc-http-types)))
251 (native-inputs
252 `(("ghc-hspec" ,ghc-hspec)))
253 (home-page "https://github.com/snoyberg/http-client")
254 (synopsis "Backend for http-client using the TLS library")
255 (description
256 "This package provides a backend for the http-client package using the
257 connection and TLS libraries. It is intended for use by higher-level
258 libraries, such as http-conduit.")
259 (license license:expat)))
260
261 (define-public ghc-http-date
262 (package
263 (name "ghc-http-date")
264 (version "0.0.8")
265 (source
266 (origin
267 (method url-fetch)
268 (uri (string-append "https://hackage.haskell.org/package/"
269 "http-date-" version "/"
270 "http-date-" version ".tar.gz"))
271 (sha256
272 (base32
273 "09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
274 (build-system haskell-build-system)
275 (inputs
276 `(("ghc-attoparsec" ,ghc-attoparsec)))
277 (native-inputs
278 `(("ghc-doctest" ,ghc-doctest)
279 ("ghc-hspec" ,ghc-hspec)
280 ("hspec-discover" ,hspec-discover)
281 ("ghc-old-locale" ,ghc-old-locale)))
282 (home-page "https://github.com/kazu-yamamoto/http-date")
283 (synopsis "HTTP Date parser/formatter")
284 (description "Library for Parsing and formatting HTTP
285 Date in Haskell.")
286 (license license:bsd-3)))
287
288 (define-public ghc-http2
289 (package
290 (name "ghc-http2")
291 (version "1.6.3")
292 (source
293 (origin
294 (method url-fetch)
295 (uri (string-append "https://hackage.haskell.org/package/"
296 "http2-" version "/"
297 "http2-" version ".tar.gz"))
298 (sha256
299 (base32
300 "0hww0rfsv6lqx62qzycbcqy5q6rh9k09qkyjkdm5m1sp1z50wqk1"))))
301 (build-system haskell-build-system)
302 (inputs
303 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
304 ("ghc-case-insensitive" ,ghc-case-insensitive)
305 ("ghc-aeson" ,ghc-aeson)
306 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
307 ("ghc-hex" ,ghc-hex)
308 ("ghc-unordered-containers" ,ghc-unordered-containers)
309 ("ghc-vector" ,ghc-vector)
310 ("ghc-word8" ,ghc-word8)
311 ("ghc-psqueues" ,ghc-psqueues)
312 ("ghc-stm" ,ghc-stm)))
313 (native-inputs
314 `(("ghc-glob" ,ghc-glob)
315 ("ghc-hspec" ,ghc-hspec)
316 ("ghc-doctest" ,ghc-doctest)
317 ("hspec-discover" ,hspec-discover)))
318 (home-page "https://github.com/kazu-yamamoto/http2")
319 (synopsis "HTTP/2 library including frames, priority queues and HPACK")
320 (description "This package provides a HTTP/2.0 library including frames
321 and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
322 (license license:bsd-3)))
323
324 (define-public ghc-http-conduit
325 (package
326 (name "ghc-http-conduit")
327 (version "2.3.2")
328 (source
329 (origin
330 (method url-fetch)
331 (uri (string-append "https://hackage.haskell.org/package/"
332 "http-conduit-" version "/" "http-conduit-"
333 version ".tar.gz"))
334 (sha256
335 (base32
336 "1iay4hr0mj8brkxvgkv1liqa8irl9axfc3qhn8qsvcyq4n1l95km"))))
337 (build-system haskell-build-system)
338 ;; FIXME: `httpLbs TLS` in test-suite `test` fails with
339 ;; ConnectionFailure getProtocolByName: does not exist (no such protocol
340 ;; name: tcp)
341 (arguments `(#:tests? #f))
342 (inputs
343 `(("ghc-aeson" ,ghc-aeson)
344 ("ghc-resourcet" ,ghc-resourcet)
345 ("ghc-conduit" ,ghc-conduit)
346 ("ghc-conduit-extra" ,ghc-conduit-extra)
347 ("ghc-http-types" ,ghc-http-types)
348 ("ghc-lifted-base" ,ghc-lifted-base)
349 ("ghc-http-client" ,ghc-http-client)
350 ("ghc-http-client-tls" ,ghc-http-client-tls)
351 ("ghc-monad-control" ,ghc-monad-control)
352 ("ghc-exceptions" ,ghc-exceptions)
353 ("ghc-unliftio" ,ghc-unliftio)))
354 (native-inputs
355 `(("ghc-hunit" ,ghc-hunit)
356 ("ghc-hspec" ,ghc-hspec)
357 ("ghc-data-default-class" ,ghc-data-default-class)
358 ("ghc-connection" ,ghc-connection)
359 ("ghc-warp-tls" ,ghc-warp-tls)
360 ("ghc-blaze-builder" ,ghc-blaze-builder)
361 ("ghc-text" ,ghc-text)
362 ("ghc-conduit" ,ghc-conduit)
363 ("ghc-utf8-string" ,ghc-utf8-string)
364 ("ghc-case-insensitive" ,ghc-case-insensitive)
365 ("ghc-lifted-base" ,ghc-lifted-base)
366 ("ghc-network" ,ghc-network)
367 ("ghc-wai" ,ghc-wai)
368 ("ghc-warp" ,ghc-warp)
369 ("ghc-wai-conduit" ,ghc-wai-conduit)
370 ("ghc-http-types" ,ghc-http-types)
371 ("ghc-cookie" ,ghc-cookie)
372 ("ghc-conduit-extra" ,ghc-conduit-extra)
373 ("ghc-streaming-commons" ,ghc-streaming-commons)
374 ("ghc-aeson" ,ghc-aeson)
375 ("ghc-temporary" ,ghc-temporary)
376 ("ghc-resourcet" ,ghc-resourcet)))
377 (home-page "https://hackage.haskell.org/package/http-conduit")
378 (synopsis "HTTP/HTTPS client with conduit interface")
379 (description "This library uses attoparsec for parsing the actual
380 contents of the HTTP connection. It also provides higher-level functions
381 which allow you to avoid direct usage of conduits.")
382 (license license:bsd-3)))
383
384 (define-public ghc-wai
385 (package
386 (name "ghc-wai")
387 (version "3.2.1.2")
388 (source
389 (origin
390 (method url-fetch)
391 (uri (string-append
392 "https://hackage.haskell.org/package/wai/wai-"
393 version
394 ".tar.gz"))
395 (sha256
396 (base32
397 "0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8"))))
398 (build-system haskell-build-system)
399 (inputs
400 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
401 ("ghc-unix-compat" ,ghc-unix-compat)
402 ("ghc-vault" ,ghc-vault)
403 ("ghc-blaze-builder" ,ghc-blaze-builder)
404 ("ghc-network" ,ghc-network)
405 ("ghc-text" ,ghc-text)
406 ("ghc-http-types" ,ghc-http-types)))
407 (native-inputs
408 `(("hspec-discover" ,hspec-discover)
409 ("ghc-quickcheck" ,ghc-quickcheck)
410 ("ghc-hunit" ,ghc-hunit)
411 ("ghc-hspec" ,ghc-hspec)))
412 (home-page "https://hackage.haskell.org/package/wai")
413 (synopsis "Web application interface for Haskell")
414 (description "This package provides a Web Application Interface (WAI)
415 library for the Haskell language. It defines a common protocol for
416 communication between web applications and web servers.")
417 (license license:bsd-3)))
418
419 (define-public ghc-wai-logger
420 (package
421 (name "ghc-wai-logger")
422 (version "2.3.2")
423 (source
424 (origin
425 (method url-fetch)
426 (uri (string-append
427 "https://hackage.haskell.org/package/wai-logger/wai-logger-"
428 version
429 ".tar.gz"))
430 (sha256
431 (base32
432 "0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d"))))
433 (build-system haskell-build-system)
434 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
435 ; by propagated-inputs.
436 (inputs
437 `(("ghc-auto-update" ,ghc-auto-update)
438 ("ghc-byteorder" ,ghc-byteorder)
439 ("ghc-easy-file" ,ghc-easy-file)
440 ("ghc-unix-time" ,ghc-unix-time)
441 ("ghc-blaze-builder" ,ghc-blaze-builder)
442 ("ghc-case-insensitive" ,ghc-case-insensitive)
443 ("ghc-fast-logger" ,ghc-fast-logger)
444 ("ghc-http-types" ,ghc-http-types)
445 ("ghc-network" ,ghc-network)
446 ("ghc-wai" ,ghc-wai)))
447 (home-page "https://hackage.haskell.org/package/wai-logger")
448 (synopsis "Logging system for WAI")
449 (description "This package provides the logging system for WAI.")
450 (license license:bsd-3)))
451
452 (define-public ghc-wai-extra
453 (package
454 (name "ghc-wai-extra")
455 (version "3.0.24.2")
456 (source
457 (origin
458 (method url-fetch)
459 (uri (string-append
460 "https://hackage.haskell.org/package/wai-extra/wai-extra-"
461 version
462 ".tar.gz"))
463 (sha256
464 (base32
465 "07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci"))))
466 (build-system haskell-build-system)
467 (inputs
468 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
469 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
470 ("ghc-cookie" ,ghc-cookie)
471 ("ghc-blaze-builder" ,ghc-blaze-builder)
472 ("ghc-network" ,ghc-network)
473 ("ghc-lifted-base" ,ghc-lifted-base)
474 ("ghc-streaming-commons" ,ghc-streaming-commons)
475 ("ghc-stringsearch" ,ghc-stringsearch)
476 ("ghc-resourcet" ,ghc-resourcet)
477 ("ghc-fast-logger" ,ghc-fast-logger)
478 ("ghc-wai-logger" ,ghc-wai-logger)
479 ("ghc-zlib" ,ghc-zlib)
480 ("ghc-word8" ,ghc-word8)
481 ("ghc-iproute" ,ghc-iproute)
482 ("ghc-void" ,ghc-void)
483 ("ghc-wai" ,ghc-wai)
484 ("ghc-http-types" ,ghc-http-types)
485 ("ghc-text" ,ghc-text)
486 ("ghc-case-insensitive" ,ghc-case-insensitive)
487 ("ghc-data-default-class" ,ghc-data-default-class)
488 ("ghc-unix-compat" ,ghc-unix-compat)
489 ("ghc-vault" ,ghc-vault)
490 ("ghc-aeson" ,ghc-aeson)))
491 (native-inputs
492 `(("hspec-discover" ,hspec-discover)
493 ("ghc-hspec" ,ghc-hspec)
494 ("ghc-hunit" ,ghc-hunit)))
495 (home-page "https://github.com/yesodweb/wai")
496 (synopsis "Some basic WAI handlers and middleware")
497 (description "This library provides basic WAI handlers and middleware
498 functionality.")
499 (license license:expat)))
500
501 (define-public ghc-wai-conduit
502 (package
503 (name "ghc-wai-conduit")
504 (version "3.0.0.4")
505 (source
506 (origin
507 (method url-fetch)
508 (uri (string-append "https://hackage.haskell.org/package/"
509 "wai-conduit-" version "/"
510 "wai-conduit-" version ".tar.gz"))
511 (sha256
512 (base32
513 "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
514 (build-system haskell-build-system)
515 (inputs
516 `(("ghc-conduit" ,ghc-conduit)
517 ("ghc-http-types" ,ghc-http-types)
518 ("ghc-wai" ,ghc-wai)
519 ("ghc-blaze-builder" ,ghc-blaze-builder)))
520 (home-page "https://github.com/yesodweb/wai")
521 (synopsis "Conduit wrappers for Haskell's WAI")
522 (description "This package provides data streaming abstraction for
523 Haskell's Web Application Interface (WAI).")
524 (license license:expat)))
525
526 (define-public ghc-bsb-http-chunked
527 (package
528 (name "ghc-bsb-http-chunked")
529 (version "0.0.0.2")
530 (source
531 (origin
532 (method url-fetch)
533 (uri (string-append
534 "https://hackage.haskell.org/package/"
535 "bsb-http-chunked/bsb-http-chunked-"
536 version ".tar.gz"))
537 (sha256
538 (base32
539 "1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8"))))
540 (build-system haskell-build-system)
541 (inputs
542 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)))
543 (home-page "http://github.com/sjakobi/bsb-http-chunked")
544 (synopsis "Chunked HTTP transfer encoding for bytestring builders")
545 (description "This Haskell library contains functions for encoding
546 bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
547 transfers.")
548 (license license:bsd-3)))
549
550 (define-public ghc-warp
551 (package
552 (name "ghc-warp")
553 (version "3.2.27")
554 (source
555 (origin
556 (method url-fetch)
557 (uri (string-append "https://hackage.haskell.org/package/"
558 "warp-" version "/" "warp-" version
559 ".tar.gz"))
560 (sha256
561 (base32 "0p2w88q0zd55ms20qylipbi0qzbf324i9r8b9qqxyds5yc1anq76"))))
562 (build-system haskell-build-system)
563 (inputs
564 `(("ghc-async" ,ghc-async)
565 ("ghc-auto-update" ,ghc-auto-update)
566 ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
567 ("ghc-case-insensitive" ,ghc-case-insensitive)
568 ("ghc-hashable" ,ghc-hashable)
569 ("ghc-http-types" ,ghc-http-types)
570 ("ghc-iproute" ,ghc-iproute)
571 ("ghc-network" ,ghc-network)
572 ("ghc-stm" ,ghc-stm)
573 ("ghc-streaming-commons" ,ghc-streaming-commons)
574 ("ghc-text" ,ghc-text)
575 ("ghc-unix-compat" ,ghc-unix-compat)
576 ("ghc-vault" ,ghc-vault)
577 ("ghc-wai" ,ghc-wai)
578 ("ghc-word8" ,ghc-word8)
579 ("ghc-http-date" ,ghc-http-date)
580 ("ghc-simple-sendfile" ,ghc-simple-sendfile)
581 ("ghc-http2" ,ghc-http2)))
582 (native-inputs
583 `(("curl" ,curl)
584 ("ghc-silently" ,ghc-silently)
585 ("ghc-hspec" ,ghc-hspec)
586 ("ghc-doctest" ,ghc-doctest)
587 ("ghc-lifted-base" ,ghc-lifted-base)
588 ("ghc-quickcheck" ,ghc-quickcheck)
589 ("ghc-hunit" ,ghc-hunit)
590 ("ghc-http-client" ,ghc-http-client)
591 ("hspec-discover" ,hspec-discover)))
592 (home-page "http://github.com/yesodweb/wai")
593 (synopsis "HTTP server library for Haskell's WAI")
594 (description "Warp is a server library for HTTP/1.x and HTTP/2
595 based WAI (Web Application Interface in Haskell).")
596 (license license:expat)))
597
598 (define-public ghc-tls-session-manager
599 (package
600 (name "ghc-tls-session-manager")
601 (version "0.0.0.2")
602 (source
603 (origin
604 (method url-fetch)
605 (uri (string-append
606 "https://hackage.haskell.org/package/"
607 "tls-session-manager/tls-session-manager-"
608 version ".tar.gz"))
609 (sha256
610 (base32
611 "0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"))))
612 (build-system haskell-build-system)
613 (inputs
614 `(("ghc-auto-update" ,ghc-auto-update)
615 ("ghc-clock" ,ghc-clock)
616 ("ghc-psqueues" ,ghc-psqueues)
617 ("ghc-tls" ,ghc-tls)))
618 (home-page "http://hackage.haskell.org/package/tls-session-manager")
619 (synopsis "In-memory TLS session manager")
620 (description "This Haskell library provides a TLS session manager with
621 limitation, automatic pruning, energy saving and replay resistance.")
622 (license license:bsd-3)))
623
624 (define-public ghc-warp-tls
625 (package
626 (name "ghc-warp-tls")
627 (version "3.2.4.3")
628 (source
629 (origin
630 (method url-fetch)
631 (uri (string-append "https://hackage.haskell.org/package/"
632 "warp-tls-" version "/"
633 "warp-tls-" version ".tar.gz"))
634 (sha256
635 (base32
636 "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
637 (build-system haskell-build-system)
638 (inputs
639 `(("ghc-cryptonite" ,ghc-cryptonite)
640 ("ghc-data-default-class" ,ghc-data-default-class)
641 ("ghc-network" ,ghc-network)
642 ("ghc-streaming-commons" ,ghc-streaming-commons)
643 ("ghc-tls" ,ghc-tls)
644 ("ghc-tls-session-manager" ,ghc-tls-session-manager)
645 ("ghc-wai" ,ghc-wai)
646 ("ghc-warp" ,ghc-warp)))
647 (home-page "http://github.com/yesodweb/wai")
648 (synopsis "SSL/TLS support for Warp")
649 (description "This package provides SSL/TLS support for Warp,
650 a WAI handler, via the native Haskell TLS implementation.")
651 (license license:expat)))
652
653 (define-public ghc-xss-sanitize
654 (package
655 (name "ghc-xss-sanitize")
656 (version "0.3.6")
657 (source
658 (origin
659 (method url-fetch)
660 (uri (string-append
661 "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
662 version ".tar.gz"))
663 (sha256
664 (base32
665 "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
666 (build-system haskell-build-system)
667 (inputs
668 `(("ghc-tagsoup" ,ghc-tagsoup)
669 ("ghc-utf8-string" ,ghc-utf8-string)
670 ("ghc-css-text" ,ghc-css-text)
671 ("ghc-network-uri" ,ghc-network-uri)))
672 (native-inputs
673 `(("ghc-text" ,ghc-text)
674 ("ghc-attoparsec" ,ghc-attoparsec)
675 ("ghc-hspec" ,ghc-hspec)
676 ("ghc-hunit" ,ghc-hunit)))
677 (home-page "https://github.com/yesodweb/haskell-xss-sanitize")
678 (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
679 (description "This library provides @code{sanitizeXSS}. Run untrusted
680 HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
681 attacks.")
682 (license license:bsd-3)))
683
684 (define-public ghc-css-text
685 (package
686 (name "ghc-css-text")
687 (version "0.1.3.0")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append
692 "https://hackage.haskell.org/package/css-text/css-text-"
693 version
694 ".tar.gz"))
695 (sha256
696 (base32
697 "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
698 (build-system haskell-build-system)
699 (inputs
700 `(("ghc-text" ,ghc-text)
701 ("ghc-attoparsec" ,ghc-attoparsec)
702 ("ghc-hspec" ,ghc-hspec)
703 ("ghc-quickcheck" ,ghc-quickcheck)))
704 (home-page "http://www.yesodweb.com/")
705 (synopsis "CSS parser and renderer")
706 (description "This package provides a CSS parser and renderer for
707 Haskell.")
708 (license license:bsd-3)))
709
710 (define-public ghc-mime-types
711 (package
712 (name "ghc-mime-types")
713 (version "0.1.0.8")
714 (source (origin
715 (method url-fetch)
716 (uri (string-append "https://hackage.haskell.org/package/"
717 "mime-types/mime-types-"
718 version ".tar.gz"))
719 (sha256
720 (base32
721 "14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
722 (build-system haskell-build-system)
723 (inputs
724 `(("ghc-text" ,ghc-text)))
725 (home-page "https://github.com/yesodweb/wai")
726 (synopsis "Basic MIME type handling types and functions")
727 (description
728 "This library provides basic MIME type handling types and functions.")
729 (license license:expat)))
730
731 (define-public ghc-html
732 (package
733 (name "ghc-html")
734 (version "1.0.1.2")
735 (source
736 (origin
737 (method url-fetch)
738 (uri (string-append
739 "https://hackage.haskell.org/package/html/html-"
740 version
741 ".tar.gz"))
742 (sha256
743 (base32
744 "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
745 (build-system haskell-build-system)
746 (home-page
747 "https://hackage.haskell.org/package/html")
748 (synopsis "HTML combinator library")
749 (description
750 "This package contains a combinator library for constructing HTML
751 documents.")
752 (license license:bsd-3)))
753
754 (define-public ghc-xhtml
755 (package
756 (name "ghc-xhtml")
757 (version "3000.2.2.1")
758 (source
759 (origin
760 (method url-fetch)
761 (uri (string-append
762 "https://hackage.haskell.org/package/xhtml/xhtml-"
763 version
764 ".tar.gz"))
765 (sha256
766 (base32
767 "0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w"))))
768 (build-system haskell-build-system)
769 (home-page "https://github.com/haskell/xhtml")
770 (synopsis "XHTML combinator library")
771 (description
772 "This package provides combinators for producing XHTML 1.0, including the
773 Strict, Transitional and Frameset variants.")
774 (license license:bsd-3)))
775
776 (define-public ghc-blaze-html
777 (package
778 (name "ghc-blaze-html")
779 (version "0.9.1.1")
780 (source
781 (origin
782 (method url-fetch)
783 (uri (string-append "https://hackage.haskell.org/package/"
784 "blaze-html/blaze-html-"
785 version ".tar.gz"))
786 (sha256
787 (base32
788 "06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa"))))
789 (build-system haskell-build-system)
790 (inputs
791 `(("ghc-blaze-builder" ,ghc-blaze-builder)
792 ("ghc-text" ,ghc-text)
793 ("ghc-blaze-markup" ,ghc-blaze-markup)))
794 (native-inputs
795 `(("ghc-hunit" ,ghc-hunit)
796 ("ghc-quickcheck" ,ghc-quickcheck)
797 ("ghc-test-framework" ,ghc-test-framework)
798 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
799 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
800 (home-page "http://jaspervdj.be/blaze")
801 (synopsis "Fast HTML combinator library")
802 (description "This library provides HTML combinators for Haskell.")
803 (license license:bsd-3)))
804
805 (define-public ghc-aeson
806 (package
807 (name "ghc-aeson")
808 (version "1.3.1.1")
809 (source
810 (origin
811 (method url-fetch)
812 (uri (string-append
813 "https://hackage.haskell.org/package/aeson/aeson-"
814 version
815 ".tar.gz"))
816 (sha256
817 (base32
818 "1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4"))))
819 (build-system haskell-build-system)
820 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
821 (inputs
822 `(("ghc-attoparsec" ,ghc-attoparsec)
823 ("ghc-base-compat" ,ghc-base-compat)
824 ("ghc-dlist" ,ghc-dlist)
825 ("ghc-hashable" ,ghc-hashable)
826 ("ghc-scientific" ,ghc-scientific)
827 ("ghc-tagged" ,ghc-tagged)
828 ("ghc-text" ,ghc-text)
829 ("ghc-th-abstraction" ,ghc-th-abstraction)
830 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
831 ("ghc-unordered-containers" ,ghc-unordered-containers)
832 ("ghc-uuid-types" ,ghc-uuid-types)
833 ("ghc-vector" ,ghc-vector)
834 ("ghc-hunit" ,ghc-hunit)
835 ("ghc-quickcheck" ,ghc-quickcheck)
836 ("ghc-integer-logarithms" ,ghc-integer-logarithms)
837 ("ghc-base-orphans" ,ghc-base-orphans)
838 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
839 ("ghc-generic-deriving" ,ghc-generic-deriving)
840 ("ghc-test-framework" ,ghc-test-framework)
841 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
842 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
843 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
844 ("ghc-hashable-time" ,ghc-hashable-time)))
845 (home-page "https://github.com/bos/aeson")
846 (synopsis "Fast JSON parsing and encoding")
847 (description "This package provides a JSON parsing and encoding library
848 for Haskell, optimized for ease of use and high performance. (A note on
849 naming: in Greek mythology, Aeson was the father of Jason.)")
850 (license license:bsd-3)))
851
852 (define-public ghc-aeson-pretty
853 (package
854 (name "ghc-aeson-pretty")
855 (version "0.8.7")
856 (source (origin
857 (method url-fetch)
858 (uri (string-append
859 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
860 version ".tar.gz"))
861 (sha256
862 (base32
863 "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1"))))
864 (build-system haskell-build-system)
865 (inputs
866 `(("ghc-aeson" ,ghc-aeson)
867 ("ghc-base-compat" ,ghc-base-compat)
868 ("ghc-scientific" ,ghc-scientific)
869 ("ghc-vector" ,ghc-vector)
870 ("ghc-text" ,ghc-text)
871 ("ghc-unordered-containers" ,ghc-unordered-containers)
872 ("ghc-attoparsec" ,ghc-attoparsec)
873 ("ghc-cmdargs" ,ghc-cmdargs)))
874 (home-page "https://github.com/informatikr/aeson-pretty")
875 (synopsis "JSON pretty-printing library and command-line tool")
876 (description
877 "This package provides a JSON pretty-printing library compatible with aeson
878 as well as a command-line tool to improve readability of streams of JSON data.
879 The library provides the function @code{encodePretty}. It is a drop-in
880 replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
881 human readers. The command-line tool reads JSON from stdin and writes
882 prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
883 essentially the opposite of pretty-printing.")
884 (license license:bsd-3)))
885
886 (define-public ghc-aeson-qq
887 (package
888 (name "ghc-aeson-qq")
889 (version "0.8.2")
890 (source (origin
891 (method url-fetch)
892 (uri (string-append "https://hackage.haskell.org/package/"
893 "aeson-qq/aeson-qq-" version ".tar.gz"))
894 (sha256
895 (base32
896 "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
897 (build-system haskell-build-system)
898 (inputs
899 `(("ghc-base-compat" ,ghc-base-compat)
900 ("ghc-text" ,ghc-text)
901 ("ghc-attoparsec" ,ghc-attoparsec)
902 ("ghc-scientific" ,ghc-scientific)
903 ("ghc-vector" ,ghc-vector)
904 ("ghc-aeson" ,ghc-aeson)
905 ("ghc-parsec" ,ghc-parsec)
906 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
907 (native-inputs
908 `(("ghc-hspec" ,ghc-hspec)
909 ("hspec-discover" ,hspec-discover)))
910 (home-page "https://github.com/zalora/aeson-qq")
911 (synopsis "JSON quasiquoter for Haskell")
912 (description
913 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
914 the function @code{aesonQQ} that compile-time converts a string representation
915 of a JSON value into a @code{Data.Aeson.Value}.")
916 (license license:expat)))
917
918 (define-public ghc-multipart
919 (package
920 (name "ghc-multipart")
921 (version "0.1.3")
922 (source
923 (origin
924 (method url-fetch)
925 (uri (string-append
926 "https://hackage.haskell.org/package/multipart/multipart-"
927 version
928 ".tar.gz"))
929 (sha256
930 (base32
931 "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
932 (build-system haskell-build-system)
933 (inputs
934 `(("ghc-parsec" ,ghc-parsec)
935 ("ghc-stringsearch" ,ghc-stringsearch)))
936 (home-page
937 "http://www.github.com/silkapp/multipart")
938 (synopsis
939 "HTTP multipart library")
940 (description
941 "HTTP multipart split out of the cgi package, for Haskell.")
942 (license license:bsd-3)))
943
944 (define-public ghc-uri-encode
945 (package
946 (name "ghc-uri-encode")
947 (version "1.5.0.5")
948 (source
949 (origin
950 (method url-fetch)
951 (uri (string-append
952 "https://hackage.haskell.org/package/uri-encode/uri-encode-"
953 version ".tar.gz"))
954 (sha256
955 (base32
956 "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
957 (build-system haskell-build-system)
958 (inputs
959 `(("ghc-text" ,ghc-text)
960 ("ghc-utf8-string" ,ghc-utf8-string)
961 ("ghc-network-uri" ,ghc-network-uri)))
962 (home-page "https://hackage.haskell.org/package/uri-encode")
963 (synopsis "Unicode aware uri-encoding")
964 (description "Unicode aware uri-encoding for Haskell.")
965 (license license:bsd-3)))
966
967 (define-public ghc-path-pieces
968 (package
969 (name "ghc-path-pieces")
970 (version "0.2.1")
971 (source
972 (origin
973 (method url-fetch)
974 (uri (string-append "https://hackage.haskell.org/package/"
975 "path-pieces-" version "/"
976 "path-pieces-" version ".tar.gz"))
977 (sha256
978 (base32
979 "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
980 (build-system haskell-build-system)
981 (inputs `(("ghc-text" ,ghc-text)))
982 (native-inputs `(("ghc-hunit" ,ghc-hunit)
983 ("ghc-hspec" ,ghc-hspec)
984 ("ghc-quickcheck" ,ghc-quickcheck)))
985 (home-page "https://github.com/yesodweb/path-pieces")
986 (synopsis "Used in Yesod to automatically marshall data in the request path")
987 (description "This Haskell package provides two typeclasses for converting
988 Haskell data types to and from route pieces.")
989 (license license:bsd-3)))
990
991 (define-public ghc-skein
992 (package
993 (name "ghc-skein")
994 (version "1.0.9.4")
995 (source
996 (origin
997 (method url-fetch)
998 (uri (string-append "https://hackage.haskell.org/package/"
999 "skein-" version "/"
1000 "skein-" version ".tar.gz"))
1001 (sha256
1002 (base32
1003 "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
1004 (build-system haskell-build-system)
1005 (inputs `(("ghc-cereal" ,ghc-cereal)
1006 ("ghc-tagged" ,ghc-tagged)
1007 ("ghc-crpto-api" ,ghc-crypto-api)))
1008 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
1009 (home-page "https://github.com/yesodweb/path-pieces")
1010 (synopsis "Skein family of cryptographic hash functions for Haskell")
1011 (description "@uref{(http://www.skein-hash.info, Skein} is a family of
1012 fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
1013 Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
1014 Callas and Jesse Walker.
1015
1016 This Haskell package uses bindings to the optimized C implementation of Skein.")
1017 (license license:bsd-3)))
1018
1019 (define-public ghc-clientsession
1020 (package
1021 (name "ghc-clientsession")
1022 (version "0.9.1.2")
1023 (source
1024 (origin
1025 (method url-fetch)
1026 (uri (string-append "https://hackage.haskell.org/package/"
1027 "clientsession-" version "/"
1028 "clientsession-" version ".tar.gz"))
1029 (sha256
1030 (base32
1031 "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
1032 (build-system haskell-build-system)
1033 (inputs `(("ghc-cereal" ,ghc-cereal)
1034 ("ghc-tagged" ,ghc-tagged)
1035 ("ghc-crypto-api" ,ghc-crypto-api)
1036 ("ghc-skein" ,ghc-skein)
1037 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1038 ("ghc-entropy" ,ghc-entropy)
1039 ("ghc-cprng-aes" ,ghc-cprng-aes)
1040 ("ghc-cipher-aes" ,ghc-cipher-aes)
1041 ("ghc-crypto-random" ,ghc-crypto-random)
1042 ("ghc-setenv" ,ghc-setenv)))
1043 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1044 ("ghc-hspec" ,ghc-hspec)
1045 ("ghc-quickcheck" ,ghc-quickcheck)))
1046 (home-page "https://github.com/yesodweb/clientsession/tree/master")
1047 (synopsis "Haskell library for securely store session data in a
1048 client-side cookie")
1049 (description "This Haskell package achieves security through AES-CTR
1050 encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
1051 avoid any issues with characters.")
1052 (license license:expat)))
1053
1054 (define-public ghc-yesod-core
1055 (package
1056 (name "ghc-yesod-core")
1057 (version "1.6.6")
1058 (source
1059 (origin
1060 (method url-fetch)
1061 (uri (string-append "https://hackage.haskell.org/package/"
1062 "yesod-core-" version "/"
1063 "yesod-core-" version ".tar.gz"))
1064 (sha256
1065 (base32
1066 "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
1067 (build-system haskell-build-system)
1068 (inputs `(("ghc-wai" ,ghc-wai)
1069 ("ghc-extra" ,ghc-extra)
1070 ("ghc-text" ,ghc-text)
1071 ("ghc-shakespeare" ,ghc-shakespeare)
1072 ("ghc-blaze-builder" ,ghc-blaze-builder)
1073 ("ghc-clientsession" ,ghc-clientsession)
1074 ("ghc-random" ,ghc-random)
1075 ("ghc-cereal" ,ghc-cereal)
1076 ("ghc-old-locale" ,ghc-old-locale)
1077 ("ghc-unliftio" ,ghc-unliftio)
1078 ("ghc-unordered-containers" ,ghc-unordered-containers)
1079 ("ghc-monad-control" ,ghc-monad-control)
1080 ("ghc-transformers-base" ,ghc-transformers-base)
1081 ("ghc-cookie" ,ghc-cookie)
1082 ("ghc-http-types" ,ghc-http-types)
1083 ("ghc-case-insensitive" ,ghc-case-insensitive)
1084 ("ghc-parsec" ,ghc-parsec)
1085 ("ghc-vector" ,ghc-vector)
1086 ("ghc-aeson" ,ghc-aeson)
1087 ("ghc-fast-logger" ,ghc-fast-logger)
1088 ("ghc-wai-logger" ,ghc-wai-logger)
1089 ("ghc-monad-logger" ,ghc-monad-logger)
1090 ("ghc-conduit" ,ghc-conduit)
1091 ("ghc-resourcet" ,ghc-resourcet)
1092 ("ghc-rio" ,ghc-rio)
1093 ("ghc-lifted-base" ,ghc-lifted-base)
1094 ("ghc-blaze-html" ,ghc-blaze-html)
1095 ("ghc-blaze-markup" ,ghc-blaze-markup)
1096 ("ghc-data-default" ,ghc-data-default)
1097 ("ghc-safe" ,ghc-safe)
1098 ("ghc-warp" ,ghc-warp)
1099 ("ghc-unix-compat" ,ghc-unix-compat)
1100 ("ghc-conduit-extra" ,ghc-conduit-extra)
1101 ("ghc-exceptions" ,ghc-exceptions)
1102 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1103 ("ghc-mwc-random" ,ghc-mwc-random)
1104 ("ghc-primitive" ,ghc-primitive)
1105 ("ghc-word8" ,ghc-word8)
1106 ("ghc-auto-update" ,ghc-auto-update)
1107 ("ghc-semigroups" ,ghc-semigroups)
1108 ("ghc-byteable" ,ghc-byteable)))
1109 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1110 ("ghc-path-pieces" ,ghc-path-pieces)
1111 ("ghc-hunit" ,ghc-hunit)
1112 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
1113 ("ghc-quickcheck" ,ghc-quickcheck)
1114 ("ghc-network" ,ghc-network)
1115 ("ghc-async" ,ghc-async)
1116 ("ghc-streaming-commons" ,ghc-streaming-commons)
1117 ("ghc-wai-extra" ,ghc-wai-extra)))
1118 (home-page "https://www.yesodweb.com")
1119 (synopsis "Core package for the Yesod web framework")
1120 (description "This Haskell package provides all core functionality, for
1121 Yesod, on which other packages can be built. It provides dispatch, handler
1122 functions, widgets, etc.")
1123 (license license:expat)))
1124
1125 (define-public ghc-yesod-persistent
1126 (package
1127 (name "ghc-yesod-persistent")
1128 (version "1.6.0")
1129 (source
1130 (origin
1131 (method url-fetch)
1132 (uri (string-append "https://hackage.haskell.org/package/"
1133 "yesod-persistent-" version "/"
1134 "yesod-persistent-" version ".tar.gz"))
1135 (sha256
1136 (base32
1137 "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
1138 (build-system haskell-build-system)
1139 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
1140 (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
1141 ("ghc-persistent" ,ghc-persistent)
1142 ("ghc-persistent-template" ,ghc-persistent-template)
1143 ("ghc-blaze-builder" ,ghc-blaze-builder)
1144 ("ghc-conduit" ,ghc-conduit)
1145 ("ghc-resourcet" ,ghc-resourcet)
1146 ("ghc-resource-pool" ,ghc-resource-pool)))
1147 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1148 ("ghc-wai-extra" ,ghc-wai-extra)
1149 ("ghc-yesod-core" ,ghc-yesod-core)
1150 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
1151 ("ghc-text" ,ghc-text)))
1152 (home-page "http://www.yesodweb.com/")
1153 (synopsis "Helpers for using Persistent from Yesod")
1154 (description "This Haskell package provides helpers for using Persistent
1155 from Yesod.")
1156 (license license:expat)))
1157
1158 (define-public ghc-yesod-form
1159 (package
1160 (name "ghc-yesod-form")
1161 (version "1.6.2")
1162 (source
1163 (origin
1164 (method url-fetch)
1165 (uri (string-append
1166 "https://hackage.haskell.org/package/yesod-form/yesod-form-"
1167 version
1168 ".tar.gz"))
1169 (sha256
1170 (base32
1171 "1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
1172 (build-system haskell-build-system)
1173 (inputs
1174 `(("ghc-yesod-core" ,ghc-yesod-core)
1175 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1176 ("ghc-shakespeare" ,ghc-shakespeare)
1177 ("ghc-persistent" ,ghc-persistent)
1178 ("ghc-data-default" ,ghc-data-default)
1179 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1180 ("ghc-blaze-builder" ,ghc-blaze-builder)
1181 ("ghc-email-validate" ,ghc-email-validate)
1182 ("ghc-text" ,ghc-text)
1183 ("ghc-wai" ,ghc-wai)
1184 ("ghc-blaze-html" ,ghc-blaze-html)
1185 ("ghc-blaze-markup" ,ghc-blaze-markup)
1186 ("ghc-attoparsec" ,ghc-attoparsec)
1187 ("ghc-byteable" ,ghc-byteable)
1188 ("ghc-aeson" ,ghc-aeson)
1189 ("ghc-resourcet" ,ghc-resourcet)
1190 ("ghc-semigroups" ,ghc-semigroups)
1191 ("ghc-network-uri" ,ghc-network-uri)
1192 ("ghc-hspec" ,ghc-hspec)))
1193 (home-page "https://www.yesodweb.com")
1194 (synopsis "Form handling support for Yesod Web Framework")
1195 (description "This Haskell package provies a set of basic form inputs such
1196 as text, number, time, checkbox, select, textarea, etc through the
1197 @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
1198 providing richtext field using Nic editor. ")
1199 (license license:expat)))
1200
1201 (define-public ghc-yesod
1202 (package
1203 (name "ghc-yesod")
1204 (version "1.6.0")
1205 (source
1206 (origin
1207 (method url-fetch)
1208 (uri (string-append
1209 "https://hackage.haskell.org/package/yesod/yesod-"
1210 version ".tar.gz"))
1211 (sha256
1212 (base32
1213 "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
1214 (build-system haskell-build-system)
1215 (inputs
1216 `(("ghc-yesod-core" ,ghc-yesod-core)
1217 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1218 ("ghc-yesod-form" ,ghc-yesod-form)
1219 ("ghc-monad-control" ,ghc-monad-control)
1220 ("ghc-wai" ,ghc-wai)
1221 ("ghc-wai-extra" ,ghc-wai-extra)
1222 ("ghc-warp" ,ghc-warp)
1223 ("ghc-blaze-html" ,ghc-blaze-html)
1224 ("ghc-blaze-markup" ,ghc-blaze-markup)
1225 ("ghc-aeson" ,ghc-aeson)
1226 ("ghc-data-default-class" ,ghc-data-default-class)
1227 ("ghc-unordered-containers" ,ghc-unordered-containers)
1228 ("ghc-yaml" ,ghc-yaml)
1229 ("ghc-text" ,ghc-text)
1230 ("ghc-monad-logger" ,ghc-monad-logger)
1231 ("ghc-fast-logger" ,ghc-fast-logger)
1232 ("ghc-conduit" ,ghc-conduit)
1233 ("ghc-conduit-extra" ,ghc-conduit-extra)
1234 ("ghc-resourcet" ,ghc-resourcet)
1235 ("ghc-shakespeare" ,ghc-shakespeare)
1236 ("ghc-streaming-commons" ,ghc-streaming-commons)
1237 ("ghc-wai-logger" ,ghc-wai-logger)
1238 ("ghc-semigroups" ,ghc-semigroups)))
1239 (home-page "https://www.yesodweb.com")
1240 (synopsis "Framework for creating type-safe, RESTful web applications")
1241 (description "The Haskell package package groups together the various
1242 Yesod related packages into one cohesive whole. This is the version of Yesod,
1243 whereas most of the core code lives in @code{ghc-yesod-core}.")
1244 (license license:expat)))
1245
1246 (define-public ghc-hxt-charproperties
1247 (package
1248 (name "ghc-hxt-charproperties")
1249 (version "9.2.0.1")
1250 (source
1251 (origin
1252 (method url-fetch)
1253 (uri (string-append "https://hackage.haskell.org/package/"
1254 "hxt-charproperties/hxt-charproperties-"
1255 version ".tar.gz"))
1256 (sha256
1257 (base32
1258 "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
1259 (build-system haskell-build-system)
1260 (home-page "https://github.com/UweSchmidt/hxt")
1261 (synopsis "Character properties and classes for XML and Unicode")
1262 (description
1263 "The modules provided by this package contain predicates for Unicode
1264 blocks and char properties and character predicates defined by XML. The
1265 supported Unicode version is 7.0.0")
1266 (license license:expat)))
1267
1268 (define-public ghc-hxt-unicode
1269 (package
1270 (name "ghc-hxt-unicode")
1271 (version "9.0.2.4")
1272 (source
1273 (origin
1274 (method url-fetch)
1275 (uri (string-append
1276 "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
1277 version
1278 ".tar.gz"))
1279 (sha256
1280 (base32
1281 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
1282 (build-system haskell-build-system)
1283 (inputs
1284 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
1285 (home-page
1286 "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
1287 (synopsis
1288 "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
1289 (description
1290 "This package provides Unicode encoding and decoding functions for
1291 encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
1292 are supported. Decoding is done with lazy functions, errors may be detected or
1293 ignored.")
1294 (license license:expat)))
1295
1296 (define-public ghc-hxt-regex-xmlschema
1297 (package
1298 (name "ghc-hxt-regex-xmlschema")
1299 (version "9.2.0.3")
1300 (source
1301 (origin
1302 (method url-fetch)
1303 (uri (string-append "https://hackage.haskell.org/package/"
1304 "hxt-regex-xmlschema/hxt-regex-xmlschema-"
1305 version ".tar.gz"))
1306 (sha256
1307 (base32
1308 "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
1309 (build-system haskell-build-system)
1310 (inputs
1311 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
1312 ("ghc-parsec" ,ghc-parsec)
1313 ("ghc-text" ,ghc-text)
1314 ("ghc-hunit" ,ghc-hunit)))
1315 (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
1316 (synopsis "Regular expression library for W3C XML Schema regular expressions")
1317 (description
1318 "This library supports full W3C XML Schema regular expressions inclusive
1319 all Unicode character sets and blocks. It is implemented by the technique of
1320 derivations of regular expressions.")
1321 (license license:expat)))
1322
1323 (define-public ghc-hxt
1324 (package
1325 (name "ghc-hxt")
1326 (version "9.3.1.16")
1327 (source
1328 (origin
1329 (method url-fetch)
1330 (uri (string-append
1331 "https://hackage.haskell.org/package/hxt/hxt-"
1332 version
1333 ".tar.gz"))
1334 (sha256
1335 (base32
1336 "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
1337 (build-system haskell-build-system)
1338 (inputs
1339 `(("ghc-parsec" ,ghc-parsec)
1340 ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
1341 ("ghc-hxt-unicode" ,ghc-hxt-unicode)
1342 ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
1343 ("ghc-network-uri" ,ghc-network-uri)))
1344 (home-page "https://github.com/UweSchmidt/hxt")
1345 (synopsis "Collection of tools for processing XML with Haskell")
1346 (description
1347 "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
1348 introduces a more general approach for processing XML with Haskell.")
1349 (license license:expat)))