commit:     953aee9c307b4cead26995a66292248de5b97e92
Author:     Patrick McLean <patrick.mclean <AT> sony <DOT> com>
AuthorDate: Wed Nov 27 05:31:01 2019 +0000
Commit:     Patrick McLean <chutzpah <AT> gentoo <DOT> org>
CommitDate: Wed Nov 27 05:32:21 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=953aee9c

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 <AT> gentoo.org>

 dev-python/pycryptodome/Manifest                   |  1 +
 .../files/pycryptodome-3.9.4-parallel-make.patch   | 22 ++++++++++
 .../files/pycryptodome-3.9.4-tests.patch           | 48 ++++++++++++++++++++++
 dev-python/pycryptodome/pycryptodome-3.9.4.ebuild  | 46 +++++++++++++++++++++
 4 files changed, 117 insertions(+)

diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest
index 31aadd3a9fb..31352feff6b 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 00000000000..331333533f1
--- /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 00000000000..2cfcaec127d
--- /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 00000000000..00d860e0cd6
--- /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
+}

Reply via email to