summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell-web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-web.scm')
-rw-r--r--gnu/packages/haskell-web.scm248
1 files changed, 182 insertions, 66 deletions
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 6b7103562f..7cbf8932e6 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -28,6 +28,7 @@
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
+ #:use-module (gnu packages haskell-xyz)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -47,7 +48,6 @@
(base32
"1yv3dbyb0i1yqm796jgc4jj5kxkla1sxb3b2klw5ks182kdx8kjb"))))
(build-system haskell-build-system)
- (inputs `(("ghc-text" ,ghc-text)))
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://community.haskell.org/~ndm/tagsoup/")
@@ -80,7 +80,6 @@ for screen-scraping.")
(inputs
`(("ghc-old-locale" ,ghc-old-locale)
("ghc-blaze-builder" ,ghc-blaze-builder)
- ("ghc-text" ,ghc-text)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)
@@ -136,8 +135,7 @@ requests, and the library is intended for implementing Ajax APIs.")
("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
("hspec-discover" ,hspec-discover)))
(inputs
- `(("ghc-case-insensitive" ,ghc-case-insensitive)
- ("ghc-text" ,ghc-text)))
+ `(("ghc-case-insensitive" ,ghc-case-insensitive)))
(home-page "https://github.com/aristidb/http-types")
(synopsis "Generic HTTP types for Haskell")
(description "This package provides generic HTTP types for Haskell (for
@@ -169,7 +167,6 @@ both client and server code).")
("ghc-conduit-extra" ,ghc-conduit-extra)
("ghc-http-types" ,ghc-http-types)
("ghc-old-time" ,ghc-old-time)
- ("ghc-parsec" ,ghc-parsec)
("ghc-puremd5" ,ghc-puremd5)
("ghc-network" ,ghc-network)
("ghc-network-uri" ,ghc-network-uri)
@@ -215,7 +212,6 @@ responses coming back.")
("ghc-network-uri" ,ghc-network-uri)
("ghc-random" ,ghc-random)
("ghc-streaming-commons" ,ghc-streaming-commons)
- ("ghc-text" ,ghc-text)
("ghc-zlib" ,ghc-zlib)))
(native-inputs
`(("ghc-hspec" ,ghc-hspec)))
@@ -308,13 +304,12 @@ Date in Haskell.")
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-vector" ,ghc-vector)
("ghc-word8" ,ghc-word8)
- ("ghc-psqueues" ,ghc-psqueues)
- ("ghc-stm" ,ghc-stm)))
- (native-inputs
- `(("ghc-glob" ,ghc-glob)
- ("ghc-hspec" ,ghc-hspec)
- ("ghc-doctest" ,ghc-doctest)
- ("hspec-discover" ,hspec-discover)))
+ ("ghc-psqueues" ,ghc-psqueues)))
+ (native-inputs
+ `(("ghc-glob" ,ghc-glob)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-doctest" ,ghc-doctest)
+ ("hspec-discover" ,hspec-discover)))
(home-page "https://github.com/kazu-yamamoto/http2")
(synopsis "HTTP/2 library including frames, priority queues and HPACK")
(description "This package provides a HTTP/2.0 library including frames
@@ -358,7 +353,6 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
("ghc-connection" ,ghc-connection)
("ghc-warp-tls" ,ghc-warp-tls)
("ghc-blaze-builder" ,ghc-blaze-builder)
- ("ghc-text" ,ghc-text)
("ghc-conduit" ,ghc-conduit)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-case-insensitive" ,ghc-case-insensitive)
@@ -402,7 +396,6 @@ which allow you to avoid direct usage of conduits.")
("ghc-vault" ,ghc-vault)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-network" ,ghc-network)
- ("ghc-text" ,ghc-text)
("ghc-http-types" ,ghc-http-types)))
(native-inputs
`(("hspec-discover" ,hspec-discover)
@@ -482,7 +475,6 @@ communication between web applications and web servers.")
("ghc-void" ,ghc-void)
("ghc-wai" ,ghc-wai)
("ghc-http-types" ,ghc-http-types)
- ("ghc-text" ,ghc-text)
("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-unix-compat" ,ghc-unix-compat)
@@ -569,9 +561,7 @@ transfers.")
("ghc-http-types" ,ghc-http-types)
("ghc-iproute" ,ghc-iproute)
("ghc-network" ,ghc-network)
- ("ghc-stm" ,ghc-stm)
("ghc-streaming-commons" ,ghc-streaming-commons)
- ("ghc-text" ,ghc-text)
("ghc-unix-compat" ,ghc-unix-compat)
("ghc-vault" ,ghc-vault)
("ghc-wai" ,ghc-wai)
@@ -670,8 +660,7 @@ a WAI handler, via the native Haskell TLS implementation.")
("ghc-css-text" ,ghc-css-text)
("ghc-network-uri" ,ghc-network-uri)))
(native-inputs
- `(("ghc-text" ,ghc-text)
- ("ghc-attoparsec" ,ghc-attoparsec)
+ `(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-hspec" ,ghc-hspec)
("ghc-hunit" ,ghc-hunit)))
(home-page "https://github.com/yesodweb/haskell-xss-sanitize")
@@ -697,8 +686,7 @@ attacks.")
"0ynd9f4hn2sfwqzbsa0y7phmxq8za7jiblpjwx0ry8b372zhgxaz"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-text" ,ghc-text)
- ("ghc-attoparsec" ,ghc-attoparsec)
+ `(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-hspec" ,ghc-hspec)
("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://www.yesodweb.com/")
@@ -720,8 +708,6 @@ Haskell.")
(base32
"14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
(build-system haskell-build-system)
- (inputs
- `(("ghc-text" ,ghc-text)))
(home-page "https://github.com/yesodweb/wai")
(synopsis "Basic MIME type handling types and functions")
(description
@@ -751,28 +737,6 @@ Haskell.")
documents.")
(license license:bsd-3)))
-(define-public ghc-xhtml
- (package
- (name "ghc-xhtml")
- (version "3000.2.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://hackage.haskell.org/package/xhtml/xhtml-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "0939kwpinq6l4n3nyvd1gzyl7f83gymw0wzqndlgy1yc7q0nkj2w"))))
- (build-system haskell-build-system)
- (home-page "https://github.com/haskell/xhtml")
- (synopsis "XHTML combinator library")
- (description
- "This package provides combinators for producing XHTML 1.0, including the
-Strict, Transitional and Frameset variants.")
- (license license:bsd-3)))
-
(define-public ghc-blaze-html
(package
(name "ghc-blaze-html")
@@ -789,7 +753,6 @@ Strict, Transitional and Frameset variants.")
(build-system haskell-build-system)
(inputs
`(("ghc-blaze-builder" ,ghc-blaze-builder)
- ("ghc-text" ,ghc-text)
("ghc-blaze-markup" ,ghc-blaze-markup)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
@@ -825,7 +788,6 @@ Strict, Transitional and Frameset variants.")
("ghc-hashable" ,ghc-hashable)
("ghc-scientific" ,ghc-scientific)
("ghc-tagged" ,ghc-tagged)
- ("ghc-text" ,ghc-text)
("ghc-th-abstraction" ,ghc-th-abstraction)
("ghc-time-locale-compat" ,ghc-time-locale-compat)
("ghc-unordered-containers" ,ghc-unordered-containers)
@@ -867,7 +829,6 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
("ghc-base-compat" ,ghc-base-compat)
("ghc-scientific" ,ghc-scientific)
("ghc-vector" ,ghc-vector)
- ("ghc-text" ,ghc-text)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-attoparsec" ,ghc-attoparsec)
("ghc-cmdargs" ,ghc-cmdargs)))
@@ -897,12 +858,10 @@ essentially the opposite of pretty-printing.")
(build-system haskell-build-system)
(inputs
`(("ghc-base-compat" ,ghc-base-compat)
- ("ghc-text" ,ghc-text)
("ghc-attoparsec" ,ghc-attoparsec)
("ghc-scientific" ,ghc-scientific)
("ghc-vector" ,ghc-vector)
("ghc-aeson" ,ghc-aeson)
- ("ghc-parsec" ,ghc-parsec)
("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
(native-inputs
`(("ghc-hspec" ,ghc-hspec)
@@ -931,8 +890,7 @@ of a JSON value into a @code{Data.Aeson.Value}.")
"1x4n4yyva22dhfr1pg5ki112qvvzb4hyd7bwpm189iq4gcp52q4z"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-parsec" ,ghc-parsec)
- ("ghc-stringsearch" ,ghc-stringsearch)))
+ `(("ghc-stringsearch" ,ghc-stringsearch)))
(home-page
"http://www.github.com/silkapp/multipart")
(synopsis
@@ -956,8 +914,7 @@ of a JSON value into a @code{Data.Aeson.Value}.")
"11miwb5vvnn17m92ykz1pzg9x6s8fbpz3mmsyqs2s4b3mn55haz8"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-text" ,ghc-text)
- ("ghc-utf8-string" ,ghc-utf8-string)
+ `(("ghc-utf8-string" ,ghc-utf8-string)
("ghc-network-uri" ,ghc-network-uri)))
(home-page "https://hackage.haskell.org/package/uri-encode")
(synopsis "Unicode aware uri-encoding")
@@ -978,7 +935,6 @@ of a JSON value into a @code{Data.Aeson.Value}.")
(base32
"0vx3sivcsld76058925hym2j6hm3g71f0qjr7v59f1g2afgx82q8"))))
(build-system haskell-build-system)
- (inputs `(("ghc-text" ,ghc-text)))
(native-inputs `(("ghc-hunit" ,ghc-hunit)
("ghc-hspec" ,ghc-hspec)
("ghc-quickcheck" ,ghc-quickcheck)))
@@ -1067,7 +1023,6 @@ avoid any issues with characters.")
(build-system haskell-build-system)
(inputs `(("ghc-wai" ,ghc-wai)
("ghc-extra" ,ghc-extra)
- ("ghc-text" ,ghc-text)
("ghc-shakespeare" ,ghc-shakespeare)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-clientsession" ,ghc-clientsession)
@@ -1081,7 +1036,6 @@ avoid any issues with characters.")
("ghc-cookie" ,ghc-cookie)
("ghc-http-types" ,ghc-http-types)
("ghc-case-insensitive" ,ghc-case-insensitive)
- ("ghc-parsec" ,ghc-parsec)
("ghc-vector" ,ghc-vector)
("ghc-aeson" ,ghc-aeson)
("ghc-fast-logger" ,ghc-fast-logger)
@@ -1147,8 +1101,7 @@ functions, widgets, etc.")
(native-inputs `(("ghc-hspec" ,ghc-hspec)
("ghc-wai-extra" ,ghc-wai-extra)
("ghc-yesod-core" ,ghc-yesod-core)
- ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
- ("ghc-text" ,ghc-text)))
+ ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)))
(home-page "http://www.yesodweb.com/")
(synopsis "Helpers for using Persistent from Yesod")
(description "This Haskell package provides helpers for using Persistent
@@ -1179,7 +1132,6 @@ from Yesod.")
("ghc-xss-sanitize" ,ghc-xss-sanitize)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-email-validate" ,ghc-email-validate)
- ("ghc-text" ,ghc-text)
("ghc-wai" ,ghc-wai)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-blaze-markup" ,ghc-blaze-markup)
@@ -1226,7 +1178,6 @@ providing richtext field using Nic editor. ")
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-yaml" ,ghc-yaml)
- ("ghc-text" ,ghc-text)
("ghc-monad-logger" ,ghc-monad-logger)
("ghc-fast-logger" ,ghc-fast-logger)
("ghc-conduit" ,ghc-conduit)
@@ -1309,8 +1260,6 @@ ignored.")
(build-system haskell-build-system)
(inputs
`(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
- ("ghc-parsec" ,ghc-parsec)
- ("ghc-text" ,ghc-text)
("ghc-hunit" ,ghc-hunit)))
(home-page "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema")
(synopsis "Regular expression library for W3C XML Schema regular expressions")
@@ -1336,8 +1285,7 @@ derivations of regular expressions.")
"1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
(build-system haskell-build-system)
(inputs
- `(("ghc-parsec" ,ghc-parsec)
- ("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
+ `(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
("ghc-hxt-unicode" ,ghc-hxt-unicode)
("ghc-hxt-regex-xmlschema" ,ghc-hxt-regex-xmlschema)
("ghc-network-uri" ,ghc-network-uri)))
@@ -1347,3 +1295,171 @@ derivations of regular expressions.")
"The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
introduces a more general approach for processing XML with Haskell.")
(license license:expat)))
+
+(define-public ghc-http-common
+ (package
+ (name "ghc-http-common")
+ (version "0.8.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-common/http-common-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14s5a178sb2vm5k00rs21760mds5dz2gs10k9iyn22h01mxyf599"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-network" ,ghc-network)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)))
+ (home-page "https://github.com/afcowie/http-streams/")
+ (synopsis "Common types for HTTP clients and servers")
+ (description "Base types used by a variety of HTTP clients and
+servers. See http-streams @code{Network.Http.Client} or pipes-http
+@code{Pipes.Http.Client} for full documentation. You can import
+@code{Network.Http.Types} if you like, but both http-streams and
+pipes-http re-export this package's types and functions.")
+ (license license:bsd-3)))
+
+(define-public ghc-http-streams
+ (package
+ (name "ghc-http-streams")
+ (version "0.8.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "http-streams/http-streams-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18vxd35n7s3z4gjvad94bknc8z1w9d7ccgphnhsxlz5cackizmxq"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-hsopenssl" ,ghc-hsopenssl)
+ ("ghc-openssl-streams" ,ghc-openssl-streams)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-http-common" ,ghc-http-common)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)))
+ (arguments
+ `(#:tests? #f)) ; tests rely on an outdated version of snap-server
+ (home-page "https://github.com/afcowie/http-streams/")
+ (synopsis "HTTP client using io-streams")
+ (description "An HTTP client using the Snap Framework's io-streams
+library to handle the streaming IO. The API is optimized for ease of
+use for the rather common case of code needing to query web services and
+deal with the result.")
+ (license license:bsd-3)))
+
+(define-public ghc-snap-core
+ (package
+ (name "ghc-snap-core")
+ (version "1.0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "snap-core/snap-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-random" ,ghc-random)
+ ("ghc-readable" ,ghc-readable)
+ ("ghc-regex-posix" ,ghc-regex-posix)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-network" ,ghc-network)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
+ ("ghc-zlib" ,ghc-zlib)))
+ (arguments
+ `(#:cabal-revision
+ ("3" "0wlhn33r7c9g7j23y006ddq9d87lkmianvvfrbl8jd8mvjvj2gfa")))
+ (home-page "http://snapframework.com/")
+ (synopsis "Haskell Web Framework (core interfaces and types)")
+ (description "Snap is a simple and fast web development framework
+and server written in Haskell. For more information, you can visit the
+Snap project website at @uref{http://snapframework.com/}. This library
+contains the core definitions and types for the Snap framework.")
+ (license license:bsd-3)))
+
+(define-public ghc-snap-server
+ (package
+ (name "ghc-snap-server")
+ (version "1.1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "snap-server/snap-server-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-bytestring-builder" ,ghc-bytestring-builder)
+ ("ghc-case-insensitive" ,ghc-case-insensitive)
+ ("ghc-clock" ,ghc-clock)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-io-streams-haproxy" ,ghc-io-streams-haproxy)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-network" ,ghc-network)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-snap-core" ,ghc-snap-core)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-vector" ,ghc-vector)))
+ (native-inputs
+ `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-random" ,ghc-random)
+ ("ghc-threads" ,ghc-threads)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-http-streams" ,ghc-http-streams)
+ ("ghc-http-common" ,ghc-http-common)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
+ (arguments
+ `(#:cabal-revision
+ ("3" "0a9d3nqb5rvgm25nak68lp6yj9m6cwhbgdbg5l7ib5i2czcg7yjh")))
+ (home-page "http://snapframework.com/")
+ (synopsis "Web server for the Snap Framework")
+ (description "Snap is a simple and fast web development framework
+and server written in Haskell. For more information, you can visit the
+Snap project website at @uref{http://snapframework.com/}. The Snap HTTP
+server is a high performance web server library written in Haskell.
+Together with the snap-core library upon which it depends, it provides a
+clean and efficient Haskell programming interface to the HTTP
+protocol.")
+ (license license:bsd-3)))