summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars-Dominik Braun <ldb@leibniz-psychology.org>2020-05-19 09:46:49 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-05-20 23:51:27 +0200
commit9b65cdd902ec39115dbf3e0ad34e49f544ab4267 (patch)
treeaf1ddfa632255053a6a94d3e44000d1c1d5c06d7
parentb2bdd7a12919d1af4d1314729fa02d87897be8d4 (diff)
downloadpatches-9b65cdd902ec39115dbf3e0ad34e49f544ab4267.tar
patches-9b65cdd902ec39115dbf3e0ad34e49f544ab4267.tar.gz
gnu: python-shouldbe: Python 3.8 compatibility.
* gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch: Add compatibility patch. * gnu/local.mk (dist_patch_DATA): Add new file. * gnu/packages/python-xyz.scm (python-shouldbe)[source]: Add patch. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch82
-rw-r--r--gnu/packages/python-xyz.scm3
3 files changed, 85 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 8d737f211e..91f094ce0f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1434,6 +1434,7 @@ dist_patch_DATA = \
%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 \
+ %D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
%D%/packages/patches/python-slugify-depend-on-unidecode.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/python-unittest2-python3-compat.patch \
diff --git a/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch
new file mode 100644
index 0000000000..f3b56e42d6
--- /dev/null
+++ b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch
@@ -0,0 +1,82 @@
+Fix compatibility with Python 3.8.
+
+Upstream issue: https://github.com/DirectXMan12/should_be/pull/5
+
+diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/core.py shouldbe-0.1.2.patched/should_be/core.py
+--- shouldbe-0.1.2/should_be/core.py 2019-03-06 07:38:22.000000000 +0100
++++ shouldbe-0.1.2.patched/should_be/core.py 2020-05-18 08:44:24.214664704 +0200
+@@ -103,7 +103,7 @@
+ return resf
+
+
+-def buildCode(baseCode, argcount=None, kwonlyargcount=None,
++def buildCode(baseCode, argcount=None, posonlyargcount=None, kwonlyargcount=None,
+ nlocals=None, stacksize=None, flags=None,
+ code=None, consts=None, names=None,
+ varnames=None, filename=None, name=None,
+@@ -121,6 +121,24 @@
+ nlocals or baseCode.co_nlocals,
+ stacksize or baseCode.co_stacksize,
+ flags or baseCode.co_flags,
++ code or baseCode.co_code,
++ consts or baseCode.co_consts,
++ names or baseCode.co_names,
++ varnames or baseCode.co_varnames,
++ filename or baseCode.co_filename,
++ name or baseCode.co_name,
++ firstlineno or baseCode.co_firstlineno,
++ lnotab or baseCode.co_lnotab,
++ freevars or baseCode.co_freevars,
++ cellvars or baseCode.co_cellvars)
++ elif hasattr(baseCode, 'co_posonlyargcount'):
++ # Python 3.8
++ resc = CodeType(argcount or baseCode.co_argcount,
++ posonlyargcount or baseCode.co_posonlyargcount,
++ kwonlyargcount or baseCode.co_kwonlyargcount,
++ nlocals or baseCode.co_nlocals,
++ stacksize or baseCode.co_stacksize,
++ flags or baseCode.co_flags,
+ code or baseCode.co_code,
+ consts or baseCode.co_consts,
+ names or baseCode.co_names,
+diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/tests/test_container_mixin.py shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py
+--- shouldbe-0.1.2/should_be/tests/test_container_mixin.py 2019-03-01 06:38:16.000000000 +0100
++++ shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py 2020-05-18 09:00:51.372531064 +0200
+@@ -7,31 +7,31 @@
+ self.lst = [1, 2, 3]
+
+ def test_should_include_iter(self):
+- err_msg = (r'[a-zA-Z0-9.]+ should have included \[.+?\]'
++ err_msg = (r'[a-zA-Z0-9.()]+ should have included \[.+?\]'
+ r', but did not have items .+')
+- self.assertRaisesRegexp(AssertionError, err_msg,
++ self.assertRaisesRegex(AssertionError, err_msg,
+ self.lst.should_include, [4])
+
+ self.lst.should_include([1, 2, 3])
+
+ def test_should_include_item(self):
+- err_msg = (r'[a-zA-Z0-9.]+ should have included .+?'
++ err_msg = (r'[a-zA-Z0-9.()]+ should have included .+?'
+ r', but did not')
+- self.assertRaisesRegexp(AssertionError, err_msg,
++ self.assertRaisesRegex(AssertionError, err_msg,
+ self.lst.should_include, 4)
+
+ self.lst.should_include(3)
+
+ def test_shouldnt_include_iter(self):
+ err_msg = 'should not have included'
+- self.assertRaisesRegexp(AssertionError, err_msg,
++ self.assertRaisesRegex(AssertionError, err_msg,
+ self.lst.shouldnt_include, [2, 3])
+
+ self.lst.shouldnt_include([4, 5])
+
+ def test_shouldnt_include_item(self):
+ err_msg = 'should not have included'
+- self.assertRaisesRegexp(AssertionError, err_msg,
++ self.assertRaisesRegex(AssertionError, err_msg,
+ self.lst.shouldnt_include, 3)
+
+ self.lst.shouldnt_include(4)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 1f96ed4391..a0f44dde8b 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18788,7 +18788,8 @@ and cuts down boilerplate code when testing libraries for asyncio.")
(uri (pypi-uri "shouldbe" version))
(sha256
(base32
- "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj"))))
+ "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj"))
+ (patches (search-patches "python-shouldbe-0.1.2-cpy3.8.patch"))))
(build-system python-build-system)
(propagated-inputs
`(("python-forbiddenfruit" ,python-forbiddenfruit)))