[packages/python-freezegun] - added python3.7 patch (fixes tests with python 3.7.x)
qboosh
qboosh at pld-linux.org
Sun Jul 15 21:08:25 CEST 2018
commit 97944efcc4c796e73fe120185b9f7e2f03939daf
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Jul 15 21:10:15 2018 +0200
- added python3.7 patch (fixes tests with python 3.7.x)
python-freezegun-python3.7.patch | 55 ++++++++++++++++++++++++++++++++++++++++
python-freezegun.spec | 2 ++
2 files changed, 57 insertions(+)
---
diff --git a/python-freezegun.spec b/python-freezegun.spec
index f2d9825..a663338 100644
--- a/python-freezegun.spec
+++ b/python-freezegun.spec
@@ -15,6 +15,7 @@ Group: Libraries/Python
Source0: https://files.pythonhosted.org/packages/source/f/freezegun/freezegun-%{version}.tar.gz
# Source0-md5: 703b64446743c0d9f81ca9308e5097a0
Patch0: %{name}-mock.patch
+Patch1: %{name}-python3.7.patch
URL: https://pypi.org/project/freezegun/
BuildRequires: rpm-pythonprov
BuildRequires: rpmbuild(macros) >= 1.714
@@ -66,6 +67,7 @@ czasie dzięki atrapie modułu datetime.
%prep
%setup -q -n freezegun-%{version}
%patch0 -p1
+%patch1 -p1
%build
%if %{with python2}
diff --git a/python-freezegun-python3.7.patch b/python-freezegun-python3.7.patch
new file mode 100644
index 0000000..e448f29
--- /dev/null
+++ b/python-freezegun-python3.7.patch
@@ -0,0 +1,55 @@
+From 4fdad69659f15a9e62cf4f6c15c9f319276cf9b0 Mon Sep 17 00:00:00 2001
+From: Jonas Obrist <jonas.obrist at hde.co.jp>
+Date: Tue, 6 Mar 2018 12:21:38 +0900
+Subject: [PATCH] add support for Python 3.7 uuid module changes
+
+Python 3.7 removed uuid._uuid_generate_time. It now has
+uuid._load_system_functions and uuid._generate_time_safe.
+_generate_time_safe is set by calling _load_system_functions (subsequent
+calls to that function are no-op). This change detects the missing
+uuid._uuid_generate_time attribute and uses the new attribute/function
+if they're missing.
+---
+ freezegun/api.py | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/freezegun/api.py b/freezegun/api.py
+index eb09932..a88a392 100644
+--- a/freezegun/api.py
++++ b/freezegun/api.py
+@@ -27,8 +27,14 @@
+
+ try:
+ real_uuid_generate_time = uuid._uuid_generate_time
+-except (AttributeError, ImportError):
++ uuid_generate_time_attr = '_uuid_generate_time'
++except AttributeError:
++ uuid._load_system_functions()
++ real_uuid_generate_time = uuid._generate_time_safe
++ uuid_generate_time_attr = '_generate_time_safe'
++except ImportError:
+ real_uuid_generate_time = None
++ uuid_generate_time_attr = None
+
+ try:
+ real_uuid_create = uuid._UuidCreate
+@@ -482,7 +488,8 @@ def start(self):
+ time.localtime = fake_localtime
+ time.gmtime = fake_gmtime
+ time.strftime = fake_strftime
+- uuid._uuid_generate_time = None
++ if uuid_generate_time_attr:
++ setattr(uuid, uuid_generate_time_attr, None)
+ uuid._UuidCreate = None
+ uuid._last_timestamp = None
+
+@@ -573,7 +580,8 @@ def stop(self):
+ time.localtime = time.localtime.previous_localtime_function
+ time.strftime = time.strftime.previous_strftime_function
+
+- uuid._uuid_generate_time = real_uuid_generate_time
++ if uuid_generate_time_attr:
++ setattr(uuid, uuid_generate_time_attr, real_uuid_generate_time)
+ uuid._UuidCreate = real_uuid_create
+ uuid._last_timestamp = None
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/python-freezegun.git/commitdiff/97944efcc4c796e73fe120185b9f7e2f03939daf
More information about the pld-cvs-commit
mailing list