git: 9f7867340232 - main - devel/py-rauth: Add Cryptodome support

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Sat, 31 Dec 2022 01:13:48 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9f786734023235ec6cff1af08ff0d9c03c31e496

commit 9f786734023235ec6cff1af08ff0d9c03c31e496
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2022-12-31 01:08:34 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2022-12-31 01:13:26 +0000

    devel/py-rauth: Add Cryptodome support
    
    PR:             248307
    Reported by:    john@saltant.com
---
 devel/py-rauth/Makefile                    |  1 +
 devel/py-rauth/files/patch-rauth__oauth.py | 29 +++++++++++++++++++++++++++++
 devel/py-rauth/files/patch-setup.py        |  2 +-
 3 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/devel/py-rauth/Makefile b/devel/py-rauth/Makefile
index 6272c472192a..4f9afe90e48b 100644
--- a/devel/py-rauth/Makefile
+++ b/devel/py-rauth/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	rauth
 PORTVERSION=	0.7.2
+PORTREVISION=	1
 CATEGORIES=	devel www python
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
diff --git a/devel/py-rauth/files/patch-rauth__oauth.py b/devel/py-rauth/files/patch-rauth__oauth.py
new file mode 100644
index 000000000000..9a829f92bf22
--- /dev/null
+++ b/devel/py-rauth/files/patch-rauth__oauth.py
@@ -0,0 +1,29 @@
+commit 7fb3b7bf1a1869a52cf59ee3eb607d318e97265c
+Author: John W. O'Brien <john@saltant.com>
+Date:   Mon Jul 27 14:56:02 2020 -0400
+
+    Support PyCryptodome as alternative to PyCrypto
+
+--- rauth/oauth.py.orig	2015-11-05 16:01:31 UTC
++++ rauth/oauth.py
+@@ -171,7 +171,8 @@ class RsaSha1Signature(SignatureMethod):
+             from Crypto.Signature import PKCS1_v1_5 as p
+             self.RSA, self.SHA, self.PKCS1_v1_5 = r, s, p
+         except ImportError:  # pragma: no cover
+-            raise NotImplementedError('PyCrypto is required for ' + self.NAME)
++            raise NotImplementedError('PyCrypto(dome) is required for '
++                                      + self.NAME)
+
+     def sign(self,
+              consumer_secret,
+@@ -208,7 +209,9 @@ class RsaSha1Signature(SignatureMethod):
+         # resolve the key
+         if is_basestring(consumer_secret):
+             consumer_secret = self.RSA.importKey(consumer_secret)
+-        if not isinstance(consumer_secret, self.RSA._RSAobj):
++        valid_cls = (getattr(self.RSA, '_RSAobj', False)
++                     or getattr(self.RSA, 'RsaKey', False))
++        if not (valid_cls and isinstance(consumer_secret, valid_cls)):
+             raise ValueError('invalid consumer_secret')
+
+         # hash the string with RSA-SHA1
diff --git a/devel/py-rauth/files/patch-setup.py b/devel/py-rauth/files/patch-setup.py
index ec3c9a39b67d..6594fc1996a5 100644
--- a/devel/py-rauth/files/patch-setup.py
+++ b/devel/py-rauth/files/patch-setup.py
@@ -14,7 +14,7 @@
 +tests_require = [
 +    'nose',
 +    'mock',
-+    'pycrypto',
++    'pycryptodome',
 +]
 +
  if sys.version_info[0] == 2 and sys.version_info[1] < 7: