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