gnu: sequoia: Update to 0.17.0.
[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")
44b7374a
RW
174 (outputs '("out" "doc"))
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)))
e95cc108
TS
571 (home-page "http://github.com/sjakobi/bsb-http-chunked")
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
RW
618 ("hspec-discover" ,hspec-discover)))
619 (home-page "http://github.com/yesodweb/wai")
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)))
674 (home-page "http://github.com/yesodweb/wai")
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)))
810 (home-page "http://www.yesodweb.com/")
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)
44b7374a
RW
907 (inputs
908 `(("ghc-blaze-builder" ,ghc-blaze-builder)
44b7374a 909 ("ghc-blaze-markup" ,ghc-blaze-markup)))
64b5cce9
RW
910 (native-inputs
911 `(("ghc-hunit" ,ghc-hunit)
912 ("ghc-quickcheck" ,ghc-quickcheck)
913 ("ghc-test-framework" ,ghc-test-framework)
914 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
915 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
44b7374a
RW
916 (home-page "http://jaspervdj.be/blaze")
917 (synopsis "Fast HTML combinator library")
918 (description "This library provides HTML combinators for Haskell.")
919 (license license:bsd-3)))
920
921(define-public ghc-aeson
922 (package
923 (name "ghc-aeson")
1c86a8aa 924 (version "1.4.5.0")
44b7374a
RW
925 (source
926 (origin
927 (method url-fetch)
928 (uri (string-append
929 "https://hackage.haskell.org/package/aeson/aeson-"
930 version
931 ".tar.gz"))
932 (sha256
933 (base32
1c86a8aa 934 "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz"))))
44b7374a
RW
935 (build-system haskell-build-system)
936 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
937 (inputs
938 `(("ghc-attoparsec" ,ghc-attoparsec)
e74e1ad6 939 ("ghc-base-compat" ,ghc-base-compat)
44b7374a 940 ("ghc-dlist" ,ghc-dlist)
e74e1ad6 941 ("ghc-hashable" ,ghc-hashable)
44b7374a 942 ("ghc-scientific" ,ghc-scientific)
e74e1ad6 943 ("ghc-tagged" ,ghc-tagged)
e74e1ad6
RW
944 ("ghc-th-abstraction" ,ghc-th-abstraction)
945 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
44b7374a 946 ("ghc-unordered-containers" ,ghc-unordered-containers)
e74e1ad6 947 ("ghc-uuid-types" ,ghc-uuid-types)
44b7374a 948 ("ghc-vector" ,ghc-vector)
44b7374a 949 ("ghc-hunit" ,ghc-hunit)
e74e1ad6
RW
950 ("ghc-quickcheck" ,ghc-quickcheck)
951 ("ghc-integer-logarithms" ,ghc-integer-logarithms)
952 ("ghc-base-orphans" ,ghc-base-orphans)
953 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
954 ("ghc-generic-deriving" ,ghc-generic-deriving)
955 ("ghc-test-framework" ,ghc-test-framework)
956 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
957 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
958 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
959 ("ghc-hashable-time" ,ghc-hashable-time)))
44b7374a
RW
960 (home-page "https://github.com/bos/aeson")
961 (synopsis "Fast JSON parsing and encoding")
962 (description "This package provides a JSON parsing and encoding library
963for Haskell, optimized for ease of use and high performance. (A note on
964naming: in Greek mythology, Aeson was the father of Jason.)")
965 (license license:bsd-3)))
966
967(define-public ghc-aeson-pretty
968 (package
969 (name "ghc-aeson-pretty")
cdffb73c 970 (version "0.8.8")
44b7374a
RW
971 (source (origin
972 (method url-fetch)
973 (uri (string-append
974 "https://hackage.haskell.org/package/aeson-pretty/aeson-pretty-"
975 version ".tar.gz"))
976 (sha256
977 (base32
cdffb73c 978 "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1"))))
44b7374a
RW
979 (build-system haskell-build-system)
980 (inputs
981 `(("ghc-aeson" ,ghc-aeson)
95796f81
RW
982 ("ghc-base-compat" ,ghc-base-compat)
983 ("ghc-scientific" ,ghc-scientific)
44b7374a 984 ("ghc-vector" ,ghc-vector)
95796f81 985 ("ghc-unordered-containers" ,ghc-unordered-containers)
44b7374a
RW
986 ("ghc-attoparsec" ,ghc-attoparsec)
987 ("ghc-cmdargs" ,ghc-cmdargs)))
988 (home-page "https://github.com/informatikr/aeson-pretty")
989 (synopsis "JSON pretty-printing library and command-line tool")
990 (description
991 "This package provides a JSON pretty-printing library compatible with aeson
7306eb5c 992as well as a command-line tool to improve readability of streams of JSON data.
44b7374a
RW
993The library provides the function @code{encodePretty}. It is a drop-in
994replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
995human readers. The command-line tool reads JSON from stdin and writes
996prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
997essentially the opposite of pretty-printing.")
998 (license license:bsd-3)))
999
1000(define-public ghc-aeson-qq
1001 (package
1002 (name "ghc-aeson-qq")
1a1cf03f 1003 (version "0.8.2")
44b7374a
RW
1004 (source (origin
1005 (method url-fetch)
1006 (uri (string-append "https://hackage.haskell.org/package/"
1007 "aeson-qq/aeson-qq-" version ".tar.gz"))
1008 (sha256
1009 (base32
1a1cf03f 1010 "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
44b7374a
RW
1011 (build-system haskell-build-system)
1012 (inputs
1013 `(("ghc-base-compat" ,ghc-base-compat)
44b7374a
RW
1014 ("ghc-attoparsec" ,ghc-attoparsec)
1015 ("ghc-scientific" ,ghc-scientific)
1016 ("ghc-vector" ,ghc-vector)
1017 ("ghc-aeson" ,ghc-aeson)
44b7374a
RW
1018 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
1019 (native-inputs
1020 `(("ghc-hspec" ,ghc-hspec)
1021 ("hspec-discover" ,hspec-discover)))
1022 (home-page "https://github.com/zalora/aeson-qq")
1023 (synopsis "JSON quasiquoter for Haskell")
1024 (description
1025 "aeson-qq provides a JSON quasiquoter for Haskell. This package exposes
1026the function @code{aesonQQ} that compile-time converts a string representation
1027of a JSON value into a @code{Data.Aeson.Value}.")
1028 (license license:expat)))
1029
e345d938
JS
1030(define-public ghc-aeson-better-errors
1031 (package
1032 (name "ghc-aeson-better-errors")
1033 (version "0.9.1.0")
1034 (source
1035 (origin
1036 (method url-fetch)
1037 (uri (string-append
1038 "mirror://hackage/package/aeson-better-errors/aeson-better-errors-"
1039 version
1040 ".tar.gz"))
1041 (sha256
1042 (base32
1043 "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38"))))
1044 (build-system haskell-build-system)
1045 (inputs
1046 `(("ghc-aeson" ,ghc-aeson)
1047 ("ghc-unordered-containers" ,ghc-unordered-containers)
1048 ("ghc-dlist" ,ghc-dlist)
1049 ("ghc-scientific" ,ghc-scientific)
1050 ("ghc-vector" ,ghc-vector)
1051 ("ghc-transformers-compat" ,ghc-transformers-compat)
1052 ("ghc-void" ,ghc-void)))
1053 (home-page
1054 "https://github.com/hdgarrood/aeson-better-errors")
1055 (synopsis
1056 "Better error messages when decoding JSON values in Haskell")
1057 (description
1058 "Gives you the tools to build parsers to decode JSON values, and gives
1059good error messages when parsing fails. See also
1060@url{http://harry.garrood.me/blog/aeson-better-errors/}.")
1061 (license license:expat)))
1062
44b7374a
RW
1063(define-public ghc-multipart
1064 (package
1065 (name "ghc-multipart")
4729cfac 1066 (version "0.1.3")
44b7374a
RW
1067 (source
1068 (origin
1069 (method url-fetch)
1070 (uri (string-append
1071 "https://hackage.haskell.org/package/multipart/multipart-"
1072 version
1073 ".tar.gz"))
1074 (sha256
1075 (base32
4729cfac 1076 "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
44b7374a 1077 (build-system haskell-build-system)
4729cfac 1078 (inputs
a1eb8be8 1079 `(("ghc-stringsearch" ,ghc-stringsearch)))
44b7374a
RW
1080 (home-page
1081 "http://www.github.com/silkapp/multipart")
1082 (synopsis
1083 "HTTP multipart library")
1084 (description
1085 "HTTP multipart split out of the cgi package, for Haskell.")
1086 (license license:bsd-3)))
7df5669f
AW
1087
1088(define-public ghc-uri-encode
1089 (package
1090 (name "ghc-uri-encode")
1091 (version "1.5.0.5")
1092 (source
1093 (origin
1094 (method url-fetch)
1095 (uri (string-append
1096 "https://hackage.haskell.org/package/uri-encode/uri-encode-"
1097 version ".tar.gz"))
1098 (sha256
1099 (base32
1100 "11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
1101 (build-system haskell-build-system)
1102 (inputs
a1eb8be8 1103 `(("ghc-utf8-string" ,ghc-utf8-string)
7df5669f
AW
1104 ("ghc-network-uri" ,ghc-network-uri)))
1105 (home-page "https://hackage.haskell.org/package/uri-encode")
1106 (synopsis "Unicode aware uri-encoding")
1107 (description "Unicode aware uri-encoding for Haskell.")
1108 (license license:bsd-3)))
448d6226 1109
1110(define-public ghc-path-pieces
1111 (package
1112 (name "ghc-path-pieces")
1113 (version "0.2.1")
1114 (source
1115 (origin
1116 (method url-fetch)
1117 (uri (string-append "https://hackage.haskell.org/package/"
1118 "path-pieces-" version "/"
1119 "path-pieces-" version ".tar.gz"))
1120 (sha256
1121 (base32
1122 "0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
1123 (build-system haskell-build-system)
448d6226 1124 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1125 ("ghc-hspec" ,ghc-hspec)
1126 ("ghc-quickcheck" ,ghc-quickcheck)))
1127 (home-page "https://github.com/yesodweb/path-pieces")
1128 (synopsis "Used in Yesod to automatically marshall data in the request path")
1129 (description "This Haskell package provides two typeclasses for converting
1130Haskell data types to and from route pieces.")
1131 (license license:bsd-3)))
122260b3 1132
1133(define-public ghc-skein
1134 (package
1135 (name "ghc-skein")
1136 (version "1.0.9.4")
1137 (source
1138 (origin
1139 (method url-fetch)
1140 (uri (string-append "https://hackage.haskell.org/package/"
1141 "skein-" version "/"
1142 "skein-" version ".tar.gz"))
1143 (sha256
1144 (base32
1145 "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
1146 (build-system haskell-build-system)
1147 (inputs `(("ghc-cereal" ,ghc-cereal)
1148 ("ghc-tagged" ,ghc-tagged)
1149 ("ghc-crpto-api" ,ghc-crypto-api)))
1150 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
1151 (home-page "https://github.com/yesodweb/path-pieces")
1152 (synopsis "Skein family of cryptographic hash functions for Haskell")
1153 (description "@uref{(http://www.skein-hash.info, Skein} is a family of
1154fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
1155Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
1156Callas and Jesse Walker.
1157
1158This Haskell package uses bindings to the optimized C implementation of Skein.")
1159 (license license:bsd-3)))
15b9ce63 1160
1161(define-public ghc-clientsession
1162 (package
1163 (name "ghc-clientsession")
1164 (version "0.9.1.2")
1165 (source
1166 (origin
1167 (method url-fetch)
1168 (uri (string-append "https://hackage.haskell.org/package/"
1169 "clientsession-" version "/"
1170 "clientsession-" version ".tar.gz"))
1171 (sha256
1172 (base32
1173 "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
1174 (build-system haskell-build-system)
1175 (inputs `(("ghc-cereal" ,ghc-cereal)
1176 ("ghc-tagged" ,ghc-tagged)
1177 ("ghc-crypto-api" ,ghc-crypto-api)
1178 ("ghc-skein" ,ghc-skein)
1179 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1180 ("ghc-entropy" ,ghc-entropy)
1181 ("ghc-cprng-aes" ,ghc-cprng-aes)
1182 ("ghc-cipher-aes" ,ghc-cipher-aes)
1183 ("ghc-crypto-random" ,ghc-crypto-random)
1184 ("ghc-setenv" ,ghc-setenv)))
1185 (native-inputs `(("ghc-hunit" ,ghc-hunit)
1186 ("ghc-hspec" ,ghc-hspec)
1187 ("ghc-quickcheck" ,ghc-quickcheck)))
1188 (home-page "https://github.com/yesodweb/clientsession/tree/master")
1189 (synopsis "Haskell library for securely store session data in a
1190client-side cookie")
1191 (description "This Haskell package achieves security through AES-CTR
1192encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
1193avoid any issues with characters.")
1194 (license license:expat)))
aebe9d25 1195
1196(define-public ghc-yesod-core
1197 (package
1198 (name "ghc-yesod-core")
fd7e8dcf 1199 (version "1.6.16.1")
aebe9d25 1200 (source
1201 (origin
1202 (method url-fetch)
1203 (uri (string-append "https://hackage.haskell.org/package/"
1204 "yesod-core-" version "/"
1205 "yesod-core-" version ".tar.gz"))
1206 (sha256
1207 (base32
fd7e8dcf 1208 "0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2"))))
aebe9d25 1209 (build-system haskell-build-system)
1210 (inputs `(("ghc-wai" ,ghc-wai)
1211 ("ghc-extra" ,ghc-extra)
aebe9d25 1212 ("ghc-shakespeare" ,ghc-shakespeare)
1213 ("ghc-blaze-builder" ,ghc-blaze-builder)
aebe9d25 1214 ("ghc-clientsession" ,ghc-clientsession)
1215 ("ghc-random" ,ghc-random)
1216 ("ghc-cereal" ,ghc-cereal)
1217 ("ghc-old-locale" ,ghc-old-locale)
0ea695f6 1218 ("ghc-unliftio" ,ghc-unliftio)
aebe9d25 1219 ("ghc-unordered-containers" ,ghc-unordered-containers)
1220 ("ghc-monad-control" ,ghc-monad-control)
1221 ("ghc-transformers-base" ,ghc-transformers-base)
1222 ("ghc-cookie" ,ghc-cookie)
1223 ("ghc-http-types" ,ghc-http-types)
1224 ("ghc-case-insensitive" ,ghc-case-insensitive)
aebe9d25 1225 ("ghc-vector" ,ghc-vector)
1226 ("ghc-aeson" ,ghc-aeson)
1227 ("ghc-fast-logger" ,ghc-fast-logger)
1228 ("ghc-wai-logger" ,ghc-wai-logger)
1229 ("ghc-monad-logger" ,ghc-monad-logger)
1230 ("ghc-conduit" ,ghc-conduit)
1231 ("ghc-resourcet" ,ghc-resourcet)
0ea695f6 1232 ("ghc-rio" ,ghc-rio)
aebe9d25 1233 ("ghc-lifted-base" ,ghc-lifted-base)
1234 ("ghc-blaze-html" ,ghc-blaze-html)
1235 ("ghc-blaze-markup" ,ghc-blaze-markup)
1236 ("ghc-data-default" ,ghc-data-default)
1237 ("ghc-safe" ,ghc-safe)
1238 ("ghc-warp" ,ghc-warp)
1239 ("ghc-unix-compat" ,ghc-unix-compat)
1240 ("ghc-conduit-extra" ,ghc-conduit-extra)
1241 ("ghc-exceptions" ,ghc-exceptions)
1242 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
1243 ("ghc-mwc-random" ,ghc-mwc-random)
1244 ("ghc-primitive" ,ghc-primitive)
1245 ("ghc-word8" ,ghc-word8)
1246 ("ghc-auto-update" ,ghc-auto-update)
1247 ("ghc-semigroups" ,ghc-semigroups)
1248 ("ghc-byteable" ,ghc-byteable)))
1249 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1250 ("ghc-path-pieces" ,ghc-path-pieces)
1251 ("ghc-hunit" ,ghc-hunit)
1252 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
1253 ("ghc-quickcheck" ,ghc-quickcheck)
1254 ("ghc-network" ,ghc-network)
1255 ("ghc-async" ,ghc-async)
1256 ("ghc-streaming-commons" ,ghc-streaming-commons)
1257 ("ghc-wai-extra" ,ghc-wai-extra)))
1258 (home-page "https://www.yesodweb.com")
1259 (synopsis "Core package for the Yesod web framework")
1260 (description "This Haskell package provides all core functionality, for
1261Yesod, on which other packages can be built. It provides dispatch, handler
1262functions, widgets, etc.")
1263 (license license:expat)))
d1992741 1264
1265(define-public ghc-yesod-persistent
1266 (package
1267 (name "ghc-yesod-persistent")
96c813ce 1268 (version "1.6.0.4")
d1992741 1269 (source
1270 (origin
1271 (method url-fetch)
1272 (uri (string-append "https://hackage.haskell.org/package/"
1273 "yesod-persistent-" version "/"
1274 "yesod-persistent-" version ".tar.gz"))
1275 (sha256
1276 (base32
96c813ce 1277 "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
d1992741 1278 (build-system haskell-build-system)
1279 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
1280 (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
1281 ("ghc-persistent" ,ghc-persistent)
1282 ("ghc-persistent-template" ,ghc-persistent-template)
1283 ("ghc-blaze-builder" ,ghc-blaze-builder)
1284 ("ghc-conduit" ,ghc-conduit)
1285 ("ghc-resourcet" ,ghc-resourcet)
1286 ("ghc-resource-pool" ,ghc-resource-pool)))
1287 (native-inputs `(("ghc-hspec" ,ghc-hspec)
1288 ("ghc-wai-extra" ,ghc-wai-extra)
1289 ("ghc-yesod-core" ,ghc-yesod-core)
a1eb8be8 1290 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
d1992741 1291 (home-page "http://www.yesodweb.com/")
1292 (synopsis "Helpers for using Persistent from Yesod")
1293 (description "This Haskell package provides helpers for using Persistent
1294from Yesod.")
1295 (license license:expat)))
6faa30c1 1296
1297(define-public ghc-yesod-form
1298 (package
1299 (name "ghc-yesod-form")
b38a7838 1300 (version "1.6.7")
6faa30c1 1301 (source
1302 (origin
1303 (method url-fetch)
1304 (uri (string-append
1305 "https://hackage.haskell.org/package/yesod-form/yesod-form-"
1306 version
1307 ".tar.gz"))
1308 (sha256
1309 (base32
b38a7838 1310 "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
6faa30c1 1311 (build-system haskell-build-system)
1312 (inputs
1313 `(("ghc-yesod-core" ,ghc-yesod-core)
1314 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1315 ("ghc-shakespeare" ,ghc-shakespeare)
1316 ("ghc-persistent" ,ghc-persistent)
1317 ("ghc-data-default" ,ghc-data-default)
1318 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1319 ("ghc-blaze-builder" ,ghc-blaze-builder)
1320 ("ghc-email-validate" ,ghc-email-validate)
6faa30c1 1321 ("ghc-wai" ,ghc-wai)
1322 ("ghc-blaze-html" ,ghc-blaze-html)
1323 ("ghc-blaze-markup" ,ghc-blaze-markup)
1324 ("ghc-attoparsec" ,ghc-attoparsec)
1325 ("ghc-byteable" ,ghc-byteable)
1326 ("ghc-aeson" ,ghc-aeson)
1327 ("ghc-resourcet" ,ghc-resourcet)
1328 ("ghc-semigroups" ,ghc-semigroups)
1329 ("ghc-network-uri" ,ghc-network-uri)
1330 ("ghc-hspec" ,ghc-hspec)))
1331 (home-page "https://www.yesodweb.com")
1332 (synopsis "Form handling support for Yesod Web Framework")
1333 (description "This Haskell package provies a set of basic form inputs such
1334as text, number, time, checkbox, select, textarea, etc through the
1335@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
1336providing richtext field using Nic editor. ")
1337 (license license:expat)))
42469226 1338
1339(define-public ghc-yesod
1340 (package
1341 (name "ghc-yesod")
662fd1a8 1342 (version "1.6.0")
42469226 1343 (source
1344 (origin
1345 (method url-fetch)
1346 (uri (string-append
1347 "https://hackage.haskell.org/package/yesod/yesod-"
1348 version ".tar.gz"))
1349 (sha256
1350 (base32
662fd1a8 1351 "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
42469226 1352 (build-system haskell-build-system)
1353 (inputs
1354 `(("ghc-yesod-core" ,ghc-yesod-core)
1355 ("ghc-yesod-persistent" ,ghc-yesod-persistent)
1356 ("ghc-yesod-form" ,ghc-yesod-form)
1357 ("ghc-monad-control" ,ghc-monad-control)
1358 ("ghc-wai" ,ghc-wai)
1359 ("ghc-wai-extra" ,ghc-wai-extra)
1360 ("ghc-warp" ,ghc-warp)
1361 ("ghc-blaze-html" ,ghc-blaze-html)
1362 ("ghc-blaze-markup" ,ghc-blaze-markup)
1363 ("ghc-aeson" ,ghc-aeson)
1364 ("ghc-data-default-class" ,ghc-data-default-class)
1365 ("ghc-unordered-containers" ,ghc-unordered-containers)
1366 ("ghc-yaml" ,ghc-yaml)
42469226 1367 ("ghc-monad-logger" ,ghc-monad-logger)
1368 ("ghc-fast-logger" ,ghc-fast-logger)
1369 ("ghc-conduit" ,ghc-conduit)
1370 ("ghc-conduit-extra" ,ghc-conduit-extra)
1371 ("ghc-resourcet" ,ghc-resourcet)
1372 ("ghc-shakespeare" ,ghc-shakespeare)
1373 ("ghc-streaming-commons" ,ghc-streaming-commons)
1374 ("ghc-wai-logger" ,ghc-wai-logger)
1375 ("ghc-semigroups" ,ghc-semigroups)))
1376 (home-page "https://www.yesodweb.com")
1377 (synopsis "Framework for creating type-safe, RESTful web applications")
1378 (description "The Haskell package package groups together the various
1379Yesod related packages into one cohesive whole. This is the version of Yesod,
1380whereas most of the core code lives in @code{ghc-yesod-core}.")
1381 (license license:expat)))
aea505a9
LC
1382
1383(define-public ghc-hxt-charproperties
1384 (package
1385 (name "ghc-hxt-charproperties")
f8cfee06 1386 (version "9.4.0.0")
aea505a9
LC
1387 (source
1388 (origin
1389 (method url-fetch)
1390 (uri (string-append "https://hackage.haskell.org/package/"
1391 "hxt-charproperties/hxt-charproperties-"
1392 version ".tar.gz"))
1393 (sha256
1394 (base32
f8cfee06 1395 "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"))))
aea505a9
LC
1396 (build-system haskell-build-system)
1397 (home-page "https://github.com/UweSchmidt/hxt")
1398 (synopsis "Character properties and classes for XML and Unicode")
1399 (description
1400 "The modules provided by this package contain predicates for Unicode
1401blocks and char properties and character predicates defined by XML. The
1402supported Unicode version is 7.0.0")
1403 (license license:expat)))
1404
1405(define-public ghc-hxt-unicode
1406 (package
1407 (name "ghc-hxt-unicode")
1408 (version "9.0.2.4")
1409 (source
1410 (origin
1411 (method url-fetch)
1412 (uri (string-append
1413 "https://hackage.haskell.org/package/hxt-unicode/hxt-unicode-"
1414 version
1415 ".tar.gz"))
1416 (sha256
1417 (base32
1418 "0rj48cy8z4fl3zpg5bpa458kqr83adav6jnqv4i71dclpprj6n3v"))))
1419 (build-system haskell-build-system)
1420 (inputs
1421 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)))
1422 (home-page
1423 "http://www.fh-wedel.de/~si/HXmlToolbox/index.html https://github.com/UweSchmidt/hxt")
1424 (synopsis
1425 "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings")
1426 (description
1427 "This package provides Unicode encoding and decoding functions for
1428encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
1429are supported. Decoding is done with lazy functions, errors may be detected or
1430ignored.")
1431 (license license:expat)))
1432
1433(define-public ghc-hxt-regex-xmlschema
1434 (package
1435 (name "ghc-hxt-regex-xmlschema")
1436 (version "9.2.0.3")
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append "https://hackage.haskell.org/package/"
1441 "hxt-regex-xmlschema/hxt-regex-xmlschema-"
1442 version ".tar.gz"))
1443 (sha256
1444 (base32
1445 "1c4jr0439f5yc05h7iz53fa47g6l2wrvqp6gvwf01mlqajk3nx7l"))))
1446 (build-system haskell-build-system)
1447 (inputs
1448 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
aea505a9
LC
1449 ("ghc-hunit" ,ghc-hunit)))
1450 (home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
1451 (synopsis "Regular expression library for W3C XML Schema regular expressions")
1452 (description
1453 "This library supports full W3C XML Schema regular expressions inclusive
1454all Unicode character sets and blocks. It is implemented by the technique of
1455derivations of regular expressions.")
1456 (license license:expat)))
1457
1458(define-public ghc-hxt
1459 (package
1460 (name "ghc-hxt")
8fd2a816 1461 (version "9.3.1.18")
aea505a9
LC
1462 (source
1463 (origin
1464 (method url-fetch)
1465 (uri (string-append
1466 "https://hackage.haskell.org/package/hxt/hxt-"
1467 version
1468 ".tar.gz"))
1469 (sha256
1470 (base32
8fd2a816 1471 "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"))))
aea505a9
LC
1472 (build-system haskell-build-system)
1473 (inputs
a1eb8be8 1474 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
aea505a9
LC
1475 ("ghc-hxt-unicode" ,ghc-hxt-unicode)
1476 ("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
1477 ("ghc-network-uri" ,ghc-network-uri)))
1478 (home-page "https://github.com/UweSchmidt/hxt")
1479 (synopsis "Collection of tools for processing XML with Haskell")
1480 (description
1481 "The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
1482introduces a more general approach for processing XML with Haskell.")
1483 (license license:expat)))
0173cdd3
RV
1484
1485(define-public ghc-http-common
1486 (package
1487 (name "ghc-http-common")
1488 (version "0.8.2.0")
1489 (source
1490 (origin
1491 (method url-fetch)
1492 (uri (string-append "https://hackage.haskell.org/package/"
1493 "http-common/http-common-" version ".tar.gz"))
1494 (sha256
1495 (base32
1496 "14s5a178sb2vm5k00rs21760mds5dz2gs10k9iyn22h01mxyf599"))))
1497 (build-system haskell-build-system)
1498 (inputs
1499 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
1500 ("ghc-blaze-builder" ,ghc-blaze-builder)
1501 ("ghc-case-insensitive" ,ghc-case-insensitive)
1502 ("ghc-network" ,ghc-network)
1503 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1504 (home-page "https://github.com/afcowie/http-streams/")
1505 (synopsis "Common types for HTTP clients and servers")
1506 (description "Base types used by a variety of HTTP clients and
1507servers. See http-streams @code{Network.Http.Client} or pipes-http
1508@code{Pipes.Http.Client} for full documentation. You can import
1509@code{Network.Http.Types} if you like, but both http-streams and
1510pipes-http re-export this package's types and functions.")
1511 (license license:bsd-3)))
4ccd679f
RV
1512
1513(define-public ghc-http-streams
1514 (package
1515 (name "ghc-http-streams")
1516 (version "0.8.6.1")
1517 (source
1518 (origin
1519 (method url-fetch)
1520 (uri (string-append "https://hackage.haskell.org/package/"
1521 "http-streams/http-streams-" version ".tar.gz"))
1522 (sha256
1523 (base32
1524 "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq"))))
1525 (build-system haskell-build-system)
1526 (inputs
1527 `(("ghc-attoparsec" ,ghc-attoparsec)
1528 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1529 ("ghc-blaze-builder" ,ghc-blaze-builder)
1530 ("ghc-case-insensitive" ,ghc-case-insensitive)
1531 ("ghc-io-streams" ,ghc-io-streams)
1532 ("ghc-hsopenssl" ,ghc-hsopenssl)
1533 ("ghc-openssl-streams" ,ghc-openssl-streams)
1534 ("ghc-unordered-containers" ,ghc-unordered-containers)
1535 ("ghc-aeson" ,ghc-aeson)
1536 ("ghc-http-common" ,ghc-http-common)
1537 ("ghc-network-uri" ,ghc-network-uri)
1538 ("ghc-network" ,ghc-network)))
1539 (arguments
1540 `(#:tests? #f)) ; tests rely on an outdated version of snap-server
1541 (home-page "https://github.com/afcowie/http-streams/")
1542 (synopsis "HTTP client using io-streams")
1543 (description "An HTTP client using the Snap Framework's io-streams
1544library to handle the streaming IO. The API is optimized for ease of
1545use for the rather common case of code needing to query web services and
1546deal with the result.")
1547 (license license:bsd-3)))
4f1793a2
RV
1548
1549(define-public ghc-snap-core
1550 (package
1551 (name "ghc-snap-core")
8a5924dc 1552 (version "1.0.4.0")
4f1793a2
RV
1553 (source
1554 (origin
1555 (method url-fetch)
1556 (uri (string-append "https://hackage.haskell.org/package/"
1557 "snap-core/snap-core-" version ".tar.gz"))
1558 (sha256
1559 (base32
8a5924dc 1560 "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr"))))
4f1793a2
RV
1561 (build-system haskell-build-system)
1562 (inputs
1563 `(("ghc-old-locale" ,ghc-old-locale)
1564 ("ghc-hunit" ,ghc-hunit)
1565 ("ghc-attoparsec" ,ghc-attoparsec)
1566 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
1567 ("ghc-case-insensitive" ,ghc-case-insensitive)
1568 ("ghc-lifted-base" ,ghc-lifted-base)
1569 ("ghc-io-streams" ,ghc-io-streams)
1570 ("ghc-hashable" ,ghc-hashable)
1571 ("ghc-monad-control" ,ghc-monad-control)
1572 ("ghc-random" ,ghc-random)
1573 ("ghc-readable" ,ghc-readable)
1574 ("ghc-regex-posix" ,ghc-regex-posix)
1575 ("ghc-transformers-base" ,ghc-transformers-base)
1576 ("ghc-unix-compat" ,ghc-unix-compat)
1577 ("ghc-unordered-containers" ,ghc-unordered-containers)
1578 ("ghc-vector" ,ghc-vector)
1579 ("ghc-network-uri" ,ghc-network-uri)
1580 ("ghc-network" ,ghc-network)))
1581 (native-inputs
1582 `(("ghc-quickcheck" ,ghc-quickcheck)
1583 ("ghc-parallel" ,ghc-parallel)
1584 ("ghc-test-framework" ,ghc-test-framework)
1585 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1586 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
1587 ("ghc-zlib" ,ghc-zlib)))
4f1793a2
RV
1588 (home-page "http://snapframework.com/")
1589 (synopsis "Haskell Web Framework (core interfaces and types)")
1590 (description "Snap is a simple and fast web development framework
1591and server written in Haskell. For more information, you can visit the
1592Snap project website at @uref{http://snapframework.com/}. This library
1593contains the core definitions and types for the Snap framework.")
1594 (license license:bsd-3)))
8ede1021
RV
1595
1596(define-public ghc-snap-server
1597 (package
1598 (name "ghc-snap-server")
ae7fe908 1599 (version "1.1.1.1")
8ede1021
RV
1600 (source
1601 (origin
1602 (method url-fetch)
1603 (uri (string-append "https://hackage.haskell.org/package/"
1604 "snap-server/snap-server-" version ".tar.gz"))
1605 (sha256
1606 (base32
ae7fe908 1607 "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"))))
8ede1021
RV
1608 (build-system haskell-build-system)
1609 (inputs
1610 `(("ghc-attoparsec" ,ghc-attoparsec)
1611 ("ghc-blaze-builder" ,ghc-blaze-builder)
1612 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
1613 ("ghc-case-insensitive" ,ghc-case-insensitive)
1614 ("ghc-clock" ,ghc-clock)
1615 ("ghc-io-streams" ,ghc-io-streams)
1616 ("ghc-io-streams-haproxy" ,ghc-io-streams-haproxy)
1617 ("ghc-lifted-base" ,ghc-lifted-base)
1618 ("ghc-network" ,ghc-network)
1619 ("ghc-old-locale" ,ghc-old-locale)
1620 ("ghc-snap-core" ,ghc-snap-core)
1621 ("ghc-unix-compat" ,ghc-unix-compat)
1622 ("ghc-vector" ,ghc-vector)))
1623 (native-inputs
1624 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
1625 ("ghc-monad-control" ,ghc-monad-control)
1626 ("ghc-random" ,ghc-random)
1627 ("ghc-threads" ,ghc-threads)
1628 ("ghc-hunit" ,ghc-hunit)
1629 ("ghc-quickcheck" ,ghc-quickcheck)
1630 ("ghc-http-streams" ,ghc-http-streams)
1631 ("ghc-http-common" ,ghc-http-common)
1632 ("ghc-parallel" ,ghc-parallel)
1633 ("ghc-test-framework" ,ghc-test-framework)
1634 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1635 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1636 (arguments
1637 `(#:cabal-revision
ae7fe908 1638 ("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3")))
8ede1021
RV
1639 (home-page "http://snapframework.com/")
1640 (synopsis "Web server for the Snap Framework")
1641 (description "Snap is a simple and fast web development framework
1642and server written in Haskell. For more information, you can visit the
1643Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
1644server is a high performance web server library written in Haskell.
1645Together with the snap-core library upon which it depends, it provides a
1646clean and efficient Haskell programming interface to the HTTP
1647protocol.")
1648 (license license:bsd-3)))
621c0773
JS
1649
1650(define-public ghc-js-jquery
1651 (package
1652 (name "ghc-js-jquery")
1653 (version "3.3.1")
1654 (source
1655 (origin
1656 (method url-fetch)
1657 (uri
1658 (string-append
1659 "https://hackage.haskell.org/package/js-jquery/js-jquery-"
1660 version ".tar.gz"))
1661 (sha256
1662 (base32
1663 "16q68jzbs7kp07dnq8cprdcc8fd41rim38039vg0w4x11lgniq70"))))
1664 (build-system haskell-build-system)
1665 (arguments `(#:tests? #f)) ; tests do network IO
1666 (home-page "https://github.com/ndmitchell/js-jquery")
1667 (synopsis "Obtain minified jQuery code")
1668 (description "This package bundles the minified
1669@url{http://jquery.com/, jQuery} code into a Haskell package, so it can
1670be depended upon by Cabal packages. The first three components of the
1671version number match the upstream jQuery version. The package is
1672designed to meet the redistribution requirements of downstream
1673users (e.g. Debian).")
1674 (license license:expat)))
5b0fdbba
JS
1675
1676(define-public ghc-js-flot
1677 (package
1678 (name "ghc-js-flot")
1679 (version "0.8.3")
1680 (source
1681 (origin
1682 (method url-fetch)
1683 (uri
1684 (string-append
1685 "https://hackage.haskell.org/package/js-flot/js-flot-"
1686 version ".tar.gz"))
1687 (sha256
1688 (base32
1689 "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv"))))
1690 (build-system haskell-build-system)
1691 (inputs
1692 `(("ghc-http" ,ghc-http)))
1693 (home-page "https://github.com/ndmitchell/js-flot")
1694 (synopsis "Obtain minified flot code")
1695 (description "This package bundles the minified
1696@url{http://www.flotcharts.org/, Flot} code (a jQuery plotting library)
1697into a Haskell package, so it can be depended upon by Cabal packages.
1698The first three components of the version number match the upstream flot
1699version. The package is designed to meet the redistribution
1700requirements of downstream users (e.g. Debian).")
1701 (license license:expat)))
0eb8f530
BG
1702
1703(define-public ghc-happstack-server
1704 (package
1705 (name "ghc-happstack-server")
1706 (version "7.5.4")
1707 (source
1708 (origin
1709 (method url-fetch)
1710 (uri (string-append
1711 "https://hackage.haskell.org/package/happstack-server/happstack-server-"
1712 version ".tar.gz"))
1713 (sha256
1714 (base32
1715 "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70"))))
1716 (build-system haskell-build-system)
1717 (inputs
1718 `(("ghc-network" ,ghc-network)
1719 ("ghc-network-bsd" ,ghc-network-bsd)
1720 ("ghc-network-uri" ,ghc-network-uri)
1721 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1722 ("ghc-blaze-html" ,ghc-blaze-html)
1723 ("ghc-exceptions" ,ghc-exceptions)
1724 ("ghc-extensible-exceptions"
1725 ,ghc-extensible-exceptions)
1726 ("ghc-hslogger" ,ghc-hslogger)
1727 ("ghc-html" ,ghc-html)
1728 ("ghc-monad-control" ,ghc-monad-control)
1729 ("ghc-old-locale" ,ghc-old-locale)
1730 ("ghc-semigroups" ,ghc-semigroups)
1731 ("ghc-sendfile" ,ghc-sendfile)
1732 ("ghc-system-filepath" ,ghc-system-filepath)
1733 ("ghc-syb" ,ghc-syb)
1734 ("ghc-threads" ,ghc-threads)
1735 ("ghc-transformers-base" ,ghc-transformers-base)
1736 ("ghc-transformers-compat"
1737 ,ghc-transformers-compat)
1738 ("ghc-utf8-string" ,ghc-utf8-string)
1739 ("ghc-zlib" ,ghc-zlib)))
1740 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
1741 (home-page "http://happstack.com")
1742 (synopsis "Web related tools and services for Haskell")
1743 (description
1744 "Happstack Server provides an HTTP server and a rich set of functions for
1745routing requests, handling query parameters, generating responses, working with
1746cookies, serving files, and more.")
1747 (license license:bsd-3)))
1748
0ef07d79
BG
1749(define-public ghc-sendfile
1750 (package
1751 (name "ghc-sendfile")
1752 (version "0.7.11.1")
1753 (source
1754 (origin
1755 (method url-fetch)
1756 (uri (string-append
1757 "https://hackage.haskell.org/package/sendfile/sendfile-"
1758 version ".tar.gz"))
1759 (sha256
1760 (base32
1761 "0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"))))
1762 (build-system haskell-build-system)
1763 (inputs `(("ghc-network" ,ghc-network)))
1764 (home-page
1765 "https://hub.darcs.net/stepcut/sendfile")
1766 (synopsis "Portable sendfile library for Haskell")
1767 (description
1768 "Haskell library which exposes zero-copy sendfile functionality in a portable way.")
1769 (license license:bsd-3)))
a1c04f35
ASM
1770
1771(define-public ghc-scalpel-core
1772 (package
1773 (name "ghc-scalpel-core")
1774 (version "0.6.0")
1775 (source
1776 (origin
1777 (method url-fetch)
1778 (uri (string-append
1779 "https://hackage.haskell.org/package/scalpel-core/"
1780 "scalpel-core-" version ".tar.gz"))
1781 (sha256
1782 (base32
1783 "1qf0gnidyh8zk0acj99vn6hsj37m410lrm50sqpiv1i36rpmmsqh"))))
1784 (build-system haskell-build-system)
1785 (inputs
1786 `(("ghc-data-default" ,ghc-data-default)
1787 ("ghc-fail" ,ghc-fail)
1788 ("ghc-pointedlist" ,ghc-pointedlist)
1789 ("ghc-regex-base" ,ghc-regex-base)
1790 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
1791 ("ghc-tagsoup" ,ghc-tagsoup)
1792 ("ghc-vector" ,ghc-vector)))
1793 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
1794 (home-page "https://github.com/fimad/scalpel")
1795 (synopsis
1796 "High level web scraping library for Haskell")
1797 (description
1798 "Scalpel core provides a subset of the scalpel web scraping library
1799that is intended to have lightweight dependencies and to be free of all
1800non-Haskell dependencies.")
1801 (license license:asl2.0)))
9c3070ec
ASM
1802
1803(define-public ghc-scalpel
1804 (package
1805 (name "ghc-scalpel")
1806 (version "0.6.0")
1807 (source
1808 (origin
1809 (method url-fetch)
1810 (uri (string-append
1811 "https://hackage.haskell.org/package/scalpel/"
1812 "scalpel-" version ".tar.gz"))
1813 (sha256
1814 (base32
1815 "0jbrfcgljl8kbcwi2zqx1jp3c3dpxrkc94za44x56kcz68n89hlz"))))
1816 (build-system haskell-build-system)
1817 (inputs
1818 `(("ghc-scalpel-core" ,ghc-scalpel-core)
1819 ("ghc-case-insensitive" ,ghc-case-insensitive)
1820 ("ghc-data-default" ,ghc-data-default)
1821 ("ghc-http-client" ,ghc-http-client)
1822 ("ghc-http-client-tls" ,ghc-http-client-tls)
1823 ("ghc-tagsoup" ,ghc-tagsoup)))
1824 (home-page "https://github.com/fimad/scalpel")
1825 (synopsis
1826 "High level web scraping library for Haskell")
1827 (description
1828 "Scalpel is a web scraping library inspired by libraries like Parsec
5adb2c1e 1829and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
9c3070ec
ASM
1830declarative and monadic interface.")
1831 (license license:asl2.0)))
868415d8
JS
1832
1833(define-public ghc-sourcemap
1834 (package
1835 (name "ghc-sourcemap")
1836 (version "0.1.6")
1837 (source
1838 (origin
1839 (method url-fetch)
1840 (uri (string-append
1841 "mirror://hackage/package/sourcemap/sourcemap-"
1842 version
1843 ".tar.gz"))
1844 (sha256
1845 (base32
1846 "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r"))))
1847 (build-system haskell-build-system)
1848 (inputs
1849 `(("ghc-aeson" ,ghc-aeson)
1850 ("ghc-unordered-containers" ,ghc-unordered-containers)
1851 ("ghc-attoparsec" ,ghc-attoparsec)
1852 ("ghc-utf8-string" ,ghc-utf8-string)))
1853 (arguments
1854 `(#:tests? #f ; FIXME: Fail to compile
1855 #:cabal-revision
1856 ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax")))
1857 (home-page
1858 "http://hackage.haskell.org/package/sourcemap")
1859 (synopsis
1860 "Implementation of source maps as proposed by Google and Mozilla")
1861 (description
1862 "Sourcemap provides an implementation of source maps, revision 3,
1863proposed by Google and Mozilla here
1864@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
1865 (license license:bsd-3)))
42e71286
JS
1866
1867(define-public ghc-language-javascript
1868 (package
1869 (name "ghc-language-javascript")
1870 (version "0.7.0.0")
1871 (source
1872 (origin
1873 (method url-fetch)
1874 (uri (string-append
1875 "mirror://hackage/package/language-javascript/language-javascript-"
1876 version
1877 ".tar.gz"))
1878 (sha256
1879 (base32
1880 "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk"))))
1881 (build-system haskell-build-system)
1882 (inputs
1883 `(("ghc-blaze-builder" ,ghc-blaze-builder)
1884 ("ghc-utf8-string" ,ghc-utf8-string)))
1885 (native-inputs
1886 `(("ghc-alex" ,ghc-alex)
1887 ("ghc-quickcheck" ,ghc-quickcheck)
1888 ("ghc-happy" ,ghc-happy)
1889 ("ghc-hspec" ,ghc-hspec)
1890 ("ghc-utf8-light" ,ghc-utf8-light)))
1891 (home-page
1892 "https://github.com/erikd/language-javascript")
1893 (synopsis "Parser for JavaScript")
1894 (description
1895 "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended
1896as frontend to hjsmin.")
1897 (license license:bsd-3)))
03d4ea83
JS
1898
1899(define-public ghc-bower-json
1900 (package
1901 (name "ghc-bower-json")
1902 (version "1.0.0.1")
1903 (source
1904 (origin
1905 (method url-fetch)
1906 (uri (string-append
1907 "mirror://hackage/package/bower-json/bower-json-"
1908 version
1909 ".tar.gz"))
1910 (sha256
1911 (base32
1912 "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs"))))
1913 (build-system haskell-build-system)
1914 (inputs
1915 `(("ghc-aeson" ,ghc-aeson)
1916 ("ghc-aeson-better-errors" ,ghc-aeson-better-errors)
1917 ("ghc-scientific" ,ghc-scientific)
1918 ("ghc-transformers" ,ghc-transformers)
1919 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1920 (native-inputs
1921 `(("ghc-tasty" ,ghc-tasty)
1922 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
1923 (home-page "https://github.com/hdgarrood/bower-json")
1924 (synopsis "Read bower.json from Haskell")
1925 (description
1926 "This package provides a data type and ToJSON/FromJSON instances for
1927Bower's package manifest file, bower.json.")
1928 (license license:expat)))