summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-11 16:04:26 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-11 16:04:26 +0200
commit2a2a9878682e4d959633ecab5275397809a1ce3f (patch)
tree1756aee02117535c77a0c3feaa76b3b1c10b0cd0
parent8cc103cb01c1f13090ecfb34a6dcdd7d68710f31 (diff)
gnu: python-pycrypto: Fix build with Python 3.8.
* gnu/packages/patches/python-pycrypto-time-clock.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/python-crypto.scm (python-pycrypto)[source](patches): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-pycrypto-time-clock.patch23
-rw-r--r--gnu/packages/python-crypto.scm3
3 files changed, 26 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index e7e5d00baf..3f48c466af 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1387,6 +1387,7 @@ dist_patch_DATA = \
%D%/packages/patches/python2-parameterized-docstring-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
+ %D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
diff --git a/gnu/packages/patches/python-pycrypto-time-clock.patch b/gnu/packages/patches/python-pycrypto-time-clock.patch
new file mode 100644
index 0000000000..9b7a8232a2
--- /dev/null
+++ b/gnu/packages/patches/python-pycrypto-time-clock.patch
@@ -0,0 +1,23 @@
+Drop use of the deprecated time.clock which was removed in Python 3.8.
+
+Adapted from upstream pull request:
+
+https://github.com/dlitz/pycrypto/pull/296
+
+diff --git a/lib/Crypto/Random/_UserFriendlyRNG.py b/lib/Crypto/Random/_UserFriendlyRNG.py
+--- a/lib/Crypto/Random/_UserFriendlyRNG.py
++++ b/lib/Crypto/Random/_UserFriendlyRNG.py
+@@ -73,8 +73,11 @@ class _EntropyCollector(object):
+ t = time.time()
+ self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))
+
+- # Add the fractional part of time.clock()
+- t = time.clock()
++ # Add the fractional part of time.process_time()
++ try:
++ t = time.process_time()
++ except AttributeError:
++ t = time.clock()
+ self._clock_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))
+
+
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 80160301dd..eb57f2bbd9 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -280,7 +280,8 @@ making them easy to handle and incorporate into other protocols.")
(origin
(method url-fetch)
(uri (pypi-uri "pycrypto" version))
- (patches (search-patches "python-pycrypto-CVE-2013-7459.patch"))
+ (patches (search-patches "python-pycrypto-CVE-2013-7459.patch"
+ "python-pycrypto-time-clock.patch"))
(sha256
(base32
"0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj"))))