summaryrefslogtreecommitdiff
path: root/gnu/packages/haskell-crypto.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/haskell-crypto.scm')
-rw-r--r--gnu/packages/haskell-crypto.scm63
1 files changed, 63 insertions, 0 deletions
diff --git a/gnu/packages/haskell-crypto.scm b/gnu/packages/haskell-crypto.scm
index 28a1647fd1..882773ab68 100644
--- a/gnu/packages/haskell-crypto.scm
+++ b/gnu/packages/haskell-crypto.scm
@@ -25,6 +25,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages haskell)
#:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages tls)
#:use-module (guix build-system haskell)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
@@ -775,3 +777,64 @@ Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
extensions.")
(license license:bsd-3)))
+(define-public ghc-hsopenssl
+ (package
+ (name "ghc-hsopenssl")
+ (version "0.11.4.15")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "HsOpenSSL/HsOpenSSL-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0idmak6d8mpbxphyq9hkxkmby2wnzhc1phywlgm0zw6q47pwxgff"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-network" ,ghc-network)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:cabal-revision
+ ("1" "0bkcw2pjfgv1bhgkrpncvwq9czfr7cr4ak14n0v8c2y33i33wk5z")))
+ (home-page "https://github.com/vshabanov/HsOpenSSL")
+ (synopsis "Partial OpenSSL binding for Haskell")
+ (description "HsOpenSSL is an OpenSSL binding for Haskell. It can
+generate RSA and DSA keys, read and write PEM files, generate message
+digests, sign and verify messages, encrypt and decrypt messages. It has
+also some capabilities of creating SSL clients and servers. This
+package is in production use by a number of Haskell based systems and
+stable. You may also be interested in the tls package,
+@uref{http://hackage.haskell.org/package/tls}, which is a pure Haskell
+implementation of SSL.")
+ (license license:public-domain)))
+
+(define-public ghc-openssl-streams
+ (package
+ (name "ghc-openssl-streams")
+ (version "1.2.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://hackage.haskell.org/package/"
+ "openssl-streams/openssl-streams-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-hsopenssl" ,ghc-hsopenssl)
+ ("ghc-io-streams" ,ghc-io-streams)
+ ("ghc-network" ,ghc-network)))
+ (native-inputs
+ `(("ghc-hunit" ,ghc-hunit)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
+ (arguments
+ `(#:cabal-revision
+ ("2" "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy")))
+ (home-page "http://hackage.haskell.org/package/openssl-streams")
+ (synopsis "OpenSSL network support for io-streams")
+ (description "This library contains io-streams routines for secure
+networking using OpenSSL (by way of HsOpenSSL).")
+ (license license:bsd-3)))