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