summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Todaro <solpeth@posteo.org>2020-07-30 11:48:14 +1000
committerSergei Trofimovich <slyfox@gentoo.org>2020-08-01 09:02:50 +0100
commitdfb5aa184a006d1015514eeeb2c48482ffb4738d (patch)
treee31cd756193e2c46defc79470ed49cfd81033e69 /dev-haskell/rsa
parentdev-haskell/drbg: add package (diff)
downloadgentoo-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/rsa')
-rw-r--r--dev-haskell/rsa/Manifest1
-rw-r--r--dev-haskell/rsa/files/rsa-2.3.1-p1-ghc-8.8.patch19
-rw-r--r--dev-haskell/rsa/files/rsa-2.3.1-p2-ghc-8.8.patch21
-rw-r--r--dev-haskell/rsa/files/rsa-2.3.1-p3-ghc-8.8.patch23
-rw-r--r--dev-haskell/rsa/metadata.xml16
-rw-r--r--dev-haskell/rsa/rsa-2.3.1.ebuild49
6 files changed, 129 insertions, 0 deletions
diff --git a/dev-haskell/rsa/Manifest b/dev-haskell/rsa/Manifest
new file mode 100644
index 00000000000..86a9aca3dad
--- /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 00000000000..2c985b3b5f6
--- /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 00000000000..e2c7348eb38
--- /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 00000000000..6aebe6fab6c
--- /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 00000000000..72836dbae97
--- /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 00000000000..aa735c7441d
--- /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
+}