GNU bug report logs - #41393
[PATCH] gnu: python-shouldbe: Python 3.8 compatibility

Previous Next

Package: guix-patches;

Reported by: Lars-Dominik Braun <ldb <at> leibniz-psychology.org>

Date: Tue, 19 May 2020 07:47:02 UTC

Severity: normal

Tags: patch

Done: Marius Bakke <mbakke <at> fastmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41393 in the body.
You can then email your comments to 41393 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#41393; Package guix-patches. (Tue, 19 May 2020 07:47:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lars-Dominik Braun <ldb <at> leibniz-psychology.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 19 May 2020 07:47:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Lars-Dominik Braun <ldb <at> leibniz-psychology.org>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: python-shouldbe: Python 3.8 compatibility
Date: Tue, 19 May 2020 09:46:49 +0200
[Message part 1 (text/plain, inline)]
Upstream issue: https://github.com/DirectXMan12/should_be/pull/5

* 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
---
 gnu/local.mk                                  |  1 +
 .../python-shouldbe-0.1.2-cpy3.8.patch        | 78 +++++++++++++++++++
 gnu/packages/python-xyz.scm                   |  3 +-
 3 files changed, 81 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 38b286203e..7ab5882f1b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1432,6 +1432,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..0a80d15cd2
--- /dev/null
+++ b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch
@@ -0,0 +1,78 @@
+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 c26a766d64..00a4fd51c4 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18749,7 +18749,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)))
-- 
2.20.1

[signature.asc (application/pgp-signature, inline)]

Reply sent to Marius Bakke <mbakke <at> fastmail.com>:
You have taken responsibility. (Wed, 20 May 2020 20:40:02 GMT) Full text and rfc822 format available.

Notification sent to Lars-Dominik Braun <ldb <at> leibniz-psychology.org>:
bug acknowledged by developer. (Wed, 20 May 2020 20:40:03 GMT) Full text and rfc822 format available.

Message #10 received at 41393-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Lars-Dominik Braun <ldb <at> leibniz-psychology.org>, 41393-done <at> debbugs.gnu.org
Subject: Re: [bug#41393] [PATCH] gnu: python-shouldbe: Python 3.8 compatibility
Date: Wed, 20 May 2020 22:39:22 +0200
[Message part 1 (text/plain, inline)]
Lars-Dominik Braun <ldb <at> leibniz-psychology.org> writes:

> Upstream issue: https://github.com/DirectXMan12/should_be/pull/5
>
> * 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

Applied!

I moved the link to the upstream issue into the patch file and added a
short comment about it, as is customs.

Thank you!
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 18 Jun 2020 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 362 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.