diff options
author | Marius Bakke <[email protected]> | 2020-05-26 22:30:51 +0200 |
---|---|---|
committer | Marius Bakke <[email protected]> | 2020-05-26 22:30:51 +0200 |
commit | 9edb3f66fd807b096b48283debdcddccfea34bad (patch) | |
tree | cfd86f44ad51df4341a0d48cf4978117e11d7f59 /gnu/packages/haskell-web.scm | |
parent | e5f95fd897ad32c93bb48ceae30021976a917979 (diff) | |
parent | b6d18fbdf6ab4a8821a58aa16587676e835001f2 (diff) |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/haskell-web.scm')
-rw-r--r-- | gnu/packages/haskell-web.scm | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 05be862a85..4689025432 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -655,6 +655,87 @@ limitation, automatic pruning, energy saving and replay resistance.") a WAI handler, via the native Haskell TLS implementation.") (license license:expat))) +(define-public ghc-websockets + (package + (name "ghc-websockets") + (version "0.12.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/websockets/websockets-" + version + ".tar.gz")) + (sha256 + (base32 + "1vp3790w3hmr6v96314vdx74f7sg2c7hvnc93gafq0xhbxnr7nvx")))) + (build-system haskell-build-system) + (inputs + `(("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-bytestring-builder" ,ghc-bytestring-builder) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-network" ,ghc-network) + ("ghc-random" ,ghc-random) + ("ghc-sha" ,ghc-sha) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-entropy" ,ghc-entropy))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) + ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2))) + (home-page "https://jaspervdj.be/websockets/") + (synopsis + "Write WebSocket-capable servers in Haskell") + (description + "This library allows you to write WebSocket-capable servers. + +An example server: +@url{https://github.com/jaspervdj/websockets/blob/master/example/server.lhs} +An example client: +@url{https://github.com/jaspervdj/websockets/blob/master/example/client.hs} + +See also: +@itemize +@item The specification of the WebSocket protocol: +@url{http://www.whatwg.org/specs/web-socket-protocol/} +@item The JavaScript API for dealing with WebSockets: +@url{http://www.w3.org/TR/websockets/} +@end itemize") + (license license:bsd-3))) + +(define-public ghc-wai-websockets + (package + (name "ghc-wai-websockets") + (version "3.0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/wai-websockets/wai-websockets-" + version + ".tar.gz")) + (sha256 + (base32 + "0b2xmdsrsqpssyib53wbr6r8hf75789ndyyanv37sv99iyqcwz4i")))) + (build-system haskell-build-system) + (inputs + `(("ghc-wai" ,ghc-wai) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-network" ,ghc-network) + ("ghc-websockets" ,ghc-websockets) + ("ghc-http-types" ,ghc-http-types))) + (arguments + `(#:configure-flags '("--flags=-example"))) + (home-page "https://github.com/yesodweb/wai") + (synopsis + "Provide a bridge between WAI and the websockets package") + (description + "Use websockets with WAI applications, primarily those hosted via Warp.") + (license license:expat))) + (define-public ghc-xss-sanitize (package (name "ghc-xss-sanitize") @@ -924,6 +1005,39 @@ the function @code{aesonQQ} that compile-time converts a string representation of a JSON value into a @code{Data.Aeson.Value}.") (license license:expat))) +(define-public ghc-aeson-better-errors + (package + (name "ghc-aeson-better-errors") + (version "0.9.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/aeson-better-errors/aeson-better-errors-" + version + ".tar.gz")) + (sha256 + (base32 + "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-dlist" ,ghc-dlist) + ("ghc-scientific" ,ghc-scientific) + ("ghc-vector" ,ghc-vector) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-void" ,ghc-void))) + (home-page + "https://github.com/hdgarrood/aeson-better-errors") + (synopsis + "Better error messages when decoding JSON values in Haskell") + (description + "Gives you the tools to build parsers to decode JSON values, and gives +good error messages when parsing fails. See also +@url{http://harry.garrood.me/blog/aeson-better-errors/}.") + (license license:expat))) + (define-public ghc-multipart (package (name "ghc-multipart") @@ -1693,3 +1807,100 @@ non-Haskell dependencies.") and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a declarative and monadic interface.") (license license:asl2.0))) + +(define-public ghc-sourcemap + (package + (name "ghc-sourcemap") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/sourcemap/sourcemap-" + version + ".tar.gz")) + (sha256 + (base32 + "0ynfm44ym8y592wnzdwa0d05dbkffyyg5sm26y5ylzpynk64r85r")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-utf8-string" ,ghc-utf8-string))) + (arguments + `(#:tests? #f ; FIXME: Fail to compile + #:cabal-revision + ("1" "1f7q44ar6qfip8fsllg43jyn7r15ifn2r0vz32cbmx0sb0d38dax"))) + (home-page + "http://hackage.haskell.org/package/sourcemap") + (synopsis + "Implementation of source maps as proposed by Google and Mozilla") + (description + "Sourcemap provides an implementation of source maps, revision 3, +proposed by Google and Mozilla here +@url{https://wiki.mozilla.org/DevTools/Features/SourceMap}.") + (license license:bsd-3))) + +(define-public ghc-language-javascript + (package + (name "ghc-language-javascript") + (version "0.7.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/language-javascript/language-javascript-" + version + ".tar.gz")) + (sha256 + (base32 + "15bpqpkjf2y3fk8wff9zlnkpsjc63bnbvhlkxrs9alj0bikq17nk")))) + (build-system haskell-build-system) + (inputs + `(("ghc-blaze-builder" ,ghc-blaze-builder) + ("ghc-utf8-string" ,ghc-utf8-string))) + (native-inputs + `(("ghc-alex" ,ghc-alex) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-happy" ,ghc-happy) + ("ghc-hspec" ,ghc-hspec) + ("ghc-utf8-light" ,ghc-utf8-light))) + (home-page + "https://github.com/erikd/language-javascript") + (synopsis "Parser for JavaScript") + (description + "Parses Javascript into an Abstract Syntax Tree (AST). Initially intended +as frontend to hjsmin.") + (license license:bsd-3))) + +(define-public ghc-bower-json + (package + (name "ghc-bower-json") + (version "1.0.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/bower-json/bower-json-" + version + ".tar.gz")) + (sha256 + (base32 + "0wvygg3rdbxzrmr61a9w6ddv9pfric85ih8hnxyk0ydzn7i59abs")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-better-errors" ,ghc-aeson-better-errors) + ("ghc-scientific" ,ghc-scientific) + ("ghc-transformers" ,ghc-transformers) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit))) + (home-page "https://github.com/hdgarrood/bower-json") + (synopsis "Read bower.json from Haskell") + (description + "This package provides a data type and ToJSON/FromJSON instances for +Bower's package manifest file, bower.json.") + (license license:expat))) |