gnu: ghc-aeson: Add "doc" output.
[jackhill/guix/guix.git] / gnu / packages / haskell-web.scm
CommitLineData
44b7374a
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
aea505a9 3;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
44b7374a
RW
4;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
5;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
6;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
1a1cf03f 7;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
4c7ffc2a 8;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
621c0773 9;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
a1c04f35 10;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
b1342a82 11;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
44b7374a
RW
12;;;
13;;; This file is part of GNU Guix.
14;;;
15;;; GNU Guix is free software; you can redistribute it and/or modify it
16;;; under the terms of the GNU General Public License as published by
17;;; the Free Software Foundation; either version 3 of the License, or (at
18;;; your option) any later version.
19;;;
20;;; GNU Guix is distributed in the hope that it will be useful, but
21;;; WITHOUT ANY WARRANTY; without even the implied warranty of
22;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23;;; GNU General Public License for more details.
24;;;
25;;; You should have received a copy of the GNU General Public License
26;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
27
28(define-module (gnu packages haskell-web)
29 #:use-module (gnu packages)
47334ea0 30 #:use-module (gnu packages curl)
44b7374a
RW
31 #:use-module (gnu packages haskell)
32 #:use-module (gnu packages haskell-check)
f24eba89 33 #:use-module (gnu packages haskell-crypto)
4ccd679f 34 #:use-module (gnu packages haskell-xyz)
44b7374a
RW
35 #:use-module (guix build-system haskell)
36 #:use-module (guix download)
37 #:use-module ((guix licenses) #:prefix license:)
38 #:use-module (guix packages)
39 #:use-module (guix utils))
40
41(define-public ghc-tagsoup
42 (package
43 (name "ghc-tagsoup")
6eeee6ea 44 (version "0.14.8")
44b7374a
RW
45 (source
46 (origin
47 (method url-fetch)
545de2a2
RW
48 (uri (string-append "https://hackage.haskell.org/package/tagsoup/"
49 "tagsoup-" version ".tar.gz"))
44b7374a
RW
50 (sha256
51 (base32
6eeee6ea 52 "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms"))))
44b7374a 53 (build-system haskell-build-system)
d3c398cf
RW
54 (native-inputs
55 `(("ghc-quickcheck" ,ghc-quickcheck)))
9137e66b 56 (home-page "https://github.com/ndmitchell/tagsoup")
44b7374a
RW
57 (synopsis
58 "Parsing and extracting information from (possibly malformed) HTML/XML
59documents")
60 (description
61 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
62specification, and can be used to parse either well-formed XML, or
63unstructured and malformed HTML from the web. The library also provides
64useful functions to extract information from an HTML document, making it ideal
65for screen-scraping.")
66 (license license:bsd-3)))
67
68(define-public ghc-cookie
69 (package
70 (name "ghc-cookie")
083c9c73 71 (version "0.4.4")
44b7374a
RW
72 (source
73 (origin
74 (method url-fetch)
75 (uri (string-append
76 "https://hackage.haskell.org/package/cookie/cookie-"
77 version
78 ".tar.gz"))
79 (sha256
80 (base32
083c9c73 81 "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
44b7374a
RW
82 (build-system haskell-build-system)
83 (inputs
84 `(("ghc-old-locale" ,ghc-old-locale)
85 ("ghc-blaze-builder" ,ghc-blaze-builder)
44b7374a
RW
86 ("ghc-data-default-class" ,ghc-data-default-class)
87 ("ghc-hunit" ,ghc-hunit)
88 ("ghc-quickcheck" ,ghc-quickcheck)
89 ("ghc-tasty" ,ghc-tasty)
90 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
91 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
92 (home-page "https://github.com/snoyberg/cookie")
93 (synopsis "HTTP cookie parsing and rendering")
94 (description "HTTP cookie parsing and rendering library for Haskell.")
95 (license license:bsd-3)))
96
b1342a82
MB
97(define-public ghc-curl
98 (package
99 (name "ghc-curl")
100 (version "1.3.8")
101 (source (origin
102 (method url-fetch)
103 (uri (string-append "mirror://hackage/package/curl/curl-"
104 version ".tar.gz"))
105 (sha256
106 (base32
107 "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh"))))
108 (build-system haskell-build-system)
109 (inputs
110 `(("curl" ,curl)))
111 (home-page "https://hackage.haskell.org/package/curl")
112 (synopsis "Haskell bindings for libcurl")
113 (description
114 "@code{libcurl} is a versatile client-side URL transfer library.
115This package provides a Haskell binding to libcurl.")
116 (license license:bsd-3)))
117
57f25c7d
RW
118(define-public ghc-httpd-shed
119 (package
120 (name "ghc-httpd-shed")
858bf39f 121 (version "0.4.1.1")
57f25c7d
RW
122 (source
123 (origin
124 (method url-fetch)
125 (uri (string-append "https://hackage.haskell.org/package/httpd-shed/"
126 "httpd-shed-" version ".tar.gz"))
127 (sha256
128 (base32
858bf39f 129 "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr"))))
57f25c7d
RW
130 (build-system haskell-build-system)
131 (inputs
858bf39f
TS
132 `(("ghc-network-bsd" ,ghc-network-bsd)
133 ("ghc-network-uri" ,ghc-network-uri)
57f25c7d
RW
134 ("ghc-network" ,ghc-network)))
135 (home-page "https://hackage.haskell.org/package/httpd-shed")
136 (synopsis "Simple web-server with an interact style API")
137 (description
138 "This web server promotes a function from @code{Request} to @code{IO
139Response} into a local web server. The user can decide how to interpret the
140requests, and the library is intended for implementing Ajax APIs.")
141 (license license:bsd-3)))
142
44b7374a
RW
143(define-public ghc-http-types
144 (package
145 (name "ghc-http-types")
4c7ffc2a 146 (version "0.12.3")
44b7374a
RW
147 (source
148 (origin
149 (method url-fetch)
7da274a8
RW
150 (uri (string-append "https://hackage.haskell.org/package/http-types/"
151 "http-types-" version ".tar.gz"))
44b7374a
RW
152 (sha256
153 (base32
4c7ffc2a 154 "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf"))))
44b7374a 155 (build-system haskell-build-system)
d4846779
TGR
156 (native-inputs
157 `(("ghc-doctest" ,ghc-doctest)
158 ("ghc-hspec" ,ghc-hspec)
159 ("ghc-quickcheck" ,ghc-quickcheck)
160 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
161 ("hspec-discover" ,hspec-discover)))
44b7374a 162 (inputs
a1eb8be8 163 `(("ghc-case-insensitive" ,ghc-case-insensitive)))
44b7374a
RW
164 (home-page "https://github.com/aristidb/http-types")
165 (synopsis "Generic HTTP types for Haskell")
166 (description "This package provides generic HTTP types for Haskell (for
167both client and server code).")
168 (license license:bsd-3)))
169
170(define-public ghc-http
171 (package
172 (name "ghc-http")
13e889a7 173 (version "4000.3.14")
534d6caa 174 (outputs '("out" "static" "doc"))
44b7374a
RW
175 (source
176 (origin
177 (method url-fetch)
4aa46e40
RW
178 (uri (string-append "https://hackage.haskell.org/package/HTTP/"
179 "HTTP-" version ".tar.gz"))
44b7374a
RW
180 (sha256
181 (base32
13e889a7 182 "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"))))
44b7374a
RW
183 (build-system haskell-build-system)
184 (native-inputs
4aa46e40
RW
185 `(("ghc-httpd-shed" ,ghc-httpd-shed)
186 ("ghc-hunit" ,ghc-hunit)
187 ("ghc-test-framework" ,ghc-test-framework)
188 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
44b7374a 189 (inputs
4aa46e40
RW
190 `(("ghc-case-insensitive" ,ghc-case-insensitive)
191 ("ghc-conduit" ,ghc-conduit)
192 ("ghc-conduit-extra" ,ghc-conduit-extra)
193 ("ghc-http-types" ,ghc-http-types)
194 ("ghc-old-time" ,ghc-old-time)
4aa46e40 195 ("ghc-puremd5" ,ghc-puremd5)
44b7374a 196 ("ghc-network" ,ghc-network)
4aa46e40
RW
197 ("ghc-network-uri" ,ghc-network-uri)
198 ("ghc-split" ,ghc-split)))
44b7374a 199 (arguments
4aa46e40 200 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
44b7374a
RW
201 (home-page "https://github.com/haskell/HTTP")
202 (synopsis "Library for client-side HTTP")
203 (description
204 "The HTTP package supports client-side web programming in Haskell. It
205lets you set up HTTP connections, transmitting requests and processing the
206responses coming back.")
207 (license license:bsd-3)))
208
209(define-public ghc-http-client
210 (package
211 (name "ghc-http-client")
a6a79897 212 (version "0.6.4")
44b7374a
RW
213 (source (origin
214 (method url-fetch)
215 (uri (string-append "https://hackage.haskell.org/package/"
216 "http-client/http-client-"
217 version ".tar.gz"))
218 (sha256
219 (base32
a6a79897 220 "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"))))
44b7374a
RW
221 (build-system haskell-build-system)
222 ;; Tests require access to the web.
223 (arguments `(#:tests? #f))
224 (inputs
6c7a3279
RW
225 `(("ghc-async" ,ghc-async)
226 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
44b7374a 227 ("ghc-blaze-builder" ,ghc-blaze-builder)
44b7374a 228 ("ghc-case-insensitive" ,ghc-case-insensitive)
44b7374a 229 ("ghc-cookie" ,ghc-cookie)
6c7a3279 230 ("ghc-data-default-class" ,ghc-data-default-class)
44b7374a 231 ("ghc-exceptions" ,ghc-exceptions)
6c7a3279
RW
232 ("ghc-http-types" ,ghc-http-types)
233 ("ghc-memory" ,ghc-memory)
44b7374a 234 ("ghc-mime-types" ,ghc-mime-types)
44b7374a 235 ("ghc-monad-control" ,ghc-monad-control)
6c7a3279
RW
236 ("ghc-network" ,ghc-network)
237 ("ghc-network-uri" ,ghc-network-uri)
238 ("ghc-random" ,ghc-random)
239 ("ghc-streaming-commons" ,ghc-streaming-commons)
6c7a3279 240 ("ghc-zlib" ,ghc-zlib)))
44b7374a
RW
241 (native-inputs
242 `(("ghc-hspec" ,ghc-hspec)))
243 (home-page "https://github.com/snoyberg/http-client")
244 (synopsis "HTTP client engine")
245 (description
246 "This package provides an HTTP client engine, intended as a base layer
247for more user-friendly packages.")
248 (license license:expat)))
249
250(define-public ghc-http-client-tls
251 (package
252 (name "ghc-http-client-tls")
89d44801 253 (version "0.3.5.3")
44b7374a
RW
254 (source (origin
255 (method url-fetch)
256 (uri (string-append "https://hackage.haskell.org/package/"
257 "http-client-tls/http-client-tls-"
258 version ".tar.gz"))
259 (sha256
260 (base32
89d44801 261 "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
44b7374a
RW
262 (build-system haskell-build-system)
263 ;; Tests require Internet access
264 (arguments `(#:tests? #f))
265 (inputs
266 `(("ghc-data-default-class" ,ghc-data-default-class)
267 ("ghc-http-client" ,ghc-http-client)
268 ("ghc-connection" ,ghc-connection)
269 ("ghc-network" ,ghc-network)
270 ("ghc-tls" ,ghc-tls)
271 ("ghc-http-types" ,ghc-http-types)))
272 (native-inputs
273 `(("ghc-hspec" ,ghc-hspec)))
274 (home-page "https://github.com/snoyberg/http-client")
275 (synopsis "Backend for http-client using the TLS library")
276 (description
277 "This package provides a backend for the http-client package using the
278connection and TLS libraries. It is intended for use by higher-level
279libraries, such as http-conduit.")
280 (license license:expat)))
281
282(define-public ghc-http-date
283 (package
284 (name "ghc-http-date")
40e1af35 285 (version "0.0.8")
44b7374a
RW
286 (source
287 (origin
288 (method url-fetch)
289 (uri (string-append "https://hackage.haskell.org/package/"
290 "http-date-" version "/"
291 "http-date-" version ".tar.gz"))
292 (sha256
293 (base32
40e1af35 294 "09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
44b7374a
RW
295 (build-system haskell-build-system)
296 (inputs
297 `(("ghc-attoparsec" ,ghc-attoparsec)))
298 (native-inputs
299 `(("ghc-doctest" ,ghc-doctest)
300 ("ghc-hspec" ,ghc-hspec)
301 ("hspec-discover" ,hspec-discover)
302 ("ghc-old-locale" ,ghc-old-locale)))
303 (home-page "https://github.com/kazu-yamamoto/http-date")
304 (synopsis "HTTP Date parser/formatter")
305 (description "Library for Parsing and formatting HTTP
306Date in Haskell.")
307 (license license:bsd-3)))
308
309(define-public ghc-http2
310 (package
311 (name "ghc-http2")
59ea2137 312 (version "1.6.5")
44b7374a
RW
313 (source
314 (origin
315 (method url-fetch)
316 (uri (string-append "https://hackage.haskell.org/package/"
317 "http2-" version "/"
318 "http2-" version ".tar.gz"))
319 (sha256
320 (base32
59ea2137 321 "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn"))))
44b7374a
RW
322 (build-system haskell-build-system)
323 (inputs
59ea2137
TS
324 `(("ghc-case-insensitive" ,ghc-case-insensitive)
325 ("ghc-network-byte-order" ,ghc-network-byte-order)
44b7374a
RW
326 ("ghc-aeson" ,ghc-aeson)
327 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
59ea2137 328 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
44b7374a
RW
329 ("ghc-unordered-containers" ,ghc-unordered-containers)
330 ("ghc-vector" ,ghc-vector)
331 ("ghc-word8" ,ghc-word8)
a1eb8be8
RV
332 ("ghc-psqueues" ,ghc-psqueues)))
333 (native-inputs
334 `(("ghc-glob" ,ghc-glob)
335 ("ghc-hspec" ,ghc-hspec)
336 ("ghc-doctest" ,ghc-doctest)
337 ("hspec-discover" ,hspec-discover)))
44b7374a
RW
338 (home-page "https://github.com/kazu-yamamoto/http2")
339 (synopsis "HTTP/2 library including frames, priority queues and HPACK")
340 (description "This package provides a HTTP/2.0 library including frames
341and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
342 (license license:bsd-3)))
343
344(define-public ghc-http-conduit
345 (package
346 (name "ghc-http-conduit")
891b3fa9 347 (version "2.3.7.3")
44b7374a
RW
348 (source
349 (origin
350 (method url-fetch)
351 (uri (string-append "https://hackage.haskell.org/package/"
352 "http-conduit-" version "/" "http-conduit-"
353 version ".tar.gz"))
828c9ff8
RW
354 (sha256
355 (base32
891b3fa9 356 "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs"))))
44b7374a
RW
357 (build-system haskell-build-system)
358 ;; FIXME: `httpLbs TLS` in test-suite `test` fails with
359 ;; ConnectionFailure getProtocolByName: does not exist (no such protocol
360 ;; name: tcp)
361 (arguments `(#:tests? #f))
362 (inputs
363 `(("ghc-aeson" ,ghc-aeson)
364 ("ghc-resourcet" ,ghc-resourcet)
365 ("ghc-conduit" ,ghc-conduit)
366 ("ghc-conduit-extra" ,ghc-conduit-extra)
367 ("ghc-http-types" ,ghc-http-types)
368 ("ghc-lifted-base" ,ghc-lifted-base)
369 ("ghc-http-client" ,ghc-http-client)
370 ("ghc-http-client-tls" ,ghc-http-client-tls)
371 ("ghc-monad-control" ,ghc-monad-control)
828c9ff8
RW
372 ("ghc-exceptions" ,ghc-exceptions)
373 ("ghc-unliftio" ,ghc-unliftio)))
44b7374a
RW
374 (native-inputs
375 `(("ghc-hunit" ,ghc-hunit)
376 ("ghc-hspec" ,ghc-hspec)
377 ("ghc-data-default-class" ,ghc-data-default-class)
378 ("ghc-connection" ,ghc-connection)
379 ("ghc-warp-tls" ,ghc-warp-tls)
380 ("ghc-blaze-builder" ,ghc-blaze-builder)
44b7374a
RW
381 ("ghc-conduit" ,ghc-conduit)
382 ("ghc-utf8-string" ,ghc-utf8-string)
383 ("ghc-case-insensitive" ,ghc-case-insensitive)
384 ("ghc-lifted-base" ,ghc-lifted-base)
385 ("ghc-network" ,ghc-network)
386 ("ghc-wai" ,ghc-wai)
387 ("ghc-warp" ,ghc-warp)
388 ("ghc-wai-conduit" ,ghc-wai-conduit)
389 ("ghc-http-types" ,ghc-http-types)
44b7374a
RW
390 ("ghc-cookie" ,ghc-cookie)
391 ("ghc-conduit-extra" ,ghc-conduit-extra)
392 ("ghc-streaming-commons" ,ghc-streaming-commons)
393 ("ghc-aeson" ,ghc-aeson)
394 ("ghc-temporary" ,ghc-temporary)
395 ("ghc-resourcet" ,ghc-resourcet)))
396 (home-page "https://hackage.haskell.org/package/http-conduit")
397 (synopsis "HTTP/HTTPS client with conduit interface")
398 (description "This library uses attoparsec for parsing the actual
399contents of the HTTP connection. It also provides higher-level functions
400which allow you to avoid direct usage of conduits.")
401 (license license:bsd-3)))
402
403(define-public ghc-wai
404 (package
405 (name "ghc-wai")
560f940b 406 (version "3.2.2.1")
44b7374a
RW
407 (source
408 (origin
409 (method url-fetch)
410 (uri (string-append
411 "https://hackage.haskell.org/package/wai/wai-"
412 version
413 ".tar.gz"))
414 (sha256
415 (base32
560f940b 416 "058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy"))))
44b7374a
RW
417 (build-system haskell-build-system)
418 (inputs
419 `(("ghc-bytestring-builder" ,ghc-bytestring-builder)
420 ("ghc-unix-compat" ,ghc-unix-compat)
421 ("ghc-vault" ,ghc-vault)
422 ("ghc-blaze-builder" ,ghc-blaze-builder)
423 ("ghc-network" ,ghc-network)
44b7374a
RW
424 ("ghc-http-types" ,ghc-http-types)))
425 (native-inputs
426 `(("hspec-discover" ,hspec-discover)
427 ("ghc-quickcheck" ,ghc-quickcheck)
428 ("ghc-hunit" ,ghc-hunit)
429 ("ghc-hspec" ,ghc-hspec)))
430 (home-page "https://hackage.haskell.org/package/wai")
431 (synopsis "Web application interface for Haskell")
432 (description "This package provides a Web Application Interface (WAI)
433library for the Haskell language. It defines a common protocol for
434communication between web applications and web servers.")
435 (license license:bsd-3)))
436
437(define-public ghc-wai-logger
438 (package
439 (name "ghc-wai-logger")
e28c737c 440 (version "2.3.5")
44b7374a
RW
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/wai-logger/wai-logger-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
e28c737c 450 "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"))))
44b7374a
RW
451 (build-system haskell-build-system)
452 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
453 ; by propagated-inputs.
454 (inputs
455 `(("ghc-auto-update" ,ghc-auto-update)
456 ("ghc-byteorder" ,ghc-byteorder)
457 ("ghc-easy-file" ,ghc-easy-file)
458 ("ghc-unix-time" ,ghc-unix-time)
459 ("ghc-blaze-builder" ,ghc-blaze-builder)
460 ("ghc-case-insensitive" ,ghc-case-insensitive)
461 ("ghc-fast-logger" ,ghc-fast-logger)
462 ("ghc-http-types" ,ghc-http-types)
463 ("ghc-network" ,ghc-network)
464 ("ghc-wai" ,ghc-wai)))
465 (home-page "https://hackage.haskell.org/package/wai-logger")
466 (synopsis "Logging system for WAI")
467 (description "This package provides the logging system for WAI.")
468 (license license:bsd-3)))
469
470(define-public ghc-wai-extra
471 (package
472 (name "ghc-wai-extra")
ef53b1f5 473 (version "3.0.28")
44b7374a
RW
474 (source
475 (origin
476 (method url-fetch)
477 (uri (string-append
478 "https://hackage.haskell.org/package/wai-extra/wai-extra-"
479 version
480 ".tar.gz"))
481 (sha256
482 (base32
ef53b1f5 483 "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"))))
44b7374a
RW
484 (build-system haskell-build-system)
485 (inputs
486 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
487 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
488 ("ghc-cookie" ,ghc-cookie)
44b7374a
RW
489 ("ghc-network" ,ghc-network)
490 ("ghc-lifted-base" ,ghc-lifted-base)
491 ("ghc-streaming-commons" ,ghc-streaming-commons)
492 ("ghc-stringsearch" ,ghc-stringsearch)
493 ("ghc-resourcet" ,ghc-resourcet)
494 ("ghc-fast-logger" ,ghc-fast-logger)
495 ("ghc-wai-logger" ,ghc-wai-logger)
496 ("ghc-zlib" ,ghc-zlib)
497 ("ghc-word8" ,ghc-word8)
498 ("ghc-iproute" ,ghc-iproute)
499 ("ghc-void" ,ghc-void)
500 ("ghc-wai" ,ghc-wai)
501 ("ghc-http-types" ,ghc-http-types)
ef53b1f5 502 ("ghc-http2" ,ghc-http2)
44b7374a
RW
503 ("ghc-case-insensitive" ,ghc-case-insensitive)
504 ("ghc-data-default-class" ,ghc-data-default-class)
505 ("ghc-unix-compat" ,ghc-unix-compat)
506 ("ghc-vault" ,ghc-vault)
507 ("ghc-aeson" ,ghc-aeson)))
508 (native-inputs
509 `(("hspec-discover" ,hspec-discover)
510 ("ghc-hspec" ,ghc-hspec)
511 ("ghc-hunit" ,ghc-hunit)))
512 (home-page "https://github.com/yesodweb/wai")
513 (synopsis "Some basic WAI handlers and middleware")
514 (description "This library provides basic WAI handlers and middleware
515functionality.")
516 (license license:expat)))
517
518(define-public ghc-wai-conduit
519 (package
520 (name "ghc-wai-conduit")
24d919ff 521 (version "3.0.0.4")
44b7374a
RW
522 (source
523 (origin
524 (method url-fetch)
525 (uri (string-append "https://hackage.haskell.org/package/"
526 "wai-conduit-" version "/"
527 "wai-conduit-" version ".tar.gz"))
528 (sha256
529 (base32
24d919ff 530 "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
44b7374a
RW
531 (build-system haskell-build-system)
532 (inputs
533 `(("ghc-conduit" ,ghc-conduit)
534 ("ghc-http-types" ,ghc-http-types)
535 ("ghc-wai" ,ghc-wai)
536 ("ghc-blaze-builder" ,ghc-blaze-builder)))
537 (home-page "https://github.com/yesodweb/wai")
538 (synopsis "Conduit wrappers for Haskell's WAI")
539 (description "This package provides data streaming abstraction for
540Haskell's Web Application Interface (WAI).")
541 (license license:expat)))
542
e95cc108
TS
543(define-public ghc-bsb-http-chunked
544 (package
545 (name "ghc-bsb-http-chunked")
803e6780 546 (version "0.0.0.4")
e95cc108
TS
547 (source
548 (origin
549 (method url-fetch)
550 (uri (string-append
551 "https://hackage.haskell.org/package/"
552 "bsb-http-chunked/bsb-http-chunked-"
553 version ".tar.gz"))
554 (sha256
555 (base32
803e6780 556 "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"))))
e95cc108 557 (build-system haskell-build-system)
81b228ed
TS
558 (arguments
559 `(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze")
560 ;; fails on i686-linux.
561 #:tests? ,(not (string-prefix? "i686" (or (%current-target-system)
562 (%current-system))))))
803e6780
TS
563 (native-inputs
564 `(("ghc-attoparsec" ,ghc-attoparsec)
565 ("ghc-blaze-builder" ,ghc-blaze-builder)
566 ("ghc-hedgehog" ,ghc-hedgehog)
567 ("ghc-tasty" ,ghc-tasty)
568 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
569 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
570 ("ghc-doctest" ,ghc-doctest)))
702a1012 571 (home-page "https://github.com/sjakobi/bsb-http-chunked")
e95cc108
TS
572 (synopsis "Chunked HTTP transfer encoding for bytestring builders")
573 (description "This Haskell library contains functions for encoding
574bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
575transfers.")
576 (license license:bsd-3)))
577
44b7374a
RW
578(define-public ghc-warp
579 (package
580 (name "ghc-warp")
2f9be5e7 581 (version "3.2.28")
44b7374a
RW
582 (source
583 (origin
584 (method url-fetch)
585 (uri (string-append "https://hackage.haskell.org/package/"
586 "warp-" version "/" "warp-" version
587 ".tar.gz"))
588 (sha256
2f9be5e7 589 (base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"))))
44b7374a 590 (build-system haskell-build-system)
44b7374a
RW
591 (inputs
592 `(("ghc-async" ,ghc-async)
593 ("ghc-auto-update" ,ghc-auto-update)
47334ea0 594 ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
44b7374a
RW
595 ("ghc-case-insensitive" ,ghc-case-insensitive)
596 ("ghc-hashable" ,ghc-hashable)
597 ("ghc-http-types" ,ghc-http-types)
598 ("ghc-iproute" ,ghc-iproute)
599 ("ghc-network" ,ghc-network)
44b7374a 600 ("ghc-streaming-commons" ,ghc-streaming-commons)
2f9be5e7 601 ("ghc-time-manager" ,ghc-time-manager)
44b7374a
RW
602 ("ghc-unix-compat" ,ghc-unix-compat)
603 ("ghc-vault" ,ghc-vault)
604 ("ghc-wai" ,ghc-wai)
605 ("ghc-word8" ,ghc-word8)
44b7374a
RW
606 ("ghc-http-date" ,ghc-http-date)
607 ("ghc-simple-sendfile" ,ghc-simple-sendfile)
608 ("ghc-http2" ,ghc-http2)))
609 (native-inputs
47334ea0
TS
610 `(("curl" ,curl)
611 ("ghc-silently" ,ghc-silently)
44b7374a 612 ("ghc-hspec" ,ghc-hspec)
44b7374a 613 ("ghc-doctest" ,ghc-doctest)
47334ea0 614 ("ghc-lifted-base" ,ghc-lifted-base)
44b7374a
RW
615 ("ghc-quickcheck" ,ghc-quickcheck)
616 ("ghc-hunit" ,ghc-hunit)
47334ea0 617 ("ghc-http-client" ,ghc-http-client)
44b7374a 618 ("hspec-discover" ,hspec-discover)))
702a1012 619 (home-page "https://github.com/yesodweb/wai")
44b7374a
RW
620 (synopsis "HTTP server library for Haskell's WAI")
621 (description "Warp is a server library for HTTP/1.x and HTTP/2
622based WAI (Web Application Interface in Haskell).")
623 (license license:expat)))
624
aac78f6b
TS
625(define-public ghc-tls-session-manager
626 (package
627 (name "ghc-tls-session-manager")
f9c6af65 628 (version "0.0.3")
aac78f6b
TS
629 (source
630 (origin
631 (method url-fetch)
632 (uri (string-append
633 "https://hackage.haskell.org/package/"
634 "tls-session-manager/tls-session-manager-"
635 version ".tar.gz"))
636 (sha256
637 (base32
f9c6af65 638 "0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi"))))
aac78f6b
TS
639 (build-system haskell-build-system)
640 (inputs
641 `(("ghc-auto-update" ,ghc-auto-update)
642 ("ghc-clock" ,ghc-clock)
643 ("ghc-psqueues" ,ghc-psqueues)
644 ("ghc-tls" ,ghc-tls)))
3ef91e15 645 (home-page "https://hackage.haskell.org/package/tls-session-manager")
aac78f6b
TS
646 (synopsis "In-memory TLS session manager")
647 (description "This Haskell library provides a TLS session manager with
648limitation, automatic pruning, energy saving and replay resistance.")
649 (license license:bsd-3)))
650
44b7374a
RW
651(define-public ghc-warp-tls
652 (package
653 (name "ghc-warp-tls")
2e9aaf07 654 (version "3.2.8")
44b7374a
RW
655 (source
656 (origin
657 (method url-fetch)
658 (uri (string-append "https://hackage.haskell.org/package/"
659 "warp-tls-" version "/"
660 "warp-tls-" version ".tar.gz"))
661 (sha256
662 (base32
2e9aaf07 663 "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y"))))
44b7374a
RW
664 (build-system haskell-build-system)
665 (inputs
666 `(("ghc-cryptonite" ,ghc-cryptonite)
667 ("ghc-data-default-class" ,ghc-data-default-class)
668 ("ghc-network" ,ghc-network)
669 ("ghc-streaming-commons" ,ghc-streaming-commons)
670 ("ghc-tls" ,ghc-tls)
6ef07930 671 ("ghc-tls-session-manager" ,ghc-tls-session-manager)
44b7374a
RW
672 ("ghc-wai" ,ghc-wai)
673 ("ghc-warp" ,ghc-warp)))
702a1012 674 (home-page "https://github.com/yesodweb/wai")
44b7374a
RW
675 (synopsis "SSL/TLS support for Warp")
676 (description "This package provides SSL/TLS support for Warp,
677a WAI handler, via the native Haskell TLS implementation.")
678 (license license:expat)))
679
c9fc2d29
JS
680(define-public ghc-websockets
681 (package
682 (name "ghc-websockets")
683 (version "0.12.6.1")
684 (source
685 (origin
686 (method url-fetch)
687 (uri (string-append
688 "mirror://hackage/package/websockets/websockets-"
689 version
690 ".tar.gz"))
691 (sha256
692 (base32
693 "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx"))))
694 (build-system haskell-build-system)
695 (inputs
696 `(("ghc-attoparsec" ,ghc-attoparsec)
697 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
698 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
699 ("ghc-case-insensitive" ,ghc-case-insensitive)
700 ("ghc-network" ,ghc-network)
701 ("ghc-random" ,ghc-random)
702 ("ghc-sha" ,ghc-sha)
703 ("ghc-streaming-commons" ,ghc-streaming-commons)
704 ("ghc-entropy" ,ghc-entropy)))
705 (native-inputs
706 `(("ghc-hunit" ,ghc-hunit)
707 ("ghc-quickcheck" ,ghc-quickcheck)
708 ("ghc-test-framework" ,ghc-test-framework)
709 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
710 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
711 (home-page "https://jaspervdj.be/websockets/")
712 (synopsis
713 "Write WebSocket-capable servers in Haskell")
714 (description
715 "This library allows you to write WebSocket-capable servers.
716
717An example server:
718@url{https://github.com/jaspervdj/websockets/blob/master/example/server.lhs}
719An example client:
720@url{https://github.com/jaspervdj/websockets/blob/master/example/client.hs}
721
722See also:
723@itemize
724@item The specification of the WebSocket protocol:
725@url{http://www.whatwg.org/specs/web-socket-protocol/}
726@item The JavaScript API for dealing with WebSockets:
727@url{http://www.w3.org/TR/websockets/}
728@end itemize")
729 (license license:bsd-3)))
730
b62f4ec4
JS
731(define-public ghc-wai-websockets
732 (package
733 (name "ghc-wai-websockets")
734 (version "3.0.1.2")
735 (source
736 (origin
737 (method url-fetch)
738 (uri (string-append
739 "mirror://hackage/package/wai-websockets/wai-websockets-"
740 version
741 ".tar.gz"))
742 (sha256
743 (base32
744 "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i"))))
745 (build-system haskell-build-system)
746 (inputs
747 `(("ghc-wai" ,ghc-wai)
748 ("ghc-case-insensitive" ,ghc-case-insensitive)
749 ("ghc-network" ,ghc-network)
750 ("ghc-websockets" ,ghc-websockets)
751 ("ghc-http-types" ,ghc-http-types)))
752 (arguments
753 `(#:configure-flags '("--flags=-example")))
754 (home-page "https://github.com/yesodweb/wai")
755 (synopsis
756 "Provide a bridge between WAI and the websockets package")
757 (description
758 "Use websockets with WAI applications, primarily those hosted via Warp.")
759 (license license:expat)))
760
44b7374a
RW
761(define-public ghc-xss-sanitize
762 (package
763 (name "ghc-xss-sanitize")
3f135acc 764 (version "0.3.6")
44b7374a
RW
765 (source
766 (origin
767 (method url-fetch)
768 (uri (string-append
769 "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
ecbb9b41 770 version ".tar.gz"))
44b7374a
RW
771 (sha256
772 (base32
3f135acc 773 "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
44b7374a
RW
774 (build-system haskell-build-system)
775 (inputs
776 `(("ghc-tagsoup" ,ghc-tagsoup)
777 ("ghc-utf8-string" ,ghc-utf8-string)
778 ("ghc-css-text" ,ghc-css-text)
779 ("ghc-network-uri" ,ghc-network-uri)))
780 (native-inputs
a1eb8be8 781 `(("ghc-attoparsec" ,ghc-attoparsec)
44b7374a
RW
782 ("ghc-hspec" ,ghc-hspec)
783 ("ghc-hunit" ,ghc-hunit)))
784 (home-page "https://github.com/yesodweb/haskell-xss-sanitize")
785 (synopsis "Sanitize untrusted HTML to prevent XSS attacks")
786 (description "This library provides @code{sanitizeXSS}. Run untrusted
787HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
788attacks.")
789 (license license:bsd-3)))
790
791(define-public ghc-css-text
792 (package
793 (name "ghc-css-text")
9656e6e8 794 (version "0.1.3.0")
44b7374a
RW
795 (source
796 (origin
797 (method url-fetch)
798 (uri (string-append
799 "https://hackage.haskell.org/package/css-text/css-text-"
800 version
801 ".tar.gz"))
802 (sha256
803 (base32
9656e6e8 804 "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
44b7374a
RW
805 (build-system haskell-build-system)
806 (inputs
a1eb8be8 807 `(("ghc-attoparsec" ,ghc-attoparsec)
44b7374a
RW
808 ("ghc-hspec" ,ghc-hspec)
809 ("ghc-quickcheck" ,ghc-quickcheck)))
1467ca68 810 (home-page "https://www.yesodweb.com/")
44b7374a
RW
811 (synopsis "CSS parser and renderer")
812 (description "This package provides a CSS parser and renderer for
813Haskell.")
814 (license license:bsd-3)))
815
816(define-public ghc-mime-types
817 (package
818 (name "ghc-mime-types")
6b7b89db 819 (version "0.1.0.9")
44b7374a
RW
820 (source (origin
821 (method url-fetch)
822 (uri (string-append "https://hackage.haskell.org/package/"
823 "mime-types/mime-types-"
824 version ".tar.gz"))
825 (sha256
826 (base32
6b7b89db 827 "1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha"))))
44b7374a 828 (build-system haskell-build-system)
44b7374a
RW
829 (home-page "https://github.com/yesodweb/wai")
830 (synopsis "Basic MIME type handling types and functions")
831 (description
832 "This library provides basic MIME type handling types and functions.")
833 (license license:expat)))
834
835(define-public ghc-html
836 (package
837 (name "ghc-html")
838 (version "1.0.1.2")
839 (source
840 (origin
841 (method url-fetch)
842 (uri (string-append
843 "https://hackage.haskell.org/package/html/html-"
844 version
845 ".tar.gz"))
846 (sha256
847 (base32
848 "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c"))))
849 (build-system haskell-build-system)
850 (home-page
851 "https://hackage.haskell.org/package/html")
852 (synopsis "HTML combinator library")
853 (description
854 "This package contains a combinator library for constructing HTML
855documents.")
856 (license license:bsd-3)))
857
9989d146
ASM
858(define-public ghc-html-conduit
859 (package
860 (name "ghc-html-conduit")
861 (version "1.3.2.1")
862 (source
863 (origin
864 (method url-fetch)
865 (uri (string-append
866 "https://hackage.haskell.org/package/html-conduit/"
867 "html-conduit-" version ".tar.gz"))
868 (sha256
869 (base32
870 "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n"))))
871 (build-system haskell-build-system)
872 (inputs
873 `(("ghc-resourcet" ,ghc-resourcet)
874 ("ghc-conduit" ,ghc-conduit)
875 ("ghc-xml-conduit" ,ghc-xml-conduit)
876 ("ghc-xml-types" ,ghc-xml-types)
877 ("ghc-attoparsec" ,ghc-attoparsec)
878 ("ghc-conduit-extra" ,ghc-conduit-extra)))
879 (native-inputs
880 `(("ghc-hspec" ,ghc-hspec)
881 ("ghc-hunit" ,ghc-hunit)))
882 (home-page "https://github.com/snoyberg/xml")
883 (synopsis "Parse HTML documents using xml-conduit datatypes")
884 (description
885 "This package provides a parser for HTML documents that uses
886tagstream-conduit. It automatically balances mismatched tags, so that
887there shouldn't be any parse failures. It does not handle a full HTML
888document rendering, such as adding missing html and head tags. Note that,
889since version 1.3.1, it uses an inlined copy of tagstream-conduit with
890entity decoding bugfixes applied.")
891 (license license:expat)))
892
44b7374a
RW
893(define-public ghc-blaze-html
894 (package
895 (name "ghc-blaze-html")
2c86548e 896 (version "0.9.1.2")
44b7374a
RW
897 (source
898 (origin
899 (method url-fetch)
64b5cce9
RW
900 (uri (string-append "https://hackage.haskell.org/package/"
901 "blaze-html/blaze-html-"
902 version ".tar.gz"))
44b7374a
RW
903 (sha256
904 (base32
2c86548e 905 "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30"))))
44b7374a 906 (build-system haskell-build-system)
d3951277 907 (outputs '("out" "static" "doc"))
44b7374a
RW
908 (inputs
909 `(("ghc-blaze-builder" ,ghc-blaze-builder)
44b7374a 910 ("ghc-blaze-markup" ,ghc-blaze-markup)))
64b5cce9
RW
911 (native-inputs
912 `(("ghc-hunit" ,ghc-hunit)
913 ("ghc-quickcheck" ,ghc-quickcheck)
914 ("ghc-test-framework" ,ghc-test-framework)
915 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
916 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
44b7374a
RW
917 (home-page "http://jaspervdj.be/blaze")
918 (synopsis "Fast HTML combinator library")
919 (description "This library provides HTML combinators for Haskell.")
920 (license license:bsd-3)))
921
922(define-public ghc-aeson
923 (package
924 (name "ghc-aeson")
1c86a8aa 925 (version "1.4.5.0")
44b7374a
RW
926 (source
927 (origin
928 (method url-fetch)
929 (uri (string-append
930 "https://hackage.haskell.org/package/aeson/aeson-"
931 version
932 ".tar.gz"))
933 (sha256
934 (base32
1c86a8aa 935 "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz"))))
44b7374a
RW
936 (build-system haskell-build-system)
937 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
b2509e60 938 (outputs '("out" "static" "doc"))
44b7374a
RW
939 (inputs
940 `(("ghc-attoparsec" ,ghc-attoparsec)
e74e1ad6 941 ("ghc-base-compat" ,ghc-base-compat)
44b7374a 942 ("ghc-dlist" ,ghc-dlist)
e74e1ad6 943 ("ghc-hashable" ,ghc-hashable)
44b7374a 944 ("ghc-scientific" ,ghc-scientific)
e74e1ad6 945 ("ghc-tagged" ,ghc-tagged)
e74e1ad6
RW
946 ("ghc-th-abstraction" ,ghc-th-abstraction)
947 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
44b7374a 948 ("ghc-unordered-containers" ,ghc-unordered-containers)
e74e1ad6 949 ("ghc-uuid-types" ,ghc-uuid-types)
44b7374a 950 ("ghc-vector" ,ghc-vector)
44b7374a 951 ("ghc-hunit" ,ghc-hunit)
e74e1ad6
RW
952 ("ghc-quickcheck" ,ghc-quickcheck)
953 ("ghc-integer-logarithms" ,ghc-integer-logarithms)
954 ("ghc-base-orphans" ,ghc-base-orphans)
955 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
956 ("ghc-generic-deriving" ,ghc-generic-deriving)
957 ("ghc-test-framework" ,ghc-test-framework)
958 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
959 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
960 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
961 ("ghc-hashable-time" ,ghc-hashable-time)))
44b7374a
RW
962 (home-page "https://github.com/bos/aeson")
963 (synopsis "Fast JSON parsing and encoding")
964 (description "This package provides a JSON parsing and encoding library
965for Haskell, optimized for ease of use and high performance. (A note on
966naming: in Greek mythology, Aeson was the father of Jason.)")
967 (license license:bsd-3)))
968
969(define-public ghc-aeson-pretty
970 (package
971 (name "ghc-aeson-pretty")
cdffb73c 972 (version "0.8.8")
44b7374a
RW
973 (source (origin
974 (method url-fetch)
975 (uri (string-append
976 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
977 version ".tar.gz"))
978 (sha256
979 (base32
cdffb73c 980 "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1"))))
44b7374a
RW
981 (build-system haskell-build-system)
982 (inputs
983 `(("ghc-aeson" ,ghc-aeson)
95796f81
RW
984 ("ghc-base-compat" ,ghc-base-compat)
985 ("ghc-scientific" ,ghc-scientific)
44b7374a 986 ("ghc-vector" ,ghc-vector)
95796f81 987 ("ghc-unordered-containers" ,ghc-unordered-containers)
44b7374a
RW
988 ("ghc-attoparsec" ,ghc-attoparsec)
989 ("ghc-cmdargs" ,ghc-cmdargs)))
990 (home-page "https://github.com/informatikr/aeson-pretty")
991 (synopsis "JSON pretty-printing library and command-line tool")
992 (description
993 "This package provides a JSON pretty-printing library compatible with aeson
7306eb5c 994as well as a command-line tool to improve readability of streams of JSON data.
44b7374a
RW
995The library provides the function @code{encodePretty}. It is a drop-in
996replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
997human readers. The command-line tool reads JSON from stdin and writes
998prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
999essentially the opposite of pretty-printing.")
1000 (license license:bsd-3)))
1001
1002(define-public ghc-aeson-qq
1003 (package
1004 (name "ghc-aeson-qq")
1a1cf03f 1005 (version "0.8.2")
44b7374a
RW
1006 (source (origin
1007 (method url-fetch)
1008 (uri (string-append "https://hackage.haskell.org/package/"
1009 "aeson-qq/aeson-qq-" version ".tar.gz"))
1010 (sha256
1011 (base32
1a1cf03f 1012 "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
44b7374a
RW
1013 (build-system haskell-build-system)
1014 (inputs
1015 `(("ghc-base-compat" ,ghc-base-compat)
44b7374a
RW
1016 ("ghc-attoparsec" ,ghc-attoparsec)
1017 ("ghc-scientific" ,ghc-scientific)
1018 ("ghc-vector" ,ghc-vector)
1019 ("ghc-aeson" ,ghc-aeson)
44b7374a
RW
1020 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
1021 (native-inputs
1022 `(("ghc-hspec" ,ghc-hspec)
1023 ("hspec-discover" ,hspec-discover)))
1024 (home-page "https://github.com/zalora/aeson-qq")
1025 (synopsis "JSON quasiquoter for Haskell")
1026 (description
1027 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
1028the function @code{aesonQQ} that compile-time converts a string representation
1029of a JSON value into a @code{Data.Aeson.Value}.")
1030 (license license:expat)))
1031
e345d938
JS
1032(define-public ghc-aeson-better-errors
1033 (package
1034 (name "ghc-aeson-better-errors")
1035 (version "0.9.1.0")
1036 (source
1037 (origin
1038 (method url-fetch)
1039 (uri (string-append
1040 "mirror://hackage/package/aeson-better-errors/aeson-better-errors-"
1041 version
1042 ".tar.gz"))
1043 (sha256
1044 (base32
1045 "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38"))))
1046 (build-system haskell-build-system)
1047 (inputs
1048 `(("ghc-aeson" ,ghc-aeson)
1049 ("ghc-unordered-containers" ,ghc-unordered-containers)
1050 ("ghc-dlist" ,ghc-dlist)
1051 ("ghc-scientific" ,ghc-scientific)
1052 ("ghc-vector" ,ghc-vector)
1053 ("ghc-transformers-compat" ,ghc-transformers-compat)
1054 ("ghc-void" ,ghc-void)))
1055 (home-page
1056 "https://github.com/hdgarrood/aeson-better-errors")
1057 (synopsis
1058 "Better error messages when decoding JSON values in Haskell")
1059 (description
1060 "Gives you the tools to build parsers to decode JSON values, and gives
1061good error messages when parsing fails. See also
1062@url{http://harry.garrood.me/blog/aeson-better-errors/}.")
1063 (license license:expat)))
1064
44b7374a
RW
1065(define-public ghc-multipart
1066 (package
1067 (name "ghc-multipart")
4729cfac 1068 (version "0.1.3")
44b7374a
RW
1069 (source
1070 (origin
1071 (method url-fetch)
1072 (uri (string-append
1073 "https://hackage.haskell.org/package/multipart/multipart-"
1074 version
1075 ".tar.gz"))
1076 (sha256
1077 (base32
4729cfac 1078 "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
44b7374a 1079 (build-system haskell-build-system)
4729cfac 1080 (inputs
a1eb8be8 1081 `(("ghc-stringsearch" ,ghc-stringsearch)))
44b7374a
RW
1082 (home-page
1083 "http://www.github.com/silkapp/multipart")
1084 (synopsis
1085 "HTTP multipart library")
1086 (description
1087 "HTTP multipart split out of the cgi package, for Haskell.")
1088 (license license:bsd-3)))
7df5669f
AW
1089
1090(define-public ghc-uri-encode
1091 (package
1092 (name "ghc-uri-encode")
1093 (version "1.5.0.5")
1094 (source
1095 (origin
1096 (method url-fetch)
1097 (uri (string-append
1098 "https://hackage.haskell.org/package/uri-encode/uri-encode-"
1099 version ".tar.gz"))
1100 (sha256
1101 (base32
1102 "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
1103 (build-system haskell-build-system)
1104 (inputs
a1eb8be8 1105 `(("ghc-utf8-string" ,ghc-utf8-string)
7df5669f
AW
1106 ("ghc-network-uri" ,ghc-network-uri)))
1107 (home-page "https://hackage.haskell.org/package/uri-encode")
1108 (synopsis "Unicode aware uri-encoding")
1109 (description "Unicode aware uri-encoding for Haskell.")
1110 (license license:bsd-3)))
448d6226 1111
1112(define-public ghc-path-pieces
1113 (package
1114 (name "ghc-path-pieces")
1115 (version "0.2.1")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (string-append "https://hackage.haskell.org/package/"
1120 "path-pieces-" version "/"
1121 "path-pieces-" version ".tar.gz"))
1122 (sha256
1123 (base32
1124 "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
1125 (build-system haskell-build-system)
448d6226 1126 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1127 ("ghc-hspec" ,ghc-hspec)
1128 ("ghc-quickcheck" ,ghc-quickcheck)))
1129 (home-page "https://github.com/yesodweb/path-pieces")
1130 (synopsis "Used in Yesod to automatically marshall data in the request path")
1131 (description "This Haskell package provides two typeclasses for converting
1132Haskell data types to and from route pieces.")
1133 (license license:bsd-3)))
122260b3 1134
1135(define-public ghc-skein
1136 (package
1137 (name "ghc-skein")
1138 (version "1.0.9.4")
1139 (source
1140 (origin
1141 (method url-fetch)
1142 (uri (string-append "https://hackage.haskell.org/package/"
1143 "skein-" version "/"
1144 "skein-" version ".tar.gz"))
1145 (sha256
1146 (base32
1147 "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
1148 (build-system haskell-build-system)
1149 (inputs `(("ghc-cereal" ,ghc-cereal)
1150 ("ghc-tagged" ,ghc-tagged)
1151 ("ghc-crpto-api" ,ghc-crypto-api)))
1152 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
1153 (home-page "https://github.com/yesodweb/path-pieces")
1154 (synopsis "Skein family of cryptographic hash functions for Haskell")
1155 (description "@uref{(http://www.skein-hash.info, Skein} is a family of
1156fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
1157Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
1158Callas and Jesse Walker.
1159
1160This Haskell package uses bindings to the optimized C implementation of Skein.")
1161 (license license:bsd-3)))
15b9ce63 1162
1163(define-public ghc-clientsession
1164 (package
1165 (name "ghc-clientsession")
1166 (version "0.9.1.2")
1167 (source
1168 (origin
1169 (method url-fetch)
1170 (uri (string-append "https://hackage.haskell.org/package/"
1171 "clientsession-" version "/"
1172 "clientsession-" version ".tar.gz"))
1173 (sha256
1174 (base32
1175 "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
1176 (build-system haskell-build-system)
1177 (inputs `(("ghc-cereal" ,ghc-cereal)
1178 ("ghc-tagged" ,ghc-tagged)
1179 ("ghc-crypto-api" ,ghc-crypto-api)
1180 ("ghc-skein" ,ghc-skein)
1181 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1182 ("ghc-entropy" ,ghc-entropy)
1183 ("ghc-cprng-aes" ,ghc-cprng-aes)
1184 ("ghc-cipher-aes" ,ghc-cipher-aes)
1185 ("ghc-crypto-random" ,ghc-crypto-random)
1186 ("ghc-setenv" ,ghc-setenv)))
1187 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1188 ("ghc-hspec" ,ghc-hspec)
1189 ("ghc-quickcheck" ,ghc-quickcheck)))
1190 (home-page "https://github.com/yesodweb/clientsession/tree/master")
1191 (synopsis "Haskell library for securely store session data in a
1192client-side cookie")
1193 (description "This Haskell package achieves security through AES-CTR
1194encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
1195avoid any issues with characters.")
1196 (license license:expat)))
aebe9d25 1197
1198(define-public ghc-yesod-core
1199 (package
1200 (name "ghc-yesod-core")
fd7e8dcf 1201 (version "1.6.16.1")
aebe9d25 1202 (source
1203 (origin
1204 (method url-fetch)
1205 (uri (string-append "https://hackage.haskell.org/package/"
1206 "yesod-core-" version "/"
1207 "yesod-core-" version ".tar.gz"))
1208 (sha256
1209 (base32
fd7e8dcf 1210 "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2"))))
aebe9d25 1211 (build-system haskell-build-system)
1212 (inputs `(("ghc-wai" ,ghc-wai)
1213 ("ghc-extra" ,ghc-extra)
aebe9d25 1214 ("ghc-shakespeare" ,ghc-shakespeare)
1215 ("ghc-blaze-builder" ,ghc-blaze-builder)
aebe9d25 1216 ("ghc-clientsession" ,ghc-clientsession)
1217 ("ghc-random" ,ghc-random)
1218 ("ghc-cereal" ,ghc-cereal)
1219 ("ghc-old-locale" ,ghc-old-locale)
0ea695f6 1220 ("ghc-unliftio" ,ghc-unliftio)
aebe9d25 1221 ("ghc-unordered-containers" ,ghc-unordered-containers)
1222 ("ghc-monad-control" ,ghc-monad-control)
1223 ("ghc-transformers-base" ,ghc-transformers-base)
1224 ("ghc-cookie" ,ghc-cookie)
1225 ("ghc-http-types" ,ghc-http-types)
1226 ("ghc-case-insensitive" ,ghc-case-insensitive)
aebe9d25 1227 ("ghc-vector" ,ghc-vector)
1228 ("ghc-aeson" ,ghc-aeson)
1229 ("ghc-fast-logger" ,ghc-fast-logger)
1230 ("ghc-wai-logger" ,ghc-wai-logger)
1231 ("ghc-monad-logger" ,ghc-monad-logger)
1232 ("ghc-conduit" ,ghc-conduit)
1233 ("ghc-resourcet" ,ghc-resourcet)
0ea695f6 1234 ("ghc-rio" ,ghc-rio)
aebe9d25 1235 ("ghc-lifted-base" ,ghc-lifted-base)
1236 ("ghc-blaze-html" ,ghc-blaze-html)
1237 ("ghc-blaze-markup" ,ghc-blaze-markup)
1238 ("ghc-data-default" ,ghc-data-default)
1239 ("ghc-safe" ,ghc-safe)
1240 ("ghc-warp" ,ghc-warp)
1241 ("ghc-unix-compat" ,ghc-unix-compat)
1242 ("ghc-conduit-extra" ,ghc-conduit-extra)
1243 ("ghc-exceptions" ,ghc-exceptions)
1244 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1245 ("ghc-mwc-random" ,ghc-mwc-random)
1246 ("ghc-primitive" ,ghc-primitive)
1247 ("ghc-word8" ,ghc-word8)
1248 ("ghc-auto-update" ,ghc-auto-update)
1249 ("ghc-semigroups" ,ghc-semigroups)
1250 ("ghc-byteable" ,ghc-byteable)))
1251 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1252 ("ghc-path-pieces" ,ghc-path-pieces)
1253 ("ghc-hunit" ,ghc-hunit)
1254 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
1255 ("ghc-quickcheck" ,ghc-quickcheck)
1256 ("ghc-network" ,ghc-network)
1257 ("ghc-async" ,ghc-async)
1258 ("ghc-streaming-commons" ,ghc-streaming-commons)
1259 ("ghc-wai-extra" ,ghc-wai-extra)))
1260 (home-page "https://www.yesodweb.com")
1261 (synopsis "Core package for the Yesod web framework")
1262 (description "This Haskell package provides all core functionality, for
1263Yesod, on which other packages can be built. It provides dispatch, handler
1264functions, widgets, etc.")
1265 (license license:expat)))
d1992741 1266
1267(define-public ghc-yesod-persistent
1268 (package
1269 (name "ghc-yesod-persistent")
96c813ce 1270 (version "1.6.0.4")
d1992741 1271 (source
1272 (origin
1273 (method url-fetch)
1274 (uri (string-append "https://hackage.haskell.org/package/"
1275 "yesod-persistent-" version "/"
1276 "yesod-persistent-" version ".tar.gz"))
1277 (sha256
1278 (base32
96c813ce 1279 "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
d1992741 1280 (build-system haskell-build-system)
1281 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
1282 (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
1283 ("ghc-persistent" ,ghc-persistent)
1284 ("ghc-persistent-template" ,ghc-persistent-template)
1285 ("ghc-blaze-builder" ,ghc-blaze-builder)
1286 ("ghc-conduit" ,ghc-conduit)
1287 ("ghc-resourcet" ,ghc-resourcet)
1288 ("ghc-resource-pool" ,ghc-resource-pool)))
1289 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1290 ("ghc-wai-extra" ,ghc-wai-extra)
1291 ("ghc-yesod-core" ,ghc-yesod-core)
a1eb8be8 1292 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
1467ca68 1293 (home-page "https://www.yesodweb.com/")
d1992741 1294 (synopsis "Helpers for using Persistent from Yesod")
1295 (description "This Haskell package provides helpers for using Persistent
1296from Yesod.")
1297 (license license:expat)))
6faa30c1 1298
1299(define-public ghc-yesod-form
1300 (package
1301 (name "ghc-yesod-form")
b38a7838 1302 (version "1.6.7")
6faa30c1 1303 (source
1304 (origin
1305 (method url-fetch)
1306 (uri (string-append
1307 "https://hackage.haskell.org/package/yesod-form/yesod-form-"
1308 version
1309 ".tar.gz"))
1310 (sha256
1311 (base32
b38a7838 1312 "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
6faa30c1 1313 (build-system haskell-build-system)
1314 (inputs
1315 `(("ghc-yesod-core" ,ghc-yesod-core)
1316 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1317 ("ghc-shakespeare" ,ghc-shakespeare)
1318 ("ghc-persistent" ,ghc-persistent)
1319 ("ghc-data-default" ,ghc-data-default)
1320 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1321 ("ghc-blaze-builder" ,ghc-blaze-builder)
1322 ("ghc-email-validate" ,ghc-email-validate)
6faa30c1 1323 ("ghc-wai" ,ghc-wai)
1324 ("ghc-blaze-html" ,ghc-blaze-html)
1325 ("ghc-blaze-markup" ,ghc-blaze-markup)
1326 ("ghc-attoparsec" ,ghc-attoparsec)
1327 ("ghc-byteable" ,ghc-byteable)
1328 ("ghc-aeson" ,ghc-aeson)
1329 ("ghc-resourcet" ,ghc-resourcet)
1330 ("ghc-semigroups" ,ghc-semigroups)
1331 ("ghc-network-uri" ,ghc-network-uri)
1332 ("ghc-hspec" ,ghc-hspec)))
1333 (home-page "https://www.yesodweb.com")
1334 (synopsis "Form handling support for Yesod Web Framework")
1335 (description "This Haskell package provies a set of basic form inputs such
1336as text, number, time, checkbox, select, textarea, etc through the
1337@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
1338providing richtext field using Nic editor. ")
1339 (license license:expat)))
42469226 1340
1341(define-public ghc-yesod
1342 (package
1343 (name "ghc-yesod")
662fd1a8 1344 (version "1.6.0")
42469226 1345 (source
1346 (origin
1347 (method url-fetch)
1348 (uri (string-append
1349 "https://hackage.haskell.org/package/yesod/yesod-"
1350 version ".tar.gz"))
1351 (sha256
1352 (base32
662fd1a8 1353 "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
42469226 1354 (build-system haskell-build-system)
1355 (inputs
1356 `(("ghc-yesod-core" ,ghc-yesod-core)
1357 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1358 ("ghc-yesod-form" ,ghc-yesod-form)
1359 ("ghc-monad-control" ,ghc-monad-control)
1360 ("ghc-wai" ,ghc-wai)
1361 ("ghc-wai-extra" ,ghc-wai-extra)
1362 ("ghc-warp" ,ghc-warp)
1363 ("ghc-blaze-html" ,ghc-blaze-html)
1364 ("ghc-blaze-markup" ,ghc-blaze-markup)
1365 ("ghc-aeson" ,ghc-aeson)
1366 ("ghc-data-default-class" ,ghc-data-default-class)
1367 ("ghc-unordered-containers" ,ghc-unordered-containers)
1368 ("ghc-yaml" ,ghc-yaml)
42469226 1369 ("ghc-monad-logger" ,ghc-monad-logger)
1370 ("ghc-fast-logger" ,ghc-fast-logger)
1371 ("ghc-conduit" ,ghc-conduit)
1372 ("ghc-conduit-extra" ,ghc-conduit-extra)
1373 ("ghc-resourcet" ,ghc-resourcet)
1374 ("ghc-shakespeare" ,ghc-shakespeare)
1375 ("ghc-streaming-commons" ,ghc-streaming-commons)
1376 ("ghc-wai-logger" ,ghc-wai-logger)
1377 ("ghc-semigroups" ,ghc-semigroups)))
1378 (home-page "https://www.yesodweb.com")
1379 (synopsis "Framework for creating type-safe, RESTful web applications")
1380 (description "The Haskell package package groups together the various
1381Yesod related packages into one cohesive whole. This is the version of Yesod,
1382whereas most of the core code lives in @code{ghc-yesod-core}.")
1383 (license license:expat)))
aea505a9
LC
1384
1385(define-public ghc-hxt-charproperties
1386 (package
1387 (name "ghc-hxt-charproperties")
f8cfee06 1388 (version "9.4.0.0")
aea505a9
LC
1389 (source
1390 (origin
1391 (method url-fetch)
1392 (uri (string-append "https://hackage.haskell.org/package/"
1393 "hxt-charproperties/hxt-charproperties-"
1394 version ".tar.gz"))
1395 (sha256
1396 (base32
f8cfee06 1397 "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"))))
aea505a9
LC
1398 (build-system haskell-build-system)
1399 (home-page "https://github.com/UweSchmidt/hxt")
1400 (synopsis "Character properties and classes for XML and Unicode")
1401 (description
1402 "The modules provided by this package contain predicates for Unicode
1403blocks and char properties and character predicates defined by XML. The
1404supported Unicode version is 7.0.0")
1405 (license license:expat)))
1406
1407(define-public ghc-hxt-unicode
1408 (package
1409 (name "ghc-hxt-unicode")
1410 (version "9.0.2.4")
1411 (source
1412 (origin
1413 (method url-fetch)
1414 (uri (string-append
1415 "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
1416 version
1417 ".tar.gz"))
1418 (sha256
1419 (base32
1420 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
1421 (build-system haskell-build-system)
1422 (inputs
1423 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
1424 (home-page
1425 "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
1426 (synopsis
1427 "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
1428 (description
1429 "This package provides Unicode encoding and decoding functions for
1430encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
1431are supported. Decoding is done with lazy functions, errors may be detected or
1432ignored.")
1433 (license license:expat)))
1434
1435(define-public ghc-hxt-regex-xmlschema
1436 (package
1437 (name "ghc-hxt-regex-xmlschema")
1438 (version "9.2.0.3")
1439 (source
1440 (origin
1441 (method url-fetch)
1442 (uri (string-append "https://hackage.haskell.org/package/"
1443 "hxt-regex-xmlschema/hxt-regex-xmlschema-"
1444 version ".tar.gz"))
1445 (sha256
1446 (base32
1447 "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
1448 (build-system haskell-build-system)
1449 (inputs
1450 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
aea505a9 1451 ("ghc-hunit" ,ghc-hunit)))
228d2901 1452 (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema")
aea505a9
LC
1453 (synopsis "Regular expression library for W3C XML Schema regular expressions")
1454 (description
1455 "This library supports full W3C XML Schema regular expressions inclusive
1456all Unicode character sets and blocks. It is implemented by the technique of
1457derivations of regular expressions.")
1458 (license license:expat)))
1459
1460(define-public ghc-hxt
1461 (package
1462 (name "ghc-hxt")
8fd2a816 1463 (version "9.3.1.18")
aea505a9
LC
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append
1468 "https://hackage.haskell.org/package/hxt/hxt-"
1469 version
1470 ".tar.gz"))
1471 (sha256
1472 (base32
8fd2a816 1473 "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"))))
aea505a9
LC
1474 (build-system haskell-build-system)
1475 (inputs
a1eb8be8 1476 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
aea505a9
LC
1477 ("ghc-hxt-unicode" ,ghc-hxt-unicode)
1478 ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
1479 ("ghc-network-uri" ,ghc-network-uri)))
1480 (home-page "https://github.com/UweSchmidt/hxt")
1481 (synopsis "Collection of tools for processing XML with Haskell")
1482 (description
1483 "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
1484introduces a more general approach for processing XML with Haskell.")
1485 (license license:expat)))
0173cdd3
RV
1486
1487(define-public ghc-http-common
1488 (package
1489 (name "ghc-http-common")
1490 (version "0.8.2.0")
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append "https://hackage.haskell.org/package/"
1495 "http-common/http-common-" version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "14s5a178sb2vm5k00rs21760mds5dz2gs10k9iyn22h01mxyf599"))))
1499 (build-system haskell-build-system)
1500 (inputs
1501 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
1502 ("ghc-blaze-builder" ,ghc-blaze-builder)
1503 ("ghc-case-insensitive" ,ghc-case-insensitive)
1504 ("ghc-network" ,ghc-network)
1505 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1506 (home-page "https://github.com/afcowie/http-streams/")
1507 (synopsis "Common types for HTTP clients and servers")
1508 (description "Base types used by a variety of HTTP clients and
1509servers. See http-streams @code{Network.Http.Client} or pipes-http
1510@code{Pipes.Http.Client} for full documentation. You can import
1511@code{Network.Http.Types} if you like, but both http-streams and
1512pipes-http re-export this package's types and functions.")
1513 (license license:bsd-3)))
4ccd679f
RV
1514
1515(define-public ghc-http-streams
1516 (package
1517 (name "ghc-http-streams")
1518 (version "0.8.6.1")
1519 (source
1520 (origin
1521 (method url-fetch)
1522 (uri (string-append "https://hackage.haskell.org/package/"
1523 "http-streams/http-streams-" version ".tar.gz"))
1524 (sha256
1525 (base32
1526 "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq"))))
1527 (build-system haskell-build-system)
1528 (inputs
1529 `(("ghc-attoparsec" ,ghc-attoparsec)
1530 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1531 ("ghc-blaze-builder" ,ghc-blaze-builder)
1532 ("ghc-case-insensitive" ,ghc-case-insensitive)
1533 ("ghc-io-streams" ,ghc-io-streams)
1534 ("ghc-hsopenssl" ,ghc-hsopenssl)
1535 ("ghc-openssl-streams" ,ghc-openssl-streams)
1536 ("ghc-unordered-containers" ,ghc-unordered-containers)
1537 ("ghc-aeson" ,ghc-aeson)
1538 ("ghc-http-common" ,ghc-http-common)
1539 ("ghc-network-uri" ,ghc-network-uri)
1540 ("ghc-network" ,ghc-network)))
1541 (arguments
1542 `(#:tests? #f)) ; tests rely on an outdated version of snap-server
1543 (home-page "https://github.com/afcowie/http-streams/")
1544 (synopsis "HTTP client using io-streams")
1545 (description "An HTTP client using the Snap Framework's io-streams
1546library to handle the streaming IO. The API is optimized for ease of
1547use for the rather common case of code needing to query web services and
1548deal with the result.")
1549 (license license:bsd-3)))
4f1793a2
RV
1550
1551(define-public ghc-snap-core
1552 (package
1553 (name "ghc-snap-core")
8a5924dc 1554 (version "1.0.4.0")
4f1793a2
RV
1555 (source
1556 (origin
1557 (method url-fetch)
1558 (uri (string-append "https://hackage.haskell.org/package/"
1559 "snap-core/snap-core-" version ".tar.gz"))
1560 (sha256
1561 (base32
8a5924dc 1562 "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr"))))
4f1793a2
RV
1563 (build-system haskell-build-system)
1564 (inputs
1565 `(("ghc-old-locale" ,ghc-old-locale)
1566 ("ghc-hunit" ,ghc-hunit)
1567 ("ghc-attoparsec" ,ghc-attoparsec)
1568 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
1569 ("ghc-case-insensitive" ,ghc-case-insensitive)
1570 ("ghc-lifted-base" ,ghc-lifted-base)
1571 ("ghc-io-streams" ,ghc-io-streams)
1572 ("ghc-hashable" ,ghc-hashable)
1573 ("ghc-monad-control" ,ghc-monad-control)
1574 ("ghc-random" ,ghc-random)
1575 ("ghc-readable" ,ghc-readable)
1576 ("ghc-regex-posix" ,ghc-regex-posix)
1577 ("ghc-transformers-base" ,ghc-transformers-base)
1578 ("ghc-unix-compat" ,ghc-unix-compat)
1579 ("ghc-unordered-containers" ,ghc-unordered-containers)
1580 ("ghc-vector" ,ghc-vector)
1581 ("ghc-network-uri" ,ghc-network-uri)
1582 ("ghc-network" ,ghc-network)))
1583 (native-inputs
1584 `(("ghc-quickcheck" ,ghc-quickcheck)
1585 ("ghc-parallel" ,ghc-parallel)
1586 ("ghc-test-framework" ,ghc-test-framework)
1587 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1588 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
1589 ("ghc-zlib" ,ghc-zlib)))
4f1793a2
RV
1590 (home-page "http://snapframework.com/")
1591 (synopsis "Haskell Web Framework (core interfaces and types)")
1592 (description "Snap is a simple and fast web development framework
1593and server written in Haskell. For more information, you can visit the
1594Snap project website at @uref{http://snapframework.com/}. This library
1595contains the core definitions and types for the Snap framework.")
1596 (license license:bsd-3)))
8ede1021
RV
1597
1598(define-public ghc-snap-server
1599 (package
1600 (name "ghc-snap-server")
ae7fe908 1601 (version "1.1.1.1")
8ede1021
RV
1602 (source
1603 (origin
1604 (method url-fetch)
1605 (uri (string-append "https://hackage.haskell.org/package/"
1606 "snap-server/snap-server-" version ".tar.gz"))
1607 (sha256
1608 (base32
ae7fe908 1609 "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"))))
8ede1021
RV
1610 (build-system haskell-build-system)
1611 (inputs
1612 `(("ghc-attoparsec" ,ghc-attoparsec)
1613 ("ghc-blaze-builder" ,ghc-blaze-builder)
1614 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
1615 ("ghc-case-insensitive" ,ghc-case-insensitive)
1616 ("ghc-clock" ,ghc-clock)
1617 ("ghc-io-streams" ,ghc-io-streams)
1618 ("ghc-io-streams-haproxy" ,ghc-io-streams-haproxy)
1619 ("ghc-lifted-base" ,ghc-lifted-base)
1620 ("ghc-network" ,ghc-network)
1621 ("ghc-old-locale" ,ghc-old-locale)
1622 ("ghc-snap-core" ,ghc-snap-core)
1623 ("ghc-unix-compat" ,ghc-unix-compat)
1624 ("ghc-vector" ,ghc-vector)))
1625 (native-inputs
1626 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
1627 ("ghc-monad-control" ,ghc-monad-control)
1628 ("ghc-random" ,ghc-random)
1629 ("ghc-threads" ,ghc-threads)
1630 ("ghc-hunit" ,ghc-hunit)
1631 ("ghc-quickcheck" ,ghc-quickcheck)
1632 ("ghc-http-streams" ,ghc-http-streams)
1633 ("ghc-http-common" ,ghc-http-common)
1634 ("ghc-parallel" ,ghc-parallel)
1635 ("ghc-test-framework" ,ghc-test-framework)
1636 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1637 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1638 (arguments
1639 `(#:cabal-revision
ae7fe908 1640 ("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3")))
8ede1021
RV
1641 (home-page "http://snapframework.com/")
1642 (synopsis "Web server for the Snap Framework")
1643 (description "Snap is a simple and fast web development framework
1644and server written in Haskell. For more information, you can visit the
1645Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
1646server is a high performance web server library written in Haskell.
1647Together with the snap-core library upon which it depends, it provides a
1648clean and efficient Haskell programming interface to the HTTP
1649protocol.")
1650 (license license:bsd-3)))
621c0773
JS
1651
1652(define-public ghc-js-jquery
1653 (package
1654 (name "ghc-js-jquery")
1655 (version "3.3.1")
1656 (source
1657 (origin
1658 (method url-fetch)
1659 (uri
1660 (string-append
1661 "https://hackage.haskell.org/package/js-jquery/js-jquery-"
1662 version ".tar.gz"))
1663 (sha256
1664 (base32
1665 "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
1666 (build-system haskell-build-system)
1667 (arguments `(#:tests? #f)) ; tests do network IO
1668 (home-page "https://github.com/ndmitchell/js-jquery")
1669 (synopsis "Obtain minified jQuery code")
1670 (description "This package bundles the minified
1671@url{http://jquery.com/, jQuery} code into a Haskell package, so it can
1672be depended upon by Cabal packages. The first three components of the
1673version number match the upstream jQuery version. The package is
1674designed to meet the redistribution requirements of downstream
1675users (e.g. Debian).")
1676 (license license:expat)))
5b0fdbba
JS
1677
1678(define-public ghc-js-flot
1679 (package
1680 (name "ghc-js-flot")
1681 (version "0.8.3")
1682 (source
1683 (origin
1684 (method url-fetch)
1685 (uri
1686 (string-append
1687 "https://hackage.haskell.org/package/js-flot/js-flot-"
1688 version ".tar.gz"))
1689 (sha256
1690 (base32
1691 "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
1692 (build-system haskell-build-system)
1693 (inputs
1694 `(("ghc-http" ,ghc-http)))
1695 (home-page "https://github.com/ndmitchell/js-flot")
1696 (synopsis "Obtain minified flot code")
1697 (description "This package bundles the minified
1698@url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
1699into a Haskell package, so it can be depended upon by Cabal packages.
1700The first three components of the version number match the upstream flot
1701version. The package is designed to meet the redistribution
1702requirements of downstream users (e.g. Debian).")
1703 (license license:expat)))
0eb8f530
BG
1704
1705(define-public ghc-happstack-server
1706 (package
1707 (name "ghc-happstack-server")
1708 (version "7.5.4")
1709 (source
1710 (origin
1711 (method url-fetch)
1712 (uri (string-append
1713 "https://hackage.haskell.org/package/happstack-server/happstack-server-"
1714 version ".tar.gz"))
1715 (sha256
1716 (base32
1717 "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70"))))
1718 (build-system haskell-build-system)
1719 (inputs
1720 `(("ghc-network" ,ghc-network)
1721 ("ghc-network-bsd" ,ghc-network-bsd)
1722 ("ghc-network-uri" ,ghc-network-uri)
1723 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1724 ("ghc-blaze-html" ,ghc-blaze-html)
1725 ("ghc-exceptions" ,ghc-exceptions)
1726 ("ghc-extensible-exceptions"
1727 ,ghc-extensible-exceptions)
1728 ("ghc-hslogger" ,ghc-hslogger)
1729 ("ghc-html" ,ghc-html)
1730 ("ghc-monad-control" ,ghc-monad-control)
1731 ("ghc-old-locale" ,ghc-old-locale)
1732 ("ghc-semigroups" ,ghc-semigroups)
1733 ("ghc-sendfile" ,ghc-sendfile)
1734 ("ghc-system-filepath" ,ghc-system-filepath)
1735 ("ghc-syb" ,ghc-syb)
1736 ("ghc-threads" ,ghc-threads)
1737 ("ghc-transformers-base" ,ghc-transformers-base)
1738 ("ghc-transformers-compat"
1739 ,ghc-transformers-compat)
1740 ("ghc-utf8-string" ,ghc-utf8-string)
1741 ("ghc-zlib" ,ghc-zlib)))
1742 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
1743 (home-page "http://happstack.com")
1744 (synopsis "Web related tools and services for Haskell")
1745 (description
1746 "Happstack Server provides an HTTP server and a rich set of functions for
1747routing requests, handling query parameters, generating responses, working with
1748cookies, serving files, and more.")
1749 (license license:bsd-3)))
1750
0ef07d79
BG
1751(define-public ghc-sendfile
1752 (package
1753 (name "ghc-sendfile")
1754 (version "0.7.11.1")
1755 (source
1756 (origin
1757 (method url-fetch)
1758 (uri (string-append
1759 "https://hackage.haskell.org/package/sendfile/sendfile-"
1760 version ".tar.gz"))
1761 (sha256
1762 (base32
1763 "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"))))
1764 (build-system haskell-build-system)
1765 (inputs `(("ghc-network" ,ghc-network)))
1766 (home-page
1767 "https://hub.darcs.net/stepcut/sendfile")
1768 (synopsis "Portable sendfile library for Haskell")
1769 (description
1770 "Haskell library which exposes zero-copy sendfile functionality in a portable way.")
1771 (license license:bsd-3)))
a1c04f35
ASM
1772
1773(define-public ghc-scalpel-core
1774 (package
1775 (name "ghc-scalpel-core")
1776 (version "0.6.0")
1777 (source
1778 (origin
1779 (method url-fetch)
1780 (uri (string-append
1781 "https://hackage.haskell.org/package/scalpel-core/"
1782 "scalpel-core-" version ".tar.gz"))
1783 (sha256
1784 (base32
1785 "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh"))))
1786 (build-system haskell-build-system)
1787 (inputs
1788 `(("ghc-data-default" ,ghc-data-default)
1789 ("ghc-fail" ,ghc-fail)
1790 ("ghc-pointedlist" ,ghc-pointedlist)
1791 ("ghc-regex-base" ,ghc-regex-base)
1792 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
1793 ("ghc-tagsoup" ,ghc-tagsoup)
1794 ("ghc-vector" ,ghc-vector)))
1795 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
1796 (home-page "https://github.com/fimad/scalpel")
1797 (synopsis
1798 "High level web scraping library for Haskell")
1799 (description
1800 "Scalpel core provides a subset of the scalpel web scraping library
1801that is intended to have lightweight dependencies and to be free of all
1802non-Haskell dependencies.")
1803 (license license:asl2.0)))
9c3070ec
ASM
1804
1805(define-public ghc-scalpel
1806 (package
1807 (name "ghc-scalpel")
1808 (version "0.6.0")
1809 (source
1810 (origin
1811 (method url-fetch)
1812 (uri (string-append
1813 "https://hackage.haskell.org/package/scalpel/"
1814 "scalpel-" version ".tar.gz"))
1815 (sha256
1816 (base32
1817 "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz"))))
1818 (build-system haskell-build-system)
1819 (inputs
1820 `(("ghc-scalpel-core" ,ghc-scalpel-core)
1821 ("ghc-case-insensitive" ,ghc-case-insensitive)
1822 ("ghc-data-default" ,ghc-data-default)
1823 ("ghc-http-client" ,ghc-http-client)
1824 ("ghc-http-client-tls" ,ghc-http-client-tls)
1825 ("ghc-tagsoup" ,ghc-tagsoup)))
1826 (home-page "https://github.com/fimad/scalpel")
1827 (synopsis
1828 "High level web scraping library for Haskell")
1829 (description
1830 "Scalpel is a web scraping library inspired by libraries like Parsec
5adb2c1e 1831and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
9c3070ec
ASM
1832declarative and monadic interface.")
1833 (license license:asl2.0)))
868415d8
JS
1834
1835(define-public ghc-sourcemap
1836 (package
1837 (name "ghc-sourcemap")
1838 (version "0.1.6")
1839 (source
1840 (origin
1841 (method url-fetch)
1842 (uri (string-append
1843 "mirror://hackage/package/sourcemap/sourcemap-"
1844 version
1845 ".tar.gz"))
1846 (sha256
1847 (base32
1848 "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r"))))
1849 (build-system haskell-build-system)
1850 (inputs
1851 `(("ghc-aeson" ,ghc-aeson)
1852 ("ghc-unordered-containers" ,ghc-unordered-containers)
1853 ("ghc-attoparsec" ,ghc-attoparsec)
1854 ("ghc-utf8-string" ,ghc-utf8-string)))
1855 (arguments
1856 `(#:tests? #f ; FIXME: Fail to compile
1857 #:cabal-revision
1858 ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax")))
1859 (home-page
1860 "http://hackage.haskell.org/package/sourcemap")
1861 (synopsis
1862 "Implementation of source maps as proposed by Google and Mozilla")
1863 (description
1864 "Sourcemap provides an implementation of source maps, revision 3,
1865proposed by Google and Mozilla here
1866@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
1867 (license license:bsd-3)))
42e71286
JS
1868
1869(define-public ghc-language-javascript
1870 (package
1871 (name "ghc-language-javascript")
1872 (version "0.7.0.0")
1873 (source
1874 (origin
1875 (method url-fetch)
1876 (uri (string-append
1877 "mirror://hackage/package/language-javascript/language-javascript-"
1878 version
1879 ".tar.gz"))
1880 (sha256
1881 (base32
1882 "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk"))))
1883 (build-system haskell-build-system)
1884 (inputs
1885 `(("ghc-blaze-builder" ,ghc-blaze-builder)
1886 ("ghc-utf8-string" ,ghc-utf8-string)))
1887 (native-inputs
1888 `(("ghc-alex" ,ghc-alex)
1889 ("ghc-quickcheck" ,ghc-quickcheck)
1890 ("ghc-happy" ,ghc-happy)
1891 ("ghc-hspec" ,ghc-hspec)
1892 ("ghc-utf8-light" ,ghc-utf8-light)))
1893 (home-page
1894 "https://github.com/erikd/language-javascript")
1895 (synopsis "Parser for JavaScript")
1896 (description
1897 "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
1898as frontend to hjsmin.")
1899 (license license:bsd-3)))
03d4ea83
JS
1900
1901(define-public ghc-bower-json
1902 (package
1903 (name "ghc-bower-json")
1904 (version "1.0.0.1")
1905 (source
1906 (origin
1907 (method url-fetch)
1908 (uri (string-append
1909 "mirror://hackage/package/bower-json/bower-json-"
1910 version
1911 ".tar.gz"))
1912 (sha256
1913 (base32
1914 "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs"))))
1915 (build-system haskell-build-system)
1916 (inputs
1917 `(("ghc-aeson" ,ghc-aeson)
1918 ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
1919 ("ghc-scientific" ,ghc-scientific)
1920 ("ghc-transformers" ,ghc-transformers)
1921 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1922 (native-inputs
1923 `(("ghc-tasty" ,ghc-tasty)
1924 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
1925 (home-page "https://github.com/hdgarrood/bower-json")
1926 (synopsis "Read bower.json from Haskell")
1927 (description
1928 "This package provides a data type and ToJSON/FromJSON instances for
1929Bower's package manifest file, bower.json.")
1930 (license license:expat)))