From 70ff893e2aac6e0eb608b185256b914af76b1b65 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Mon, 4 Nov 2019 14:08:08 +0000 Subject: testing/py3-passlib: rebuild against python 3.8 --- testing/py3-passlib/0001-Remove-time-clock.patch | 52 +++++++++++++++++++++++ testing/py3-passlib/0002-Fix-for-Python-3-8.patch | 48 +++++++++++++++++++++ testing/py3-passlib/APKBUILD | 8 +++- 3 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 testing/py3-passlib/0001-Remove-time-clock.patch create mode 100644 testing/py3-passlib/0002-Fix-for-Python-3-8.patch (limited to 'testing/py3-passlib') 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 +# 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 +# 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" -- cgit v1.2.3