diff options
-rw-r--r-- | gnu/packages/haskell-web.scm | 1 | ||||
-rw-r--r-- | gnu/packages/haskell.scm | 44 | ||||
-rw-r--r-- | gnu/packages/tls.scm | 47 |
3 files changed, 49 insertions, 43 deletions
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 4e647bf7bc..7a786bfe82 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -25,6 +25,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-crypto) + #:use-module (gnu packages tls) #:use-module (guix build-system haskell) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 89aa62aeaf..802d387693 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages sdl) + #:use-module (gnu packages tls) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) @@ -5136,49 +5137,6 @@ different type of byte array abstraction, raw memory IO operations (memory set, memory copy, ..) and more") (license license:bsd-3))) -(define-public ghc-tls - (package - (name "ghc-tls") - (version "1.3.8") - (source (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "tls/tls-" version ".tar.gz")) - (sha256 - (base32 - "1rdidf18i781c0vdvy9yn79yh08hmcacf6fp3sgghyiy3h0wyh5l")))) - (build-system haskell-build-system) - (inputs - `(("ghc-mtl" ,ghc-mtl) - ("ghc-cereal" ,ghc-cereal) - ("ghc-data-default-class" ,ghc-data-default-class) - ("ghc-memory" ,ghc-memory) - ("ghc-cryptonite" ,ghc-cryptonite) - ("ghc-asn1-types" ,ghc-asn1-types) - ("ghc-asn1-encoding" ,ghc-asn1-encoding) - ("ghc-x509" ,ghc-x509) - ("ghc-x509-store" ,ghc-x509-store) - ("ghc-x509-validation" ,ghc-x509-validation) - ("ghc-async" ,ghc-async) - ("ghc-network" ,ghc-network) - ("ghc-hourglass" ,ghc-hourglass))) - (native-inputs - `(("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) - ("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "https://github.com/vincenthz/hs-tls") - (synopsis - "TLS/SSL protocol native implementation (Server and Client)") - (description - "Native Haskell TLS and SSL protocol implementation for server and client. -This provides a high-level implementation of a sensitive security protocol, -eliminating a common set of security issues through the use of the advanced -type system, high level constructions and common Haskell features. Currently -implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and -Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many -extensions.") - (license license:bsd-3))) - (define-public ghc-socks (package (name "ghc-socks") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 840b0a7733..98867fd391 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -35,10 +35,14 @@ #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system cmake) + #:use-module (guix build-system haskell) #:use-module (gnu packages compression) #:use-module (gnu packages) #:use-module (gnu packages dns) #:use-module (gnu packages guile) + #:use-module (gnu packages haskell) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-crypto) #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages libidn) @@ -816,3 +820,46 @@ for developers to include cryptographic and SSL/TLS capabilities in their coding footprint.") (home-page "https://tls.mbed.org") (license license:asl2.0))) + +(define-public ghc-tls + (package + (name "ghc-tls") + (version "1.3.8") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "tls/tls-" version ".tar.gz")) + (sha256 + (base32 + "1rdidf18i781c0vdvy9yn79yh08hmcacf6fp3sgghyiy3h0wyh5l")))) + (build-system haskell-build-system) + (inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-cereal" ,ghc-cereal) + ("ghc-data-default-class" ,ghc-data-default-class) + ("ghc-memory" ,ghc-memory) + ("ghc-cryptonite" ,ghc-cryptonite) + ("ghc-asn1-types" ,ghc-asn1-types) + ("ghc-asn1-encoding" ,ghc-asn1-encoding) + ("ghc-x509" ,ghc-x509) + ("ghc-x509-store" ,ghc-x509-store) + ("ghc-x509-validation" ,ghc-x509-validation) + ("ghc-async" ,ghc-async) + ("ghc-network" ,ghc-network) + ("ghc-hourglass" ,ghc-hourglass))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-quickcheck" ,ghc-quickcheck))) + (home-page "https://github.com/vincenthz/hs-tls") + (synopsis + "TLS/SSL protocol native implementation (Server and Client)") + (description + "Native Haskell TLS and SSL protocol implementation for server and client. +This provides a high-level implementation of a sensitive security protocol, +eliminating a common set of security issues through the use of the advanced +type system, high level constructions and common Haskell features. Currently +implement the SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol, and support RSA and +Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many +extensions.") + (license license:bsd-3))) |