aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2019-11-04 14:08:08 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2019-11-05 15:35:38 +0000
commit70ff893e2aac6e0eb608b185256b914af76b1b65 (patch)
treebd489d359a729665315d29a17ab605516e92a139
parent64dbe51629e600c79a201f45304c45eca8d6a634 (diff)
downloadaports-70ff893e2aac6e0eb608b185256b914af76b1b65.tar.bz2
aports-70ff893e2aac6e0eb608b185256b914af76b1b65.tar.xz
testing/py3-passlib: rebuild against python 3.8
-rw-r--r--testing/py3-passlib/0001-Remove-time-clock.patch52
-rw-r--r--testing/py3-passlib/0002-Fix-for-Python-3-8.patch48
-rw-r--r--testing/py3-passlib/APKBUILD8
3 files changed, 106 insertions, 2 deletions
diff --git a/testing/py3-passlib/0001-Remove-time-clock.patch b/testing/py3-passlib/0001-Remove-time-clock.patch
new file mode 100644
index 0000000000..ebe92d269c
--- /dev/null
+++ b/testing/py3-passlib/0001-Remove-time-clock.patch
@@ -0,0 +1,52 @@
+# HG changeset patch
+# User Alan Pevec <apevec@redhat.com>
+# Date 1562844713 -7200
+# Thu Jul 11 13:31:53 2019 +0200
+# Branch stable
+# Node ID 58f3efd111e930baf39ff50df27ed7f2d24f759d
+# Parent 4801587cebf01f5037ddc9cd52fc94708559bbfb
+Remove time.clock(), deprecated in 3.8
+
+The function time.clock(), used in passlib/utils/__init__.py
+has been removed. It was deprecated since Python 3.3.
+More info:
+https://docs.python.org/3.8/whatsnew/3.8.html#api-and-feature-removals
+
+To make the code both Python 2 and 3 compatible, use timeit.default_timer
+
+diff --git a/passlib/utils/__init__.py b/passlib/utils/__init__.py
+--- a/passlib/utils/__init__.py
++++ b/passlib/utils/__init__.py
+@@ -30,6 +30,7 @@
+ import time
+ if stringprep:
+ import unicodedata
++import timeit
+ import types
+ from warnings import warn
+ # site
+@@ -839,14 +840,7 @@
+ assert secret and hash
+ return safe_crypt(secret, hash) == hash
+
+-# pick best timer function to expose as "tick" - lifted from timeit module.
+-if sys.platform == "win32":
+- # On Windows, the best timer is time.clock()
+- from time import clock as timer
+-else:
+- # On most other platforms the best timer is time.time()
+- from time import time as timer
+-
++timer = timeit.default_timer
+ # legacy alias, will be removed in passlib 2.0
+ tick = timer
+
+@@ -903,7 +897,7 @@
+
+ # the current time, to whatever precision os uses
+ time.time(),
+- time.clock(),
++ tick(),
+
+ # if urandom available, might as well mix some bytes in.
+ os.urandom(32).decode("latin-1") if has_urandom else 0,
diff --git a/testing/py3-passlib/0002-Fix-for-Python-3-8.patch b/testing/py3-passlib/0002-Fix-for-Python-3-8.patch
new file mode 100644
index 0000000000..3fd19a9d56
--- /dev/null
+++ b/testing/py3-passlib/0002-Fix-for-Python-3-8.patch
@@ -0,0 +1,48 @@
+# HG changeset patch
+# User Alan Pevec <apevec@redhat.com>
+# Date 1562888158 -7200
+# Fri Jul 12 01:35:58 2019 +0200
+# Branch stable
+# Node ID 98c08467d15759acc3b0f88d2661f6e530147c33
+# Parent 27866c441d18c7ce42e3f7afe824f89da4f8d21b
+Fix for Python 3.8
+
+This was a deprecation when running in Python 3.7:
+
+DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
+ if isinstance(source, collections.Sequence):
+
+diff --git a/passlib/utils/__init__.py b/passlib/utils/__init__.py
+--- a/passlib/utils/__init__.py
++++ b/passlib/utils/__init__.py
+@@ -6,7 +6,12 @@
+ # core
+ from binascii import b2a_base64, a2b_base64, Error as _BinAsciiError
+ from base64 import b64encode, b64decode
+-import collections
++try:
++ from collections.abc import Sequence
++ from collections.abc import Iterable
++except ImportError:
++ from collections import Sequence
++ from collections import Iterable
+ from codecs import lookup as _lookup_codec
+ from functools import update_wrapper
+ import itertools
+@@ -276,14 +281,14 @@
+ """
+ if size < 1:
+ raise ValueError("size must be positive integer")
+- if isinstance(source, collections.Sequence):
++ if isinstance(source, Sequence):
+ end = len(source)
+ i = 0
+ while i < end:
+ n = i + size
+ yield source[i:n]
+ i = n
+- elif isinstance(source, collections.Iterable):
++ elif isinstance(source, Iterable):
+ itr = iter(source)
+ while True:
+ chunk_itr = itertools.islice(itr, size)
diff --git a/testing/py3-passlib/APKBUILD b/testing/py3-passlib/APKBUILD
index a4a36298af..ee06194a42 100644
--- a/testing/py3-passlib/APKBUILD
+++ b/testing/py3-passlib/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-passlib
_pkgname=passlib
pkgver=1.7.1
-pkgrel=3
+pkgrel=4
pkgdesc="A python hashing library for over 30 schemes"
url="https://pypi.python.org/pypi/passlib"
arch="noarch"
@@ -13,6 +13,8 @@ makedepends="py3-setuptools"
checkdepends="py3-nose"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
skip-bsdi_crypt-test.patch
+ 0001-Remove-time-clock.patch
+ 0002-Fix-for-Python-3-8.patch
"
builddir="$srcdir"/passlib-$pkgver
@@ -32,4 +34,6 @@ check() {
}
sha512sums="3d5f069cd4e44e5e87cdabc46845acbdd6c1eeedb7ce1f611aebee87b0f7af19009b6a47a10ec555fd84260b9f5c933c6429e325d30326de3869f05031674168 passlib-1.7.1.tar.gz
-cdf085a94be88140dff421128bbeb9f4c05d13ae8c14ad80e7ab6d9edf2be19b0ad010eb18a5eccd3eefa679c4f634c6f98753571df72a1fc387343331fa8bae skip-bsdi_crypt-test.patch"
+cdf085a94be88140dff421128bbeb9f4c05d13ae8c14ad80e7ab6d9edf2be19b0ad010eb18a5eccd3eefa679c4f634c6f98753571df72a1fc387343331fa8bae skip-bsdi_crypt-test.patch
+9d3822127f85f09585c84a92c12de4167270645dfde9df5e75722978b2df968e4bc64fc0041a3d660741e9ee261204e123ad0b53aeb622359ae31358944273e6 0001-Remove-time-clock.patch
+2ee5a51556081af9b8028cef22ac9019b72a661ea21fb638f8708dbc8463589f990feff1b9e386cf17ed7c36a84b127b94e5b862e5cd6fcc31a909aabe9489f7 0002-Fix-for-Python-3-8.patch"