gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / haskell-web.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
3 ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
4 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
5 ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
6 ;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
7 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
8 ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
9 ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
10 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
11 ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
12 ;;; Copyright © 2020 Kyle Meyer <kyle@kyleam.com>
13 ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
14 ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
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)
33 #:use-module (gnu packages curl)
34 #:use-module (gnu packages haskell)
35 #:use-module (gnu packages haskell-check)
36 #:use-module (gnu packages haskell-crypto)
37 #:use-module (gnu packages haskell-xyz)
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")
47 (version "0.14.8")
48 (source
49 (origin
50 (method url-fetch)
51 (uri (string-append "https://hackage.haskell.org/package/tagsoup/"
52 "tagsoup-" version ".tar.gz"))
53 (sha256
54 (base32
55 "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms"))))
56 (build-system haskell-build-system)
57 (native-inputs
58 `(("ghc-quickcheck" ,ghc-quickcheck)))
59 (home-page "https://github.com/ndmitchell/tagsoup")
60 (synopsis
61 "Parsing and extracting information from (possibly malformed) HTML/XML
62 documents")
63 (description
64 "TagSoup is a library for parsing HTML/XML. It supports the HTML 5
65 specification, and can be used to parse either well-formed XML, or
66 unstructured and malformed HTML from the web. The library also provides
67 useful functions to extract information from an HTML document, making it ideal
68 for screen-scraping.")
69 (license license:bsd-3)))
70
71 (define-public ghc-cookie
72 (package
73 (name "ghc-cookie")
74 (version "0.4.4")
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
84 "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j"))))
85 (build-system haskell-build-system)
86 (inputs
87 `(("ghc-old-locale" ,ghc-old-locale)
88 ("ghc-blaze-builder" ,ghc-blaze-builder)
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
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.
118 This package provides a Haskell binding to libcurl.")
119 (license license:bsd-3)))
120
121 (define-public ghc-httpd-shed
122 (package
123 (name "ghc-httpd-shed")
124 (version "0.4.1.1")
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
132 "19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr"))))
133 (build-system haskell-build-system)
134 (inputs
135 `(("ghc-network-bsd" ,ghc-network-bsd)
136 ("ghc-network-uri" ,ghc-network-uri)
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
142 Response} into a local web server. The user can decide how to interpret the
143 requests, and the library is intended for implementing Ajax APIs.")
144 (license license:bsd-3)))
145
146 (define-public ghc-http-types
147 (package
148 (name "ghc-http-types")
149 (version "0.12.3")
150 (source
151 (origin
152 (method url-fetch)
153 (uri (string-append "https://hackage.haskell.org/package/http-types/"
154 "http-types-" version ".tar.gz"))
155 (sha256
156 (base32
157 "05j00b9nqmwh9zaq9y9x50k81v2pd3j7a71kd91zlnbl8xk4m2jf"))))
158 (build-system haskell-build-system)
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)))
165 (inputs
166 `(("ghc-case-insensitive" ,ghc-case-insensitive)))
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
170 both client and server code).")
171 (license license:bsd-3)))
172
173 (define-public ghc-http
174 (package
175 (name "ghc-http")
176 (version "4000.3.14")
177 (outputs '("out" "static" "doc"))
178 (source
179 (origin
180 (method url-fetch)
181 (uri (string-append "https://hackage.haskell.org/package/HTTP/"
182 "HTTP-" version ".tar.gz"))
183 (sha256
184 (base32
185 "0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"))))
186 (build-system haskell-build-system)
187 (native-inputs
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)))
192 (inputs
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)
198 ("ghc-puremd5" ,ghc-puremd5)
199 ("ghc-network" ,ghc-network)
200 ("ghc-network-uri" ,ghc-network-uri)
201 ("ghc-split" ,ghc-split)))
202 (arguments
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 #-}
214 module Paths_HTTP (version) where
215 import Data.Version (Version(..))
216 version :: Version
217 version = Version [~a] []
218 " (string-map (lambda (chr) (if (eq? chr #\.) #\, chr)) ,version))))
219 #t)))))
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
224 lets you set up HTTP connections, transmitting requests and processing the
225 responses coming back.")
226 (license license:bsd-3)))
227
228 (define-public ghc-http-client
229 (package
230 (name "ghc-http-client")
231 (version "0.6.4")
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
239 "1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"))))
240 (build-system haskell-build-system)
241 ;; Tests require access to the web.
242 (arguments `(#:tests? #f))
243 (inputs
244 `(("ghc-async" ,ghc-async)
245 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
246 ("ghc-blaze-builder" ,ghc-blaze-builder)
247 ("ghc-case-insensitive" ,ghc-case-insensitive)
248 ("ghc-cookie" ,ghc-cookie)
249 ("ghc-data-default-class" ,ghc-data-default-class)
250 ("ghc-exceptions" ,ghc-exceptions)
251 ("ghc-http-types" ,ghc-http-types)
252 ("ghc-memory" ,ghc-memory)
253 ("ghc-mime-types" ,ghc-mime-types)
254 ("ghc-monad-control" ,ghc-monad-control)
255 ("ghc-network" ,ghc-network)
256 ("ghc-network-uri" ,ghc-network-uri)
257 ("ghc-random" ,ghc-random)
258 ("ghc-streaming-commons" ,ghc-streaming-commons)
259 ("ghc-zlib" ,ghc-zlib)))
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
266 for more user-friendly packages.")
267 (license license:expat)))
268
269 (define-public ghc-http-client-tls
270 (package
271 (name "ghc-http-client-tls")
272 (version "0.3.5.3")
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
280 "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7"))))
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
297 connection and TLS libraries. It is intended for use by higher-level
298 libraries, such as http-conduit.")
299 (license license:expat)))
300
301 (define-public ghc-http-date
302 (package
303 (name "ghc-http-date")
304 (version "0.0.8")
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
313 "09slbzqayjnqqz9zybk7slgzvizgplikqgg4b2flzgks91466k0g"))))
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
325 Date in Haskell.")
326 (license license:bsd-3)))
327
328 (define-public ghc-http2
329 (package
330 (name "ghc-http2")
331 (version "1.6.5")
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
340 "1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn"))))
341 (build-system haskell-build-system)
342 (inputs
343 `(("ghc-case-insensitive" ,ghc-case-insensitive)
344 ("ghc-network-byte-order" ,ghc-network-byte-order)
345 ("ghc-aeson" ,ghc-aeson)
346 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
347 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
348 ("ghc-unordered-containers" ,ghc-unordered-containers)
349 ("ghc-vector" ,ghc-vector)
350 ("ghc-word8" ,ghc-word8)
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)))
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
360 and 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")
366 (version "2.3.7.3")
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"))
373 (sha256
374 (base32
375 "00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs"))))
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)
391 ("ghc-exceptions" ,ghc-exceptions)
392 ("ghc-unliftio" ,ghc-unliftio)))
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)
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)
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
418 contents of the HTTP connection. It also provides higher-level functions
419 which allow you to avoid direct usage of conduits.")
420 (license license:bsd-3)))
421
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
460 approach uses the same technique as leveraged by keter, whereas the WAI
461 approach performs full request/response parsing via WAI and http-conduit.")
462 (license license:bsd-3)))
463
464 (define-public ghc-wai
465 (package
466 (name "ghc-wai")
467 (version "3.2.2.1")
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
477 "058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy"))))
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)
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)
494 library for the Haskell language. It defines a common protocol for
495 communication 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")
501 (version "2.3.5")
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
511 "05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"))))
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")
534 (version "3.0.28")
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
544 "0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"))))
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)
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)
563 ("ghc-http2" ,ghc-http2)
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
576 functionality.")
577 (license license:expat)))
578
579 (define-public ghc-wai-conduit
580 (package
581 (name "ghc-wai-conduit")
582 (version "3.0.0.4")
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
591 "07yn41rn2skd5p3wqqa09wa761vj7ibl8l19gh4bi4i8slxhk417"))))
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
601 Haskell's Web Application Interface (WAI).")
602 (license license:expat)))
603
604 (define-public ghc-bsb-http-chunked
605 (package
606 (name "ghc-bsb-http-chunked")
607 (version "0.0.0.4")
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
617 "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"))))
618 (build-system haskell-build-system)
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))))))
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)))
632 (home-page "https://github.com/sjakobi/bsb-http-chunked")
633 (synopsis "Chunked HTTP transfer encoding for bytestring builders")
634 (description "This Haskell library contains functions for encoding
635 bytestring builders for chunked Hypertext Transfer Protocol (HTTP) 1.1
636 transfers.")
637 (license license:bsd-3)))
638
639 (define-public ghc-warp
640 (package
641 (name "ghc-warp")
642 (version "3.2.28")
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
650 (base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"))))
651 (build-system haskell-build-system)
652 (inputs
653 `(("ghc-async" ,ghc-async)
654 ("ghc-auto-update" ,ghc-auto-update)
655 ("ghc-bsb-http-chunked" ,ghc-bsb-http-chunked)
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)
661 ("ghc-streaming-commons" ,ghc-streaming-commons)
662 ("ghc-time-manager" ,ghc-time-manager)
663 ("ghc-unix-compat" ,ghc-unix-compat)
664 ("ghc-vault" ,ghc-vault)
665 ("ghc-wai" ,ghc-wai)
666 ("ghc-word8" ,ghc-word8)
667 ("ghc-http-date" ,ghc-http-date)
668 ("ghc-simple-sendfile" ,ghc-simple-sendfile)
669 ("ghc-http2" ,ghc-http2)))
670 (native-inputs
671 `(("curl" ,curl)
672 ("ghc-silently" ,ghc-silently)
673 ("ghc-hspec" ,ghc-hspec)
674 ("ghc-doctest" ,ghc-doctest)
675 ("ghc-lifted-base" ,ghc-lifted-base)
676 ("ghc-quickcheck" ,ghc-quickcheck)
677 ("ghc-hunit" ,ghc-hunit)
678 ("ghc-http-client" ,ghc-http-client)
679 ("hspec-discover" ,hspec-discover)))
680 (home-page "https://github.com/yesodweb/wai")
681 (synopsis "HTTP server library for Haskell's WAI")
682 (description "Warp is a server library for HTTP/1.x and HTTP/2
683 based WAI (Web Application Interface in Haskell).")
684 (license license:expat)))
685
686 (define-public ghc-tls-session-manager
687 (package
688 (name "ghc-tls-session-manager")
689 (version "0.0.3")
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
699 "0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi"))))
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)))
706 (home-page "https://hackage.haskell.org/package/tls-session-manager")
707 (synopsis "In-memory TLS session manager")
708 (description "This Haskell library provides a TLS session manager with
709 limitation, automatic pruning, energy saving and replay resistance.")
710 (license license:bsd-3)))
711
712 (define-public ghc-warp-tls
713 (package
714 (name "ghc-warp-tls")
715 (version "3.2.8")
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
724 "1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y"))))
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)
732 ("ghc-tls-session-manager" ,ghc-tls-session-manager)
733 ("ghc-wai" ,ghc-wai)
734 ("ghc-warp" ,ghc-warp)))
735 (home-page "https://github.com/yesodweb/wai")
736 (synopsis "SSL/TLS support for Warp")
737 (description "This package provides SSL/TLS support for Warp,
738 a WAI handler, via the native Haskell TLS implementation.")
739 (license license:expat)))
740
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
778 An example server:
779 @url{https://github.com/jaspervdj/websockets/blob/master/example/server.lhs}
780 An example client:
781 @url{https://github.com/jaspervdj/websockets/blob/master/example/client.hs}
782
783 See 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
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
822 (define-public ghc-xss-sanitize
823 (package
824 (name "ghc-xss-sanitize")
825 (version "0.3.6")
826 (source
827 (origin
828 (method url-fetch)
829 (uri (string-append
830 "https://hackage.haskell.org/package/xss-sanitize/xss-sanitize-"
831 version ".tar.gz"))
832 (sha256
833 (base32
834 "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk"))))
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
842 `(("ghc-attoparsec" ,ghc-attoparsec)
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
848 HTML through @code{Text.HTML.SanitizeXSS.sanitizeXSS} to prevent XSS
849 attacks.")
850 (license license:bsd-3)))
851
852 (define-public ghc-css-text
853 (package
854 (name "ghc-css-text")
855 (version "0.1.3.0")
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
865 "0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
866 (build-system haskell-build-system)
867 (inputs
868 `(("ghc-attoparsec" ,ghc-attoparsec)
869 ("ghc-hspec" ,ghc-hspec)
870 ("ghc-quickcheck" ,ghc-quickcheck)))
871 (home-page "https://www.yesodweb.com/")
872 (synopsis "CSS parser and renderer")
873 (description "This package provides a CSS parser and renderer for
874 Haskell.")
875 (license license:bsd-3)))
876
877 (define-public ghc-mime-types
878 (package
879 (name "ghc-mime-types")
880 (version "0.1.0.9")
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
888 "1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha"))))
889 (build-system haskell-build-system)
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
916 documents.")
917 (license license:bsd-3)))
918
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
947 tagstream-conduit. It automatically balances mismatched tags, so that
948 there shouldn't be any parse failures. It does not handle a full HTML
949 document rendering, such as adding missing html and head tags. Note that,
950 since version 1.3.1, it uses an inlined copy of tagstream-conduit with
951 entity decoding bugfixes applied.")
952 (license license:expat)))
953
954 (define-public ghc-blaze-html
955 (package
956 (name "ghc-blaze-html")
957 (version "0.9.1.2")
958 (source
959 (origin
960 (method url-fetch)
961 (uri (string-append "https://hackage.haskell.org/package/"
962 "blaze-html/blaze-html-"
963 version ".tar.gz"))
964 (sha256
965 (base32
966 "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30"))))
967 (build-system haskell-build-system)
968 (outputs '("out" "static" "doc"))
969 (inputs
970 `(("ghc-blaze-builder" ,ghc-blaze-builder)
971 ("ghc-blaze-markup" ,ghc-blaze-markup)))
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)))
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")
986 (version "1.4.5.0")
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
996 "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz"))))
997 (build-system haskell-build-system)
998 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
999 (outputs '("out" "static" "doc"))
1000 (inputs
1001 `(("ghc-attoparsec" ,ghc-attoparsec)
1002 ("ghc-base-compat" ,ghc-base-compat)
1003 ("ghc-dlist" ,ghc-dlist)
1004 ("ghc-hashable" ,ghc-hashable)
1005 ("ghc-scientific" ,ghc-scientific)
1006 ("ghc-tagged" ,ghc-tagged)
1007 ("ghc-th-abstraction" ,ghc-th-abstraction)
1008 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
1009 ("ghc-unordered-containers" ,ghc-unordered-containers)
1010 ("ghc-uuid-types" ,ghc-uuid-types)
1011 ("ghc-vector" ,ghc-vector)
1012 ("ghc-hunit" ,ghc-hunit)
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)))
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
1026 for Haskell, optimized for ease of use and high performance. (A note on
1027 naming: 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")
1033 (version "0.8.8")
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
1041 "09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1"))))
1042 (build-system haskell-build-system)
1043 (inputs
1044 `(("ghc-aeson" ,ghc-aeson)
1045 ("ghc-base-compat" ,ghc-base-compat)
1046 ("ghc-scientific" ,ghc-scientific)
1047 ("ghc-vector" ,ghc-vector)
1048 ("ghc-unordered-containers" ,ghc-unordered-containers)
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
1055 as well as a command-line tool to improve readability of streams of JSON data.
1056 The library provides the function @code{encodePretty}. It is a drop-in
1057 replacement for aeson's @code{encode} function, producing JSON-ByteStrings for
1058 human readers. The command-line tool reads JSON from stdin and writes
1059 prettified JSON to stdout. It also offers a complementary \"compact\"-mode,
1060 essentially the opposite of pretty-printing.")
1061 (license license:bsd-3)))
1062
1063 (define-public ghc-aeson-qq
1064 (package
1065 (name "ghc-aeson-qq")
1066 (version "0.8.2")
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
1073 "0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
1074 (build-system haskell-build-system)
1075 (inputs
1076 `(("ghc-base-compat" ,ghc-base-compat)
1077 ("ghc-attoparsec" ,ghc-attoparsec)
1078 ("ghc-scientific" ,ghc-scientific)
1079 ("ghc-vector" ,ghc-vector)
1080 ("ghc-aeson" ,ghc-aeson)
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
1089 the function @code{aesonQQ} that compile-time converts a string representation
1090 of a JSON value into a @code{Data.Aeson.Value}.")
1091 (license license:expat)))
1092
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
1122 good error messages when parsing fails. See also
1123 @url{http://harry.garrood.me/blog/aeson-better-errors/}.")
1124 (license license:expat)))
1125
1126 (define-public ghc-multipart
1127 (package
1128 (name "ghc-multipart")
1129 (version "0.1.3")
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
1139 "1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
1140 (build-system haskell-build-system)
1141 (inputs
1142 `(("ghc-stringsearch" ,ghc-stringsearch)))
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)))
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
1166 `(("ghc-utf8-string" ,ghc-utf8-string)
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)))
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)
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
1193 Haskell data types to and from route pieces.")
1194 (license license:bsd-3)))
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
1217 fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
1218 Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
1219 Callas and Jesse Walker.
1220
1221 This Haskell package uses bindings to the optimized C implementation of Skein.")
1222 (license license:bsd-3)))
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
1253 client-side cookie")
1254 (description "This Haskell package achieves security through AES-CTR
1255 encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
1256 avoid any issues with characters.")
1257 (license license:expat)))
1258
1259 (define-public ghc-yesod-core
1260 (package
1261 (name "ghc-yesod-core")
1262 (version "1.6.17.2")
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
1271 "0rcfksbxnwcpg5qh9vjkddv39q95mx4nxzgix51bbwa128hhzcwf"))))
1272 (build-system haskell-build-system)
1273 (inputs `(("ghc-wai" ,ghc-wai)
1274 ("ghc-extra" ,ghc-extra)
1275 ("ghc-shakespeare" ,ghc-shakespeare)
1276 ("ghc-blaze-builder" ,ghc-blaze-builder)
1277 ("ghc-clientsession" ,ghc-clientsession)
1278 ("ghc-random" ,ghc-random)
1279 ("ghc-cereal" ,ghc-cereal)
1280 ("ghc-old-locale" ,ghc-old-locale)
1281 ("ghc-unliftio" ,ghc-unliftio)
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)
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)
1295 ("ghc-rio" ,ghc-rio)
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
1324 Yesod, on which other packages can be built. It provides dispatch, handler
1325 functions, widgets, etc.")
1326 (license license:expat)))
1327
1328 (define-public ghc-yesod-persistent
1329 (package
1330 (name "ghc-yesod-persistent")
1331 (version "1.6.0.4")
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
1340 "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0"))))
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)
1353 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
1354 (home-page "https://www.yesodweb.com/")
1355 (synopsis "Helpers for using Persistent from Yesod")
1356 (description "This Haskell package provides helpers for using Persistent
1357 from Yesod.")
1358 (license license:expat)))
1359
1360 (define-public ghc-yesod-form
1361 (package
1362 (name "ghc-yesod-form")
1363 (version "1.6.7")
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
1373 "0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
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)
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")
1396 (description "This Haskell package provides a set of basic form inputs such
1397 as text, number, time, checkbox, select, textarea, etc through the
1398 @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
1399 providing richtext field using Nic editor. ")
1400 (license license:expat)))
1401
1402 (define-public ghc-yesod
1403 (package
1404 (name "ghc-yesod")
1405 (version "1.6.0")
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
1414 "0wx77nbpzdh40p1bm527kimfj48vs9d2avpvvz2w42zi3pz2y94a"))))
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)
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
1442 Yesod related packages into one cohesive whole. This is the version of Yesod,
1443 whereas most of the core code lives in @code{ghc-yesod-core}.")
1444 (license license:expat)))
1445
1446 (define-public ghc-hxt-charproperties
1447 (package
1448 (name "ghc-hxt-charproperties")
1449 (version "9.4.0.0")
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
1458 "1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"))))
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
1464 blocks and char properties and character predicates defined by XML. The
1465 supported 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
1491 encodings used in the Haskell XML Toolbox. ISO Latin 1-16, utf8, utf16, ASCII
1492 are supported. Decoding is done with lazy functions, errors may be detected or
1493 ignored.")
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)
1512 ("ghc-hunit" ,ghc-hunit)))
1513 (home-page "https://wiki.haskell.org/Regular_expressions_for_XML_Schema")
1514 (synopsis "Regular expression library for W3C XML Schema regular expressions")
1515 (description
1516 "This library supports full W3C XML Schema regular expressions inclusive
1517 all Unicode character sets and blocks. It is implemented by the technique of
1518 derivations of regular expressions.")
1519 (license license:expat)))
1520
1521 (define-public ghc-hxt
1522 (package
1523 (name "ghc-hxt")
1524 (version "9.3.1.18")
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
1534 "0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"))))
1535 (build-system haskell-build-system)
1536 (outputs '("out" "static" "doc"))
1537 (inputs
1538 `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
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
1546 introduces a more general approach for processing XML with Haskell.")
1547 (license license:expat)))
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
1571 servers. 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
1574 pipes-http re-export this package's types and functions.")
1575 (license license:bsd-3)))
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
1608 library to handle the streaming IO. The API is optimized for ease of
1609 use for the rather common case of code needing to query web services and
1610 deal with the result.")
1611 (license license:bsd-3)))
1612
1613 (define-public ghc-snap-core
1614 (package
1615 (name "ghc-snap-core")
1616 (version "1.0.4.0")
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
1624 "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr"))))
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)))
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
1655 and server written in Haskell. For more information, you can visit the
1656 Snap project website at @uref{http://snapframework.com/}. This library
1657 contains the core definitions and types for the Snap framework.")
1658 (license license:bsd-3)))
1659
1660 (define-public ghc-snap-server
1661 (package
1662 (name "ghc-snap-server")
1663 (version "1.1.1.1")
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
1671 "0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"))))
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
1702 ("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3")))
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
1706 and server written in Haskell. For more information, you can visit the
1707 Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
1708 server is a high performance web server library written in Haskell.
1709 Together with the snap-core library upon which it depends, it provides a
1710 clean and efficient Haskell programming interface to the HTTP
1711 protocol.")
1712 (license license:bsd-3)))
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
1734 be depended upon by Cabal packages. The first three components of the
1735 version number match the upstream jQuery version. The package is
1736 designed to meet the redistribution requirements of downstream
1737 users (e.g. Debian).")
1738 (license license:expat)))
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)
1761 into a Haskell package, so it can be depended upon by Cabal packages.
1762 The first three components of the version number match the upstream flot
1763 version. The package is designed to meet the redistribution
1764 requirements of downstream users (e.g. Debian).")
1765 (license license:expat)))
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
1809 routing requests, handling query parameters, generating responses, working with
1810 cookies, serving files, and more.")
1811 (license license:bsd-3)))
1812
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)))
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
1863 that is intended to have lightweight dependencies and to be free of all
1864 non-Haskell dependencies.")
1865 (license license:asl2.0)))
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
1893 and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a
1894 declarative and monadic interface.")
1895 (license license:asl2.0)))
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,
1927 proposed by Google and Mozilla here
1928 @url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.")
1929 (license license:bsd-3)))
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
1960 as frontend to hjsmin.")
1961 (license license:bsd-3)))
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
1991 Bower's package manifest file, bower.json.")
1992 (license license:expat)))
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
2025 Authoring and Versioning (WebDAV) extensions to HTTP as well an executable,
2026 @command{hdav}, for command-line operation.")
2027 (license license:gpl3)))
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
2071 and system testing of web applications by making everything easy to
2072 test. Tests are like browser sessions that keep track of cookies and
2073 the last visited page. You can perform assertions on the content of
2074 HTML responses using CSS selectors.")
2075 (license license:expat)))
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
2119 Interface (WAI) application for static serving. It also provides some
2120 helper functions and datatypes for use outside of WAI.")
2121 (license license:expat)))
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
2151 JavaScript files by stripping out extraneous whitespace and other
2152 syntactic elements, without changing the semantics.")
2153 (license license:bsd-3)))
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
2198 for the Yesod Web Framework.")
2199 (license license:expat)))
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
2224 launching and inserts JavaScript code to ping the server. When the
2225 server no longer receives pings, it shuts down.")
2226 (license license:expat)))
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")
2269 (description "This package provides an implementation of Cross-Origin
2270 Resource Sharing (CORS) for the Web Application Framework (WAI) that
2271 aims to be compliant with @url{https://www.w3.org/TR/cors}.")
2272 (license license:expat)))