aboutsummaryrefslogtreecommitdiff
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.scm278
1 files changed, 278 insertions, 0 deletions
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 1190bc63a5..1f19f82f3f 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -901,3 +901,281 @@ of a JSON value into a @code{Data.Aeson.Value}.")
(synopsis "Unicode aware uri-encoding")
(description "Unicode aware uri-encoding for Haskell.")
(license license:bsd-3)))
+
+(define-public ghc-path-pieces
+ (package
+ (name "ghc-path-pieces")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "path-pieces-" version "/"
+ "path-pieces-" version ".tar.gz"))
+ (sha256
+ (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)))
+ (home-page "https://github.com/yesodweb/path-pieces")
+ (synopsis "Used in Yesod to automatically marshall data in the request path")
+ (description "This Haskell package provides two typeclasses for converting
+Haskell data types to and from route pieces.")
+ (license license:bsd-3)))
+
+(define-public ghc-skein
+ (package
+ (name "ghc-skein")
+ (version "1.0.9.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "skein-" version "/"
+ "skein-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jdqdk0rz2wnvw735clnj8jh0a9rkrbqjg7vk3w6wczdql6cm0pq"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-crpto-api" ,ghc-crypto-api)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://github.com/yesodweb/path-pieces")
+ (synopsis "Skein family of cryptographic hash functions for Haskell")
+ (description "@uref{(http://www.skein-hash.info, Skein} is a family of
+fast secure cryptographic hash functions designed by Niels Ferguson, Stefan
+Lucks, Bruce Schneier, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon
+Callas and Jesse Walker.
+
+This Haskell package uses bindings to the optimized C implementation of Skein.")
+ (license license:bsd-3)))
+
+(define-public ghc-clientsession
+ (package
+ (name "ghc-clientsession")
+ (version "0.9.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "clientsession-" version "/"
+ "clientsession-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0s6h4ykj16mpf7nlw2iqn2ji0p8g1fn5ni0s7yqaili6vv2as5ar"))))
+ (build-system haskell-build-system)
+ (inputs `(("ghc-cereal" ,ghc-cereal)
+ ("ghc-tagged" ,ghc-tagged)
+ ("ghc-crypto-api" ,ghc-crypto-api)
+ ("ghc-skein" ,ghc-skein)
+ ("ghc-base64-bytestring" ,ghc-base64-bytestring)
+ ("ghc-entropy" ,ghc-entropy)
+ ("ghc-cprng-aes" ,ghc-cprng-aes)
+ ("ghc-cipher-aes" ,ghc-cipher-aes)
+ ("ghc-crypto-random" ,ghc-crypto-random)
+ ("ghc-setenv" ,ghc-setenv)))
+ (native-inputs `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec" ,ghc-hspec)
+ ("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/yesodweb/clientsession/tree/master")
+ (synopsis "Haskell library for securely store session data in a
+client-side cookie")
+ (description "This Haskell package achieves security through AES-CTR
+encryption and Skein-MAC-512-256 authentication. Uses Base64 encoding to
+avoid any issues with characters.")
+ (license license:expat)))
+
+(define-public ghc-yesod-core
+ (package
+ (name "ghc-yesod-core")
+ (version "1.4.37")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "yesod-core-" version "/"
+ "yesod-core-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j"))))
+ (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-mtl" ,ghc-mtl)
+ ("ghc-clientsession" ,ghc-clientsession)
+ ("ghc-random" ,ghc-random)
+ ("ghc-cereal" ,ghc-cereal)
+ ("ghc-old-locale" ,ghc-old-locale)
+ ("ghc-unordered-containers" ,ghc-unordered-containers)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-transformers-base" ,ghc-transformers-base)
+ ("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)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-monad-logger" ,ghc-monad-logger)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-lifted-base" ,ghc-lifted-base)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-unix-compat" ,ghc-unix-compat)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-exceptions" ,ghc-exceptions)
+ ("ghc-deepseq-generics" ,ghc-deepseq-generics)
+ ("ghc-mwc-random" ,ghc-mwc-random)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-word8" ,ghc-word8)
+ ("ghc-auto-update" ,ghc-auto-update)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-byteable" ,ghc-byteable)))
+ (native-inputs `(("ghc-hspec" ,ghc-hspec)
+ ("ghc-path-pieces" ,ghc-path-pieces)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-hspec-expectations" ,ghc-hspec-expectations)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-network" ,ghc-network)
+ ("ghc-async" ,ghc-async)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-wai-extra" ,ghc-wai-extra)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Core package for the Yesod web framework")
+ (description "This Haskell package provides all core functionality, for
+Yesod, on which other packages can be built. It provides dispatch, handler
+functions, widgets, etc.")
+ (license license:expat)))
+
+(define-public ghc-yesod-persistent
+ (package
+ (name "ghc-yesod-persistent")
+ (version "1.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "yesod-persistent-" version "/"
+ "yesod-persistent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kiksw46c8ww9yiwl28pkrppx8d6fhsasr0hvmsliqbrp16likj8"))))
+ (build-system haskell-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
+ (inputs `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-persistent" ,ghc-persistent)
+ ("ghc-persistent-template" ,ghc-persistent-template)
+ ("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-conduit" ,ghc-conduit)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-resource-pool" ,ghc-resource-pool)))
+ (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)))
+ (home-page "http://www.yesodweb.com/")
+ (synopsis "Helpers for using Persistent from Yesod")
+ (description "This Haskell package provides helpers for using Persistent
+from Yesod.")
+ (license license:expat)))
+
+(define-public ghc-yesod-form
+ (package
+ (name "ghc-yesod-form")
+ (version "1.4.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/yesod-form/yesod-form-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-yesod-persistent" ,ghc-yesod-persistent)
+ ("ghc-shakespeare" ,ghc-shakespeare)
+ ("ghc-persistent" ,ghc-persistent)
+ ("ghc-data-default" ,ghc-data-default)
+ ("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)
+ ("ghc-attoparsec" ,ghc-attoparsec)
+ ("ghc-byteable" ,ghc-byteable)
+ ("ghc-aeson" ,ghc-aeson)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-semigroups" ,ghc-semigroups)
+ ("ghc-network-uri" ,ghc-network-uri)
+ ("ghc-hspec" ,ghc-hspec)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Form handling support for Yesod Web Framework")
+ (description "This Haskell package provies a set of basic form inputs such
+as text, number, time, checkbox, select, textarea, etc through the
+@code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module
+providing richtext field using Nic editor. ")
+ (license license:expat)))
+
+(define-public ghc-yesod
+ (package
+ (name "ghc-yesod")
+ (version "1.4.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://hackage.haskell.org/package/yesod/yesod-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1sg66nq8yaas2m5nqsdrxricvcizd1ik02zqk60sxh3wna08fz16"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-yesod-core" ,ghc-yesod-core)
+ ("ghc-yesod-persistent" ,ghc-yesod-persistent)
+ ("ghc-yesod-form" ,ghc-yesod-form)
+ ("ghc-monad-control" ,ghc-monad-control)
+ ("ghc-wai" ,ghc-wai)
+ ("ghc-wai-extra" ,ghc-wai-extra)
+ ("ghc-warp" ,ghc-warp)
+ ("ghc-blaze-html" ,ghc-blaze-html)
+ ("ghc-blaze-markup" ,ghc-blaze-markup)
+ ("ghc-aeson" ,ghc-aeson)
+ ("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)
+ ("ghc-conduit-extra" ,ghc-conduit-extra)
+ ("ghc-resourcet" ,ghc-resourcet)
+ ("ghc-shakespeare" ,ghc-shakespeare)
+ ("ghc-streaming-commons" ,ghc-streaming-commons)
+ ("ghc-wai-logger" ,ghc-wai-logger)
+ ("ghc-semigroups" ,ghc-semigroups)))
+ (home-page "https://www.yesodweb.com")
+ (synopsis "Framework for creating type-safe, RESTful web applications")
+ (description "The Haskell package package groups together the various
+Yesod related packages into one cohesive whole. This is the version of Yesod,
+whereas most of the core code lives in @code{ghc-yesod-core}.")
+ (license license:expat)))