diff --git a/ghc-tls.spec b/ghc-tls.spec
index a382561..302a768 100644
--- a/ghc-tls.spec
+++ b/ghc-tls.spec
@@ -26,6 +26,7 @@ License: BSD-3-Clause
Group: Development/Libraries/Haskell
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-asn1-encoding-devel
BuildRequires: ghc-asn1-types-devel
@@ -76,6 +77,7 @@ This package provides the Haskell %{pkg_name} library development files.
%prep
%setup -q -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
diff --git a/tls.cabal b/tls.cabal
new file mode 100644
index 0000000..4bb024d
--- /dev/null
+++ b/tls.cabal
@@ -0,0 +1,174 @@
+Name: tls
+Version: 1.4.1
+x-revision: 1
+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.
+ .
+ Some debug tools linked with tls, are available through the
+ .
+License: BSD3
+License-file: LICENSE
+Copyright: Vincent Hanquez
+Author: Vincent Hanquez
+Maintainer: Vincent Hanquez
+Synopsis: TLS/SSL protocol native implementation (Server and Client)
+Build-Type: Simple
+Category: Network
+stability: experimental
+Cabal-Version: >=1.8
+Homepage: http://github.com/vincenthz/hs-tls
+extra-source-files: Tests/*.hs
+ CHANGELOG.md
+
+Flag compat
+ Description: Accept SSLv2 client hello for beginning SSLv3 / TLS handshake
+ Default: True
+ Manual: True
+
+Flag network
+ Description: Use the base network library
+ Default: True
+ Manual: True
+
+Flag hans
+ Description: Use the Haskell Network Stack (HaNS)
+ Default: False
+ Manual: True
+
+Library
+ Build-Depends: base >= 4.7 && < 5
+ , mtl >= 2
+ , transformers
+ , cereal >= 0.4
+ , bytestring
+ , data-default-class
+ -- crypto related
+ , memory >= 0.14.6
+ , cryptonite >= 0.24
+ -- certificate related
+ , asn1-types >= 0.2.0
+ , asn1-encoding
+ , x509 >= 1.7.1
+ , x509-store >= 1.6
+ , x509-validation >= 1.6.5
+ , async >= 2.0
+ if flag(network)
+ Build-Depends: network >= 2.4.0.0
+ cpp-options: -DINCLUDE_NETWORK
+ if flag(hans)
+ Build-Depends: hans
+ cpp-options: -DINCLUDE_HANS
+ Exposed-modules: Network.TLS
+ Network.TLS.Cipher
+ Network.TLS.Compression
+ Network.TLS.Internal
+ Network.TLS.Extra
+ Network.TLS.Extra.Cipher
+ Network.TLS.Extra.FFDHE
+ other-modules: Network.TLS.Cap
+ Network.TLS.Struct
+ Network.TLS.Core
+ Network.TLS.Context
+ Network.TLS.Context.Internal
+ Network.TLS.Credentials
+ Network.TLS.Backend
+ Network.TLS.Crypto
+ Network.TLS.Crypto.DH
+ Network.TLS.Crypto.IES
+ Network.TLS.Crypto.Types
+ Network.TLS.ErrT
+ Network.TLS.Extension
+ Network.TLS.Handshake
+ Network.TLS.Handshake.Common
+ Network.TLS.Handshake.Certificate
+ Network.TLS.Handshake.Key
+ Network.TLS.Handshake.Client
+ Network.TLS.Handshake.Server
+ Network.TLS.Handshake.Process
+ Network.TLS.Handshake.Signature
+ Network.TLS.Handshake.State
+ Network.TLS.Hooks
+ Network.TLS.IO
+ Network.TLS.Imports
+ Network.TLS.MAC
+ Network.TLS.Measurement
+ Network.TLS.Packet
+ Network.TLS.Parameters
+ Network.TLS.Record
+ Network.TLS.Record.Types
+ Network.TLS.Record.Engage
+ Network.TLS.Record.Disengage
+ Network.TLS.Record.State
+ Network.TLS.RNG
+ Network.TLS.State
+ Network.TLS.Session
+ Network.TLS.Sending
+ Network.TLS.Receiving
+ Network.TLS.Util
+ Network.TLS.Util.ASN1
+ Network.TLS.Util.Serialization
+ Network.TLS.Types
+ Network.TLS.Wire
+ Network.TLS.X509
+ ghc-options: -Wall
+ if flag(compat)
+ cpp-options: -DSSLV2_COMPATIBLE
+
+Test-Suite test-tls
+ type: exitcode-stdio-1.0
+ hs-source-dirs: Tests
+ Main-is: Tests.hs
+ other-modules: Certificate
+ Ciphers
+ Connection
+ Marshalling
+ PipeChan
+ PubKey
+ Build-Depends: base >= 3 && < 5
+ , mtl
+ , cereal >= 0.3
+ , data-default-class
+ , tasty
+ , tasty-quickcheck
+ , tls
+ , QuickCheck
+ , cryptonite
+ , bytestring
+ , asn1-types
+ , x509
+ , x509-validation
+ , hourglass
+ ghc-options: -Wall -fno-warn-unused-imports
+
+Benchmark bench-tls
+ hs-source-dirs: Benchmarks Tests
+ Main-Is: Benchmarks.hs
+ type: exitcode-stdio-1.0
+ Build-depends: base >= 4 && < 5
+ , tls
+ , x509
+ , x509-validation
+ , data-default-class
+ , cryptonite
+ , criterion >= 1.0
+ , mtl
+ , bytestring
+ , asn1-types
+ , hourglass
+ , QuickCheck >= 2
+ , tasty-quickcheck
+ , tls
+ ghc-options: -Wall -fno-warn-unused-imports
+
+source-repository head
+ type: git
+ location: https://github.com/vincenthz/hs-tls
+ subdir: core