gnu: ghc-tls: Move to haskell-crypto.scm.
[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 ;;;
9 ;;; This file is part of GNU Guix.
10 ;;;
11 ;;; GNU Guix is free software; you can redistribute it and/or modify it
12 ;;; under the terms of the GNU General Public License as published by
13 ;;; the Free Software Foundation; either version 3 of the License, or (at
14 ;;; your option) any later version.
15 ;;;
16 ;;; GNU Guix is distributed in the hope that it will be useful, but
17 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;;; GNU General Public License for more details.
20 ;;;
21 ;;; You should have received a copy of the GNU General Public License
22 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24 (define-module (gnu packages haskell-web)
25 #:use-module (gnu packages)
26 #:use-module (gnu packages curl)
27 #:use-module (gnu packages haskell)
28 #:use-module (gnu packages haskell-check)
29 #:use-module (gnu packages haskell-crypto)
30 #:use-module (guix build-system haskell)
31 #:use-module (guix download)
32 #:use-module ((guix licenses) #:prefix license:)
33 #:use-module (guix packages)
34 #:use-module (guix utils))
35
36 (define-public ghc-tagsoup
37 (package
38 (name "ghc-tagsoup")
39 (version "0.14.6")
40 (source
41 (origin
42 (method url-fetch)
43 (uri (string-append "https://hackage.haskell.org/package/tagsoup/"
44 "tagsoup-" version ".tar.gz"))
45 (sha256
46 (base32
47 "1yv3dbyb0i1yqm796jgc4jj5kxkla1sxb3b2klw5ks182kdx8kjb"))))
48 (build-system haskell-build-system)
49 (inputs `(("ghc-text" ,ghc-text)))
50 (native-inputs
51 `(("ghc-quickcheck" ,ghc-quickcheck)))
52 (home-page "http://community.haskell.org/~ndm/tagsoup/")
53 (synopsis
54 "Parsing and extracting information from (possibly malformed) HTML/XML
55 documents")
56 (description
57 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
58 specification, and can be used to parse either well-formed XML, or
59 unstructured and malformed HTML from the web. The library also provides
60 useful functions to extract information from an HTML document, making it ideal
61 for screen-scraping.")
62 (license license:bsd-3)))
63
64 (define-public ghc-cookie
65 (package
66 (name "ghc-cookie")
67 (version "0.4.4")
68 (source
69 (origin
70 (method url-fetch)
71 (uri (string-append
72 "https://hackage.haskell.org/package/cookie/cookie-"
73 version
74 ".tar.gz"))
75 (sha256
76 (base32
77 "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
78 (build-system haskell-build-system)
79 (inputs
80 `(("ghc-old-locale" ,ghc-old-locale)
81 ("ghc-blaze-builder" ,ghc-blaze-builder)
82 ("ghc-text" ,ghc-text)
83 ("ghc-data-default-class" ,ghc-data-default-class)
84 ("ghc-hunit" ,ghc-hunit)
85 ("ghc-quickcheck" ,ghc-quickcheck)
86 ("ghc-tasty" ,ghc-tasty)
87 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
88 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
89 (home-page "https://github.com/snoyberg/cookie")
90 (synopsis "HTTP cookie parsing and rendering")
91 (description "HTTP cookie parsing and rendering library for Haskell.")
92 (license license:bsd-3)))
93
94 (define-public ghc-httpd-shed
95 (package
96 (name "ghc-httpd-shed")
97 (version "0.4.0.3")
98 (source
99 (origin
100 (method url-fetch)
101 (uri (string-append "https://hackage.haskell.org/package/httpd-shed/"
102 "httpd-shed-" version ".tar.gz"))
103 (sha256
104 (base32
105 "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh"))))
106 (build-system haskell-build-system)
107 (inputs
108 `(("ghc-network-uri" ,ghc-network-uri)
109 ("ghc-network" ,ghc-network)))
110 (home-page "https://hackage.haskell.org/package/httpd-shed")
111 (synopsis "Simple web-server with an interact style API")
112 (description
113 "This web server promotes a function from @code{Request} to @code{IO
114 Response} into a local web server. The user can decide how to interpret the
115 requests, and the library is intended for implementing Ajax APIs.")
116 (license license:bsd-3)))
117
118 (define-public ghc-http-types
119 (package
120 (name "ghc-http-types")
121 (version "0.12.1")
122 (source
123 (origin
124 (method url-fetch)
125 (uri (string-append "https://hackage.haskell.org/package/http-types/"
126 "http-types-" version ".tar.gz"))
127 (sha256
128 (base32
129 "1wv9k6nlvkdsxwlr7gaynphvzmvi5211gvwq96mbcxgk51a739rz"))))
130 (build-system haskell-build-system)
131 (native-inputs
132 `(("ghc-doctest" ,ghc-doctest)
133 ("ghc-hspec" ,ghc-hspec)
134 ("ghc-quickcheck" ,ghc-quickcheck)
135 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
136 ("hspec-discover" ,hspec-discover)))
137 (inputs
138 `(("ghc-case-insensitive" ,ghc-case-insensitive)
139 ("ghc-blaze-builder" ,ghc-blaze-builder)
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.23")
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
562 "12v9qhi4hyp0sb90yddsax16jj7x47nmqwn53sv7b5nszcxgzam0"))))
563 (build-system haskell-build-system)
564 (inputs
565 `(("ghc-async" ,ghc-async)
566 ("ghc-auto-update" ,ghc-auto-update)
567 ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
568 ("ghc-case-insensitive" ,ghc-case-insensitive)
569 ("ghc-hashable" ,ghc-hashable)
570 ("ghc-http-types" ,ghc-http-types)
571 ("ghc-iproute" ,ghc-iproute)
572 ("ghc-network" ,ghc-network)
573 ("ghc-stm" ,ghc-stm)
574 ("ghc-streaming-commons" ,ghc-streaming-commons)
575 ("ghc-text" ,ghc-text)
576 ("ghc-unix-compat" ,ghc-unix-compat)
577 ("ghc-vault" ,ghc-vault)
578 ("ghc-wai" ,ghc-wai)
579 ("ghc-word8" ,ghc-word8)
580 ("ghc-http-date" ,ghc-http-date)
581 ("ghc-simple-sendfile" ,ghc-simple-sendfile)
582 ("ghc-http2" ,ghc-http2)))
583 (native-inputs
584 `(("curl" ,curl)
585 ("ghc-silently" ,ghc-silently)
586 ("ghc-hspec" ,ghc-hspec)
587 ("ghc-doctest" ,ghc-doctest)
588 ("ghc-lifted-base" ,ghc-lifted-base)
589 ("ghc-quickcheck" ,ghc-quickcheck)
590 ("ghc-hunit" ,ghc-hunit)
591 ("ghc-http-client" ,ghc-http-client)
592 ("hspec-discover" ,hspec-discover)))
593 (home-page "http://github.com/yesodweb/wai")
594 (synopsis "HTTP server library for Haskell's WAI")
595 (description "Warp is a server library for HTTP/1.x and HTTP/2
596 based WAI (Web Application Interface in Haskell).")
597 (license license:expat)))
598
599 (define-public ghc-tls-session-manager
600 (package
601 (name "ghc-tls-session-manager")
602 (version "0.0.0.2")
603 (source
604 (origin
605 (method url-fetch)
606 (uri (string-append
607 "https://hackage.haskell.org/package/"
608 "tls-session-manager/tls-session-manager-"
609 version ".tar.gz"))
610 (sha256
611 (base32
612 "0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"))))
613 (build-system haskell-build-system)
614 (inputs
615 `(("ghc-auto-update" ,ghc-auto-update)
616 ("ghc-clock" ,ghc-clock)
617 ("ghc-psqueues" ,ghc-psqueues)
618 ("ghc-tls" ,ghc-tls)))
619 (home-page "http://hackage.haskell.org/package/tls-session-manager")
620 (synopsis "In-memory TLS session manager")
621 (description "This Haskell library provides a TLS session manager with
622 limitation, automatic pruning, energy saving and replay resistance.")
623 (license license:bsd-3)))
624
625 (define-public ghc-warp-tls
626 (package
627 (name "ghc-warp-tls")
628 (version "3.2.4.3")
629 (source
630 (origin
631 (method url-fetch)
632 (uri (string-append "https://hackage.haskell.org/package/"
633 "warp-tls-" version "/"
634 "warp-tls-" version ".tar.gz"))
635 (sha256
636 (base32
637 "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
638 (build-system haskell-build-system)
639 (inputs
640 `(("ghc-cryptonite" ,ghc-cryptonite)
641 ("ghc-data-default-class" ,ghc-data-default-class)
642 ("ghc-network" ,ghc-network)
643 ("ghc-streaming-commons" ,ghc-streaming-commons)
644 ("ghc-tls" ,ghc-tls)
645 ("ghc-tls-session-manager" ,ghc-tls-session-manager)
646 ("ghc-wai" ,ghc-wai)
647 ("ghc-warp" ,ghc-warp)))
648 (home-page "http://github.com/yesodweb/wai")
649 (synopsis "SSL/TLS support for Warp")
650 (description "This package provides SSL/TLS support for Warp,
651 a WAI handler, via the native Haskell TLS implementation.")
652 (license license:expat)))
653
654 (define-public ghc-xss-sanitize
655 (package
656 (name "ghc-xss-sanitize")
657 (version "0.3.6")
658 (source
659 (origin
660 (method url-fetch)
661 (uri (string-append
662 "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
663 version ".tar.gz"))
664 (sha256
665 (base32
666 "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
667 (build-system haskell-build-system)
668 (inputs
669 `(("ghc-tagsoup" ,ghc-tagsoup)
670 ("ghc-utf8-string" ,ghc-utf8-string)
671 ("ghc-css-text" ,ghc-css-text)
672 ("ghc-network-uri" ,ghc-network-uri)))
673 (native-inputs
674 `(("ghc-text" ,ghc-text)
675 ("ghc-attoparsec" ,ghc-attoparsec)
676 ("ghc-hspec" ,ghc-hspec)
677 ("ghc-hunit" ,ghc-hunit)))
678 (home-page "https://github.com/yesodweb/haskell-xss-sanitize")
679 (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
680 (description "This library provides @code{sanitizeXSS}. Run untrusted
681 HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
682 attacks.")
683 (license license:bsd-3)))
684
685 (define-public ghc-css-text
686 (package
687 (name "ghc-css-text")
688 (version "0.1.3.0")
689 (source
690 (origin
691 (method url-fetch)
692 (uri (string-append
693 "https://hackage.haskell.org/package/css-text/css-text-"
694 version
695 ".tar.gz"))
696 (sha256
697 (base32
698 "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
699 (build-system haskell-build-system)
700 (inputs
701 `(("ghc-text" ,ghc-text)
702 ("ghc-attoparsec" ,ghc-attoparsec)
703 ("ghc-hspec" ,ghc-hspec)
704 ("ghc-quickcheck" ,ghc-quickcheck)))
705 (home-page "http://www.yesodweb.com/")
706 (synopsis "CSS parser and renderer")
707 (description "This package provides a CSS parser and renderer for
708 Haskell.")
709 (license license:bsd-3)))
710
711 (define-public ghc-mime-types
712 (package
713 (name "ghc-mime-types")
714 (version "0.1.0.8")
715 (source (origin
716 (method url-fetch)
717 (uri (string-append "https://hackage.haskell.org/package/"
718 "mime-types/mime-types-"
719 version ".tar.gz"))
720 (sha256
721 (base32
722 "14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
723 (build-system haskell-build-system)
724 (inputs
725 `(("ghc-text" ,ghc-text)))
726 (home-page "https://github.com/yesodweb/wai")
727 (synopsis "Basic MIME type handling types and functions")
728 (description
729 "This library provides basic MIME type handling types and functions.")
730 (license license:expat)))
731
732 (define-public ghc-html
733 (package
734 (name "ghc-html")
735 (version "1.0.1.2")
736 (source
737 (origin
738 (method url-fetch)
739 (uri (string-append
740 "https://hackage.haskell.org/package/html/html-"
741 version
742 ".tar.gz"))
743 (sha256
744 (base32
745 "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
746 (build-system haskell-build-system)
747 (home-page
748 "https://hackage.haskell.org/package/html")
749 (synopsis "HTML combinator library")
750 (description
751 "This package contains a combinator library for constructing HTML
752 documents.")
753 (license license:bsd-3)))
754
755 (define-public ghc-xhtml
756 (package
757 (name "ghc-xhtml")
758 (version "3000.2.2.1")
759 (source
760 (origin
761 (method url-fetch)
762 (uri (string-append
763 "https://hackage.haskell.org/package/xhtml/xhtml-"
764 version
765 ".tar.gz"))
766 (sha256
767 (base32
768 "0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w"))))
769 (build-system haskell-build-system)
770 (home-page "https://github.com/haskell/xhtml")
771 (synopsis "XHTML combinator library")
772 (description
773 "This package provides combinators for producing XHTML 1.0, including the
774 Strict, Transitional and Frameset variants.")
775 (license license:bsd-3)))
776
777 (define-public ghc-blaze-html
778 (package
779 (name "ghc-blaze-html")
780 (version "0.9.1.1")
781 (source
782 (origin
783 (method url-fetch)
784 (uri (string-append "https://hackage.haskell.org/package/"
785 "blaze-html/blaze-html-"
786 version ".tar.gz"))
787 (sha256
788 (base32
789 "06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa"))))
790 (build-system haskell-build-system)
791 (inputs
792 `(("ghc-blaze-builder" ,ghc-blaze-builder)
793 ("ghc-text" ,ghc-text)
794 ("ghc-blaze-markup" ,ghc-blaze-markup)))
795 (native-inputs
796 `(("ghc-hunit" ,ghc-hunit)
797 ("ghc-quickcheck" ,ghc-quickcheck)
798 ("ghc-test-framework" ,ghc-test-framework)
799 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
800 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
801 (home-page "http://jaspervdj.be/blaze")
802 (synopsis "Fast HTML combinator library")
803 (description "This library provides HTML combinators for Haskell.")
804 (license license:bsd-3)))
805
806 (define-public ghc-aeson
807 (package
808 (name "ghc-aeson")
809 (version "1.3.1.1")
810 (source
811 (origin
812 (method url-fetch)
813 (uri (string-append
814 "https://hackage.haskell.org/package/aeson/aeson-"
815 version
816 ".tar.gz"))
817 (sha256
818 (base32
819 "1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4"))))
820 (build-system haskell-build-system)
821 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
822 (inputs
823 `(("ghc-attoparsec" ,ghc-attoparsec)
824 ("ghc-base-compat" ,ghc-base-compat)
825 ("ghc-dlist" ,ghc-dlist)
826 ("ghc-hashable" ,ghc-hashable)
827 ("ghc-scientific" ,ghc-scientific)
828 ("ghc-tagged" ,ghc-tagged)
829 ("ghc-text" ,ghc-text)
830 ("ghc-th-abstraction" ,ghc-th-abstraction)
831 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
832 ("ghc-unordered-containers" ,ghc-unordered-containers)
833 ("ghc-uuid-types" ,ghc-uuid-types)
834 ("ghc-vector" ,ghc-vector)
835 ("ghc-hunit" ,ghc-hunit)
836 ("ghc-quickcheck" ,ghc-quickcheck)
837 ("ghc-integer-logarithms" ,ghc-integer-logarithms)
838 ("ghc-base-orphans" ,ghc-base-orphans)
839 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
840 ("ghc-generic-deriving" ,ghc-generic-deriving)
841 ("ghc-test-framework" ,ghc-test-framework)
842 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
843 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
844 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
845 ("ghc-hashable-time" ,ghc-hashable-time)))
846 (home-page "https://github.com/bos/aeson")
847 (synopsis "Fast JSON parsing and encoding")
848 (description "This package provides a JSON parsing and encoding library
849 for Haskell, optimized for ease of use and high performance. (A note on
850 naming: in Greek mythology, Aeson was the father of Jason.)")
851 (license license:bsd-3)))
852
853 (define-public ghc-aeson-pretty
854 (package
855 (name "ghc-aeson-pretty")
856 (version "0.8.7")
857 (source (origin
858 (method url-fetch)
859 (uri (string-append
860 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
861 version ".tar.gz"))
862 (sha256
863 (base32
864 "1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1"))))
865 (build-system haskell-build-system)
866 (inputs
867 `(("ghc-aeson" ,ghc-aeson)
868 ("ghc-base-compat" ,ghc-base-compat)
869 ("ghc-scientific" ,ghc-scientific)
870 ("ghc-vector" ,ghc-vector)
871 ("ghc-text" ,ghc-text)
872 ("ghc-unordered-containers" ,ghc-unordered-containers)
873 ("ghc-attoparsec" ,ghc-attoparsec)
874 ("ghc-cmdargs" ,ghc-cmdargs)))
875 (home-page "https://github.com/informatikr/aeson-pretty")
876 (synopsis "JSON pretty-printing library and command-line tool")
877 (description
878 "This package provides a JSON pretty-printing library compatible with aeson
879 as well as a command-line tool to improve readabilty of streams of JSON data.
880 The library provides the function @code{encodePretty}. It is a drop-in
881 replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
882 human readers. The command-line tool reads JSON from stdin and writes
883 prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
884 essentially the opposite of pretty-printing.")
885 (license license:bsd-3)))
886
887 (define-public ghc-aeson-qq
888 (package
889 (name "ghc-aeson-qq")
890 (version "0.8.2")
891 (source (origin
892 (method url-fetch)
893 (uri (string-append "https://hackage.haskell.org/package/"
894 "aeson-qq/aeson-qq-" version ".tar.gz"))
895 (sha256
896 (base32
897 "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
898 (build-system haskell-build-system)
899 (inputs
900 `(("ghc-base-compat" ,ghc-base-compat)
901 ("ghc-text" ,ghc-text)
902 ("ghc-attoparsec" ,ghc-attoparsec)
903 ("ghc-scientific" ,ghc-scientific)
904 ("ghc-vector" ,ghc-vector)
905 ("ghc-aeson" ,ghc-aeson)
906 ("ghc-parsec" ,ghc-parsec)
907 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
908 (native-inputs
909 `(("ghc-hspec" ,ghc-hspec)
910 ("hspec-discover" ,hspec-discover)))
911 (home-page "https://github.com/zalora/aeson-qq")
912 (synopsis "JSON quasiquoter for Haskell")
913 (description
914 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
915 the function @code{aesonQQ} that compile-time converts a string representation
916 of a JSON value into a @code{Data.Aeson.Value}.")
917 (license license:expat)))
918
919 (define-public ghc-multipart
920 (package
921 (name "ghc-multipart")
922 (version "0.1.3")
923 (source
924 (origin
925 (method url-fetch)
926 (uri (string-append
927 "https://hackage.haskell.org/package/multipart/multipart-"
928 version
929 ".tar.gz"))
930 (sha256
931 (base32
932 "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
933 (build-system haskell-build-system)
934 (inputs
935 `(("ghc-parsec" ,ghc-parsec)
936 ("ghc-stringsearch" ,ghc-stringsearch)))
937 (home-page
938 "http://www.github.com/silkapp/multipart")
939 (synopsis
940 "HTTP multipart library")
941 (description
942 "HTTP multipart split out of the cgi package, for Haskell.")
943 (license license:bsd-3)))
944
945 (define-public ghc-uri-encode
946 (package
947 (name "ghc-uri-encode")
948 (version "1.5.0.5")
949 (source
950 (origin
951 (method url-fetch)
952 (uri (string-append
953 "https://hackage.haskell.org/package/uri-encode/uri-encode-"
954 version ".tar.gz"))
955 (sha256
956 (base32
957 "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
958 (build-system haskell-build-system)
959 (inputs
960 `(("ghc-text" ,ghc-text)
961 ("ghc-utf8-string" ,ghc-utf8-string)
962 ("ghc-network-uri" ,ghc-network-uri)))
963 (home-page "https://hackage.haskell.org/package/uri-encode")
964 (synopsis "Unicode aware uri-encoding")
965 (description "Unicode aware uri-encoding for Haskell.")
966 (license license:bsd-3)))
967
968 (define-public ghc-path-pieces
969 (package
970 (name "ghc-path-pieces")
971 (version "0.2.1")
972 (source
973 (origin
974 (method url-fetch)
975 (uri (string-append "https://hackage.haskell.org/package/"
976 "path-pieces-" version "/"
977 "path-pieces-" version ".tar.gz"))
978 (sha256
979 (base32
980 "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
981 (build-system haskell-build-system)
982 (inputs `(("ghc-text" ,ghc-text)))
983 (native-inputs `(("ghc-hunit" ,ghc-hunit)
984 ("ghc-hspec" ,ghc-hspec)
985 ("ghc-quickcheck" ,ghc-quickcheck)))
986 (home-page "https://github.com/yesodweb/path-pieces")
987 (synopsis "Used in Yesod to automatically marshall data in the request path")
988 (description "This Haskell package provides two typeclasses for converting
989 Haskell data types to and from route pieces.")
990 (license license:bsd-3)))
991
992 (define-public ghc-skein
993 (package
994 (name "ghc-skein")
995 (version "1.0.9.4")
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append "https://hackage.haskell.org/package/"
1000 "skein-" version "/"
1001 "skein-" version ".tar.gz"))
1002 (sha256
1003 (base32
1004 "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
1005 (build-system haskell-build-system)
1006 (inputs `(("ghc-cereal" ,ghc-cereal)
1007 ("ghc-tagged" ,ghc-tagged)
1008 ("ghc-crpto-api" ,ghc-crypto-api)))
1009 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
1010 (home-page "https://github.com/yesodweb/path-pieces")
1011 (synopsis "Skein family of cryptographic hash functions for Haskell")
1012 (description "@uref{(http://www.skein-hash.info, Skein} is a family of
1013 fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
1014 Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
1015 Callas and Jesse Walker.
1016
1017 This Haskell package uses bindings to the optimized C implementation of Skein.")
1018 (license license:bsd-3)))
1019
1020 (define-public ghc-clientsession
1021 (package
1022 (name "ghc-clientsession")
1023 (version "0.9.1.2")
1024 (source
1025 (origin
1026 (method url-fetch)
1027 (uri (string-append "https://hackage.haskell.org/package/"
1028 "clientsession-" version "/"
1029 "clientsession-" version ".tar.gz"))
1030 (sha256
1031 (base32
1032 "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
1033 (build-system haskell-build-system)
1034 (inputs `(("ghc-cereal" ,ghc-cereal)
1035 ("ghc-tagged" ,ghc-tagged)
1036 ("ghc-crypto-api" ,ghc-crypto-api)
1037 ("ghc-skein" ,ghc-skein)
1038 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1039 ("ghc-entropy" ,ghc-entropy)
1040 ("ghc-cprng-aes" ,ghc-cprng-aes)
1041 ("ghc-cipher-aes" ,ghc-cipher-aes)
1042 ("ghc-crypto-random" ,ghc-crypto-random)
1043 ("ghc-setenv" ,ghc-setenv)))
1044 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1045 ("ghc-hspec" ,ghc-hspec)
1046 ("ghc-quickcheck" ,ghc-quickcheck)))
1047 (home-page "https://github.com/yesodweb/clientsession/tree/master")
1048 (synopsis "Haskell library for securely store session data in a
1049 client-side cookie")
1050 (description "This Haskell package achieves security through AES-CTR
1051 encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
1052 avoid any issues with characters.")
1053 (license license:expat)))
1054
1055 (define-public ghc-yesod-core
1056 (package
1057 (name "ghc-yesod-core")
1058 (version "1.6.6")
1059 (source
1060 (origin
1061 (method url-fetch)
1062 (uri (string-append "https://hackage.haskell.org/package/"
1063 "yesod-core-" version "/"
1064 "yesod-core-" version ".tar.gz"))
1065 (sha256
1066 (base32
1067 "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
1068 (build-system haskell-build-system)
1069 (inputs `(("ghc-wai" ,ghc-wai)
1070 ("ghc-extra" ,ghc-extra)
1071 ("ghc-text" ,ghc-text)
1072 ("ghc-shakespeare" ,ghc-shakespeare)
1073 ("ghc-blaze-builder" ,ghc-blaze-builder)
1074 ("ghc-clientsession" ,ghc-clientsession)
1075 ("ghc-random" ,ghc-random)
1076 ("ghc-cereal" ,ghc-cereal)
1077 ("ghc-old-locale" ,ghc-old-locale)
1078 ("ghc-unliftio" ,ghc-unliftio)
1079 ("ghc-unordered-containers" ,ghc-unordered-containers)
1080 ("ghc-monad-control" ,ghc-monad-control)
1081 ("ghc-transformers-base" ,ghc-transformers-base)
1082 ("ghc-cookie" ,ghc-cookie)
1083 ("ghc-http-types" ,ghc-http-types)
1084 ("ghc-case-insensitive" ,ghc-case-insensitive)
1085 ("ghc-parsec" ,ghc-parsec)
1086 ("ghc-vector" ,ghc-vector)
1087 ("ghc-aeson" ,ghc-aeson)
1088 ("ghc-fast-logger" ,ghc-fast-logger)
1089 ("ghc-wai-logger" ,ghc-wai-logger)
1090 ("ghc-monad-logger" ,ghc-monad-logger)
1091 ("ghc-conduit" ,ghc-conduit)
1092 ("ghc-resourcet" ,ghc-resourcet)
1093 ("ghc-rio" ,ghc-rio)
1094 ("ghc-lifted-base" ,ghc-lifted-base)
1095 ("ghc-blaze-html" ,ghc-blaze-html)
1096 ("ghc-blaze-markup" ,ghc-blaze-markup)
1097 ("ghc-data-default" ,ghc-data-default)
1098 ("ghc-safe" ,ghc-safe)
1099 ("ghc-warp" ,ghc-warp)
1100 ("ghc-unix-compat" ,ghc-unix-compat)
1101 ("ghc-conduit-extra" ,ghc-conduit-extra)
1102 ("ghc-exceptions" ,ghc-exceptions)
1103 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1104 ("ghc-mwc-random" ,ghc-mwc-random)
1105 ("ghc-primitive" ,ghc-primitive)
1106 ("ghc-word8" ,ghc-word8)
1107 ("ghc-auto-update" ,ghc-auto-update)
1108 ("ghc-semigroups" ,ghc-semigroups)
1109 ("ghc-byteable" ,ghc-byteable)))
1110 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1111 ("ghc-path-pieces" ,ghc-path-pieces)
1112 ("ghc-hunit" ,ghc-hunit)
1113 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
1114 ("ghc-quickcheck" ,ghc-quickcheck)
1115 ("ghc-network" ,ghc-network)
1116 ("ghc-async" ,ghc-async)
1117 ("ghc-streaming-commons" ,ghc-streaming-commons)
1118 ("ghc-wai-extra" ,ghc-wai-extra)))
1119 (home-page "https://www.yesodweb.com")
1120 (synopsis "Core package for the Yesod web framework")
1121 (description "This Haskell package provides all core functionality, for
1122 Yesod, on which other packages can be built. It provides dispatch, handler
1123 functions, widgets, etc.")
1124 (license license:expat)))
1125
1126 (define-public ghc-yesod-persistent
1127 (package
1128 (name "ghc-yesod-persistent")
1129 (version "1.6.0")
1130 (source
1131 (origin
1132 (method url-fetch)
1133 (uri (string-append "https://hackage.haskell.org/package/"
1134 "yesod-persistent-" version "/"
1135 "yesod-persistent-" version ".tar.gz"))
1136 (sha256
1137 (base32
1138 "1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
1139 (build-system haskell-build-system)
1140 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
1141 (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
1142 ("ghc-persistent" ,ghc-persistent)
1143 ("ghc-persistent-template" ,ghc-persistent-template)
1144 ("ghc-blaze-builder" ,ghc-blaze-builder)
1145 ("ghc-conduit" ,ghc-conduit)
1146 ("ghc-resourcet" ,ghc-resourcet)
1147 ("ghc-resource-pool" ,ghc-resource-pool)))
1148 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1149 ("ghc-wai-extra" ,ghc-wai-extra)
1150 ("ghc-yesod-core" ,ghc-yesod-core)
1151 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
1152 ("ghc-text" ,ghc-text)))
1153 (home-page "http://www.yesodweb.com/")
1154 (synopsis "Helpers for using Persistent from Yesod")
1155 (description "This Haskell package provides helpers for using Persistent
1156 from Yesod.")
1157 (license license:expat)))
1158
1159 (define-public ghc-yesod-form
1160 (package
1161 (name "ghc-yesod-form")
1162 (version "1.6.2")
1163 (source
1164 (origin
1165 (method url-fetch)
1166 (uri (string-append
1167 "https://hackage.haskell.org/package/yesod-form/yesod-form-"
1168 version
1169 ".tar.gz"))
1170 (sha256
1171 (base32
1172 "1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
1173 (build-system haskell-build-system)
1174 (inputs
1175 `(("ghc-yesod-core" ,ghc-yesod-core)
1176 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1177 ("ghc-shakespeare" ,ghc-shakespeare)
1178 ("ghc-persistent" ,ghc-persistent)
1179 ("ghc-data-default" ,ghc-data-default)
1180 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1181 ("ghc-blaze-builder" ,ghc-blaze-builder)
1182 ("ghc-email-validate" ,ghc-email-validate)
1183 ("ghc-text" ,ghc-text)
1184 ("ghc-wai" ,ghc-wai)
1185 ("ghc-blaze-html" ,ghc-blaze-html)
1186 ("ghc-blaze-markup" ,ghc-blaze-markup)
1187 ("ghc-attoparsec" ,ghc-attoparsec)
1188 ("ghc-byteable" ,ghc-byteable)
1189 ("ghc-aeson" ,ghc-aeson)
1190 ("ghc-resourcet" ,ghc-resourcet)
1191 ("ghc-semigroups" ,ghc-semigroups)
1192 ("ghc-network-uri" ,ghc-network-uri)
1193 ("ghc-hspec" ,ghc-hspec)))
1194 (home-page "https://www.yesodweb.com")
1195 (synopsis "Form handling support for Yesod Web Framework")
1196 (description "This Haskell package provies a set of basic form inputs such
1197 as text, number, time, checkbox, select, textarea, etc through the
1198 @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
1199 providing richtext field using Nic editor. ")
1200 (license license:expat)))
1201
1202 (define-public ghc-yesod
1203 (package
1204 (name "ghc-yesod")
1205 (version "1.6.0")
1206 (source
1207 (origin
1208 (method url-fetch)
1209 (uri (string-append
1210 "https://hackage.haskell.org/package/yesod/yesod-"
1211 version ".tar.gz"))
1212 (sha256
1213 (base32
1214 "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
1215 (build-system haskell-build-system)
1216 (inputs
1217 `(("ghc-yesod-core" ,ghc-yesod-core)
1218 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1219 ("ghc-yesod-form" ,ghc-yesod-form)
1220 ("ghc-monad-control" ,ghc-monad-control)
1221 ("ghc-wai" ,ghc-wai)
1222 ("ghc-wai-extra" ,ghc-wai-extra)
1223 ("ghc-warp" ,ghc-warp)
1224 ("ghc-blaze-html" ,ghc-blaze-html)
1225 ("ghc-blaze-markup" ,ghc-blaze-markup)
1226 ("ghc-aeson" ,ghc-aeson)
1227 ("ghc-data-default-class" ,ghc-data-default-class)
1228 ("ghc-unordered-containers" ,ghc-unordered-containers)
1229 ("ghc-yaml" ,ghc-yaml)
1230 ("ghc-text" ,ghc-text)
1231 ("ghc-monad-logger" ,ghc-monad-logger)
1232 ("ghc-fast-logger" ,ghc-fast-logger)
1233 ("ghc-conduit" ,ghc-conduit)
1234 ("ghc-conduit-extra" ,ghc-conduit-extra)
1235 ("ghc-resourcet" ,ghc-resourcet)
1236 ("ghc-shakespeare" ,ghc-shakespeare)
1237 ("ghc-streaming-commons" ,ghc-streaming-commons)
1238 ("ghc-wai-logger" ,ghc-wai-logger)
1239 ("ghc-semigroups" ,ghc-semigroups)))
1240 (home-page "https://www.yesodweb.com")
1241 (synopsis "Framework for creating type-safe, RESTful web applications")
1242 (description "The Haskell package package groups together the various
1243 Yesod related packages into one cohesive whole. This is the version of Yesod,
1244 whereas most of the core code lives in @code{ghc-yesod-core}.")
1245 (license license:expat)))
1246
1247 (define-public ghc-hxt-charproperties
1248 (package
1249 (name "ghc-hxt-charproperties")
1250 (version "9.2.0.1")
1251 (source
1252 (origin
1253 (method url-fetch)
1254 (uri (string-append "https://hackage.haskell.org/package/"
1255 "hxt-charproperties/hxt-charproperties-"
1256 version ".tar.gz"))
1257 (sha256
1258 (base32
1259 "1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
1260 (build-system haskell-build-system)
1261 (home-page "https://github.com/UweSchmidt/hxt")
1262 (synopsis "Character properties and classes for XML and Unicode")
1263 (description
1264 "The modules provided by this package contain predicates for Unicode
1265 blocks and char properties and character predicates defined by XML. The
1266 supported Unicode version is 7.0.0")
1267 (license license:expat)))
1268
1269 (define-public ghc-hxt-unicode
1270 (package
1271 (name "ghc-hxt-unicode")
1272 (version "9.0.2.4")
1273 (source
1274 (origin
1275 (method url-fetch)
1276 (uri (string-append
1277 "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
1278 version
1279 ".tar.gz"))
1280 (sha256
1281 (base32
1282 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
1283 (build-system haskell-build-system)
1284 (inputs
1285 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
1286 (home-page
1287 "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
1288 (synopsis
1289 "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
1290 (description
1291 "This package provides Unicode encoding and decoding functions for
1292 encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
1293 are supported. Decoding is done with lazy functions, errors may be detected or
1294 ignored.")
1295 (license license:expat)))
1296
1297 (define-public ghc-hxt-regex-xmlschema
1298 (package
1299 (name "ghc-hxt-regex-xmlschema")
1300 (version "9.2.0.3")
1301 (source
1302 (origin
1303 (method url-fetch)
1304 (uri (string-append "https://hackage.haskell.org/package/"
1305 "hxt-regex-xmlschema/hxt-regex-xmlschema-"
1306 version ".tar.gz"))
1307 (sha256
1308 (base32
1309 "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
1310 (build-system haskell-build-system)
1311 (inputs
1312 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
1313 ("ghc-parsec" ,ghc-parsec)
1314 ("ghc-text" ,ghc-text)
1315 ("ghc-hunit" ,ghc-hunit)))
1316 (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
1317 (synopsis "Regular expression library for W3C XML Schema regular expressions")
1318 (description
1319 "This library supports full W3C XML Schema regular expressions inclusive
1320 all Unicode character sets and blocks. It is implemented by the technique of
1321 derivations of regular expressions.")
1322 (license license:expat)))
1323
1324 (define-public ghc-hxt
1325 (package
1326 (name "ghc-hxt")
1327 (version "9.3.1.16")
1328 (source
1329 (origin
1330 (method url-fetch)
1331 (uri (string-append
1332 "https://hackage.haskell.org/package/hxt/hxt-"
1333 version
1334 ".tar.gz"))
1335 (sha256
1336 (base32
1337 "1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
1338 (build-system haskell-build-system)
1339 (inputs
1340 `(("ghc-parsec" ,ghc-parsec)
1341 ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
1342 ("ghc-hxt-unicode" ,ghc-hxt-unicode)
1343 ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
1344 ("ghc-network-uri" ,ghc-network-uri)))
1345 (home-page "https://github.com/UweSchmidt/hxt")
1346 (synopsis "Collection of tools for processing XML with Haskell")
1347 (description
1348 "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
1349 introduces a more general approach for processing XML with Haskell.")
1350 (license license:expat)))