diff options
author | Patrick McLean <patrick.mclean@sony.com> | 2019-11-26 21:31:01 -0800 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2019-11-26 21:32:21 -0800 |
commit | 953aee9c307b4cead26995a66292248de5b97e92 (patch) | |
tree | 015de75e858f2da81e3d12a1636a2a363c4d95ea /dev-python/pycryptodome | |
parent | dev-python/ecdsa-0.14.1-r1: revbump, add missing deps, add py38 (diff) | |
download | gentoo-953aee9c307b4cead26995a66292248de5b97e92.tar.gz gentoo-953aee9c307b4cead26995a66292248de5b97e92.tar.bz2 gentoo-953aee9c307b4cead26995a66292248de5b97e92.zip |
dev-python/pycryptodome-3.9.4: Bump, add py38, fix tests
Copyright: Sony Interactive Entertainment Inc.
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'dev-python/pycryptodome')
4 files changed, 117 insertions, 0 deletions
diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest index 31aadd3a9fb6..31352feff6b8 100644 --- a/dev-python/pycryptodome/Manifest +++ b/dev-python/pycryptodome/Manifest @@ -3,3 +3,4 @@ DIST pycryptodome-3.4.7.tar.gz 6483140 BLAKE2B 02368e2af0a12686cf2e635cca8e2c279 DIST pycryptodome-3.6.6.tar.gz 7137656 BLAKE2B 72a3dffa22ca4a90a6515ce0bb6939d4c11aab31793ca330523feb08f6529cbfdf3dee01b1caa4577caed1818c0227961e7f25d855b2dcfb09757beb3e0790b4 SHA512 ce03d9940c23ce59e19bcd795c300dbddeddd49756a4bfcc6933da66dfb8b7bedb8d6eaa2b01727c53e72c8e84dfcab2961d1580a188afa9c9451bd2099bdc61 DIST pycryptodome-3.7.3.tar.gz 9285823 BLAKE2B 6f215a3bb0337f5b7469d92bd2d5b5a19ab4e2c6a8f119411c3a5bcdcf93307752d99113866268b5066cceda6470bd0fbe81b1b2f9e30b5e5e569c77ede087f3 SHA512 b5e09c08cd252cad4d76249be84ce29e16a9bba4f2c5e81594c24d9a39df0f3fc67822698497eb9daa4cb6a43311c5d5a2543f187a5d5f801288596c2941f08f DIST pycryptodome-3.8.2.tar.gz 12441359 BLAKE2B 857b77ce23bafe8a296d6fc2402914491818b51142d2a08aa882a0d4e15899bc2b18a6b69ffa904cad406fb3ce8bf029404ea178532cd4580ce118ec03311cd2 SHA512 361909d479b3478b72f2723f2c94cafd4e9d50c2d4156535d217f0566c534dc27435f64e9ba0cdb8215c2c3d3800ad1e0befde95d9999eed481f33f9ed2ba318 +DIST pycryptodome-3.9.4.tar.gz 11575825 BLAKE2B c153fe71179d633a5722480c4c42cc133100f524a8ba9d3cd9380b7e172564c276b70b97ef36437fa3a149c418903802f410c9d1807d5d72345dffb0aa568223 SHA512 d99e4e431d77856ce3ae33526984cadf2fa6aa82b1f692a2ad0ae893f6a1e9538e6d71d281578e6bd733a816664d1683364c64441196cbc6ee1278f9d6eac62c diff --git a/dev-python/pycryptodome/files/pycryptodome-3.9.4-parallel-make.patch b/dev-python/pycryptodome/files/pycryptodome-3.9.4-parallel-make.patch new file mode 100644 index 000000000000..331333533f10 --- /dev/null +++ b/dev-python/pycryptodome/files/pycryptodome-3.9.4-parallel-make.patch @@ -0,0 +1,22 @@ +diff --git a/setup.py b/setup.py +index 1d70caad..c72f64ff 100644 +--- a/setup.py ++++ b/setup.py +@@ -364,7 +364,7 @@ ext_modules = [ + Extension("Crypto.Cipher._raw_eksblowfish", + include_dirs=['src/'], + define_macros=[('EKS',None),], +- sources=["src/blowfish.c"]), ++ sources=["src/blowfish_eks.c"]), + Extension("Crypto.Cipher._raw_cast", + include_dirs=['src/'], + sources=["src/CAST.c"]), +@@ -427,7 +427,7 @@ ext_modules = [ + # Math + Extension("Crypto.Math._modexp", + include_dirs=['src/'], +- sources=['src/modexp.c', 'src/siphash.c', 'src/modexp_utils.c', 'src/mont.c'], ++ sources=['src/modexp.c', 'src/siphash.c', 'src/modexp_utils.c', 'src/mont_math.c'], + ), + ] + diff --git a/dev-python/pycryptodome/files/pycryptodome-3.9.4-tests.patch b/dev-python/pycryptodome/files/pycryptodome-3.9.4-tests.patch new file mode 100644 index 000000000000..2cfcaec127de --- /dev/null +++ b/dev-python/pycryptodome/files/pycryptodome-3.9.4-tests.patch @@ -0,0 +1,48 @@ +diff --git a/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py b/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +index a2109891..44d2e532 100644 +--- a/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py ++++ b/lib/Crypto/SelfTest/Cipher/test_ChaCha20_Poly1305.py +@@ -626,6 +626,7 @@ class TestVectorsWycheproof(unittest.TestCase): + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings ++ self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") +diff --git a/lib/Crypto/SelfTest/Cipher/test_EAX.py b/lib/Crypto/SelfTest/Cipher/test_EAX.py +index cdd0e85a..546186d1 100644 +--- a/lib/Crypto/SelfTest/Cipher/test_EAX.py ++++ b/lib/Crypto/SelfTest/Cipher/test_EAX.py +@@ -656,6 +656,7 @@ class TestVectorsWycheproof(unittest.TestCase): + def __init__(self, wycheproof_warnings): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings ++ self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") +diff --git a/lib/Crypto/SelfTest/Cipher/test_GCM.py b/lib/Crypto/SelfTest/Cipher/test_GCM.py +index e3a7a3da..71ea0d18 100644 +--- a/lib/Crypto/SelfTest/Cipher/test_GCM.py ++++ b/lib/Crypto/SelfTest/Cipher/test_GCM.py +@@ -828,6 +828,7 @@ class TestVectorsWycheproof(unittest.TestCase): + unittest.TestCase.__init__(self) + self._wycheproof_warnings = wycheproof_warnings + self._extra_params = extra_params ++ self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") +diff --git a/lib/Crypto/SelfTest/Cipher/test_SIV.py b/lib/Crypto/SelfTest/Cipher/test_SIV.py +index 38341e14..ab588adc 100644 +--- a/lib/Crypto/SelfTest/Cipher/test_SIV.py ++++ b/lib/Crypto/SelfTest/Cipher/test_SIV.py +@@ -456,6 +456,7 @@ class TestVectorsWycheproof(unittest.TestCase): + + def __init__(self): + unittest.TestCase.__init__(self) ++ self._id = "None" + + def setUp(self): + comps = "Crypto.SelfTest.Cipher.test_vectors.wycheproof".split(".") diff --git a/dev-python/pycryptodome/pycryptodome-3.9.4.ebuild b/dev-python/pycryptodome/pycryptodome-3.9.4.ebuild new file mode 100644 index 000000000000..00d860e0cd6f --- /dev/null +++ b/dev-python/pycryptodome/pycryptodome-3.9.4.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7,8} pypy{,3} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +DESCRIPTION="A self-contained cryptographic library for Python" +HOMEPAGE="https://www.pycryptodome.org https://github.com/Legrandin/pycryptodome https://pypi.org/project/pycryptodome/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD-2 Unlicense" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +RDEPEND="dev-libs/gmp:0 + virtual/python-cffi[${PYTHON_USEDEP}] + !dev-python/pycrypto" +BDEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}]" + +PATCHES=( + "${FILESDIR}/pycryptodome-3.9.4-parallel-make.patch" + # https://github.com/Legrandin/pycryptodome/pull/351 + "${FILESDIR}/pycryptodome-3.9.4-tests.patch" +) + +python_prepare_all() { + # parallel make fixes + # Multiple targets were compiling the same file, setuptools doesn't + # understand this and you get race conditions where a file gets + # overwritten while it's linking. This makes the files look like separate + # files so this race won't happen + ln src/blowfish.c src/blowfish_eks.c || die + ln src/mont.c src/mont_math.c || die + + distutils-r1_python_prepare_all +} + +python_test() { + esetup.py test -vv +} |