diff options
author | Jack Todaro <solpeth@posteo.org> | 2020-07-30 11:48:14 +1000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-08-01 09:02:50 +0100 |
commit | dfb5aa184a006d1015514eeeb2c48482ffb4738d (patch) | |
tree | e31cd756193e2c46defc79470ed49cfd81033e69 /dev-haskell | |
parent | dev-haskell/drbg: add package (diff) | |
download | gentoo-dfb5aa184a006d1015514eeeb2c48482ffb4738d.tar.gz gentoo-dfb5aa184a006d1015514eeeb2c48482ffb4738d.tar.bz2 gentoo-dfb5aa184a006d1015514eeeb2c48482ffb4738d.zip |
dev-haskell/rsa: add package
Package-Manager: Portage-3.0.1, Repoman-2.3.23
Signed-off-by: Jack Todaro <solpeth@posteo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-haskell')
-rw-r--r-- | dev-haskell/rsa/Manifest | 1 | ||||
-rw-r--r-- | dev-haskell/rsa/files/rsa-2.3.1-p1-ghc-8.8.patch | 19 | ||||
-rw-r--r-- | dev-haskell/rsa/files/rsa-2.3.1-p2-ghc-8.8.patch | 21 | ||||
-rw-r--r-- | dev-haskell/rsa/files/rsa-2.3.1-p3-ghc-8.8.patch | 23 | ||||
-rw-r--r-- | dev-haskell/rsa/metadata.xml | 16 | ||||
-rw-r--r-- | dev-haskell/rsa/rsa-2.3.1.ebuild | 49 |
6 files changed, 129 insertions, 0 deletions
diff --git a/dev-haskell/rsa/Manifest b/dev-haskell/rsa/Manifest new file mode 100644 index 000000000000..86a9aca3dad7 --- /dev/null +++ b/dev-haskell/rsa/Manifest @@ -0,0 +1 @@ +DIST RSA-2.3.1.tar.gz 14705 BLAKE2B 065341bd3360410ca1e2ae1057b6b8112bc6cf1253ef12733d9d9564666b7c97e8088d35e0736a76768ebc8d40f497536ec0bb84565d849285666c591f1df3c6 SHA512 b4d3f406cd7b97237c2b36e2ba659f35871e02a6144b6cb48482fdc7999d9822758472c25b9eaef9ef6aeb8c503fa49b424350a543897217f3aec3084dd7572f diff --git a/dev-haskell/rsa/files/rsa-2.3.1-p1-ghc-8.8.patch b/dev-haskell/rsa/files/rsa-2.3.1-p1-ghc-8.8.patch new file mode 100644 index 000000000000..2c985b3b5f62 --- /dev/null +++ b/dev-haskell/rsa/files/rsa-2.3.1-p1-ghc-8.8.patch @@ -0,0 +1,19 @@ +commit 8d867a693f91406f9b45e24d79a0637013c0e272 +Author: Ollie Charles <ollie@ocharles.org.uk> +Date: Wed Sep 18 14:48:23 2019 +0100 + + Update Pure.hs + +diff --git a/src/Codec/Crypto/RSA/Pure.hs b/src/Codec/Crypto/RSA/Pure.hs +index 8e0f483..a69907d 100644 +--- a/src/Codec/Crypto/RSA/Pure.hs ++++ b/src/Codec/Crypto/RSA/Pure.hs +@@ -111,7 +111,7 @@ instance Binary PrivateKey where + d <- os2ip `fmap` getLazyByteString (fromIntegral (public_size pub)) + return (PrivateKey pub d 0 0 0 0 0) + +-failOnError :: (Monad m, Show a) => Either a b -> m b ++failOnError :: (MonadFail m, Show a) => Either a b -> m b + failOnError (Left e) = fail (show e) + failOnError (Right b) = return b + diff --git a/dev-haskell/rsa/files/rsa-2.3.1-p2-ghc-8.8.patch b/dev-haskell/rsa/files/rsa-2.3.1-p2-ghc-8.8.patch new file mode 100644 index 000000000000..e2c7348eb38c --- /dev/null +++ b/dev-haskell/rsa/files/rsa-2.3.1-p2-ghc-8.8.patch @@ -0,0 +1,21 @@ +commit d621ae1603f27b3de867b46e5ad4d28460097dac +Author: Ollie Charles <ollie@ocharles.org.uk> +Date: Wed Sep 18 14:52:34 2019 +0100 + + Update Pure.hs + +diff --git a/src/Codec/Crypto/RSA/Pure.hs b/src/Codec/Crypto/RSA/Pure.hs +index a69907d..e3513a9 100644 +--- a/src/Codec/Crypto/RSA/Pure.hs ++++ b/src/Codec/Crypto/RSA/Pure.hs +@@ -111,8 +111,8 @@ instance Binary PrivateKey where + d <- os2ip `fmap` getLazyByteString (fromIntegral (public_size pub)) + return (PrivateKey pub d 0 0 0 0 0) + +-failOnError :: (MonadFail m, Show a) => Either a b -> m b +-failOnError (Left e) = fail (show e) ++failOnError :: (Monad m, Show a) => Either a b -> m b ++failOnError (Left e) = error (show e) + failOnError (Right b) = return b + + -- ---------------------------------------------------------------------------- diff --git a/dev-haskell/rsa/files/rsa-2.3.1-p3-ghc-8.8.patch b/dev-haskell/rsa/files/rsa-2.3.1-p3-ghc-8.8.patch new file mode 100644 index 000000000000..6aebe6fab6ce --- /dev/null +++ b/dev-haskell/rsa/files/rsa-2.3.1-p3-ghc-8.8.patch @@ -0,0 +1,23 @@ +commit bb712862c868975ab033e1079751d9e3787d3a33 +Author: Ollie Charles <ollie@ocharles.org.uk> +Date: Wed Sep 18 14:54:22 2019 +0100 + + Update Test.hs + +diff --git a/Test.hs b/Test.hs +index dd61302..4fa26ca 100644 +--- a/Test.hs ++++ b/Test.hs +@@ -98,10 +98,10 @@ instance Arbitrary LargePrime where + arbitrary = + do seed <- BSS.pack `fmap` replicateM 4096 arbitrary + case newGen seed of +- Left _ -> fail "DRBG initialization error." ++ Left _ -> error "DRBG initialization error." + Right (g :: HashDRBG) -> + case largeRandomPrime g 64 of +- Left _ -> fail "Large prime generation failure." ++ Left _ -> error "Large prime generation failure." + Right (i, _) -> return (LP i) + + data KeyPairIdx = KPI Int diff --git a/dev-haskell/rsa/metadata.xml b/dev-haskell/rsa/metadata.xml new file mode 100644 index 000000000000..72836dbae97d --- /dev/null +++ b/dev-haskell/rsa/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>haskell@gentoo.org</email> + <name>Gentoo Haskell</name> + </maintainer> + <longdescription> + This library implements the RSA encryption and signature + algorithms for arbitrarily-sized ByteStrings. While the + implementations work, they are not necessarily the fastest ones + on the planet. Particularly key generation. The algorithms + included are based of RFC 3447, or the Public-Key Cryptography + Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1). + </longdescription> +</pkgmetadata> diff --git a/dev-haskell/rsa/rsa-2.3.1.ebuild b/dev-haskell/rsa/rsa-2.3.1.ebuild new file mode 100644 index 000000000000..aa735c7441d2 --- /dev/null +++ b/dev-haskell/rsa/rsa-2.3.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# ebuild generated by hackport 0.6.9999 +#hackport: flags: -oldbase,-buildtestexecutable + +CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" +inherit haskell-cabal + +MY_PN="RSA" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Implementation of RSA, using the padding schemes of PKCS#1 v2.1" +HOMEPAGE="http://hackage.haskell.org/package/RSA" +SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz" + +LICENSE="BSD" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND=">=dev-haskell/crypto-api-0.10:=[profile?] <dev-haskell/crypto-api-0.14:=[profile?] + >=dev-haskell/crypto-pubkey-types-0.2:=[profile?] <dev-haskell/crypto-pubkey-types-0.6:=[profile?] + >=dev-haskell/sha-1.6.4.1:=[profile?] <dev-haskell/sha-2.0:=[profile?] + >=dev-lang/ghc-7.8.2:= +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.18.1.3 + test? ( >=dev-haskell/crypto-pubkey-types-0.4 <dev-haskell/crypto-pubkey-types-0.6 + >=dev-haskell/drbg-0.5.2 <dev-haskell/drbg-0.7 + >=dev-haskell/quickcheck-2.5 <dev-haskell/quickcheck-3 + >=dev-haskell/tagged-0.2 <dev-haskell/tagged-0.9 + >=dev-haskell/test-framework-0.8.0.3 <dev-haskell/test-framework-0.10 + >=dev-haskell/test-framework-quickcheck2-0.3.0.2 <dev-haskell/test-framework-quickcheck2-0.5 ) +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=("${FILESDIR}"/${P}-p1-ghc-8.8.patch + "${FILESDIR}"/${P}-p2-ghc-8.8.patch + "${FILESDIR}"/${P}-p3-ghc-8.8.patch) + +src_configure() { + haskell-cabal_src_configure \ + --flag=-buildtestexecutable \ + --flag=-oldbase +} |