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