aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testing/py3-oscrypto/0001-Fix-compatibility-with-Python-3.7.patch113
-rw-r--r--testing/py3-oscrypto/APKBUILD35
2 files changed, 148 insertions, 0 deletions
diff --git a/testing/py3-oscrypto/0001-Fix-compatibility-with-Python-3.7.patch b/testing/py3-oscrypto/0001-Fix-compatibility-with-Python-3.7.patch
new file mode 100644
index 0000000000..136b791e70
--- /dev/null
+++ b/testing/py3-oscrypto/0001-Fix-compatibility-with-Python-3.7.patch
@@ -0,0 +1,113 @@
+From df9875ee0fd840facd744108aa9151da34d1fb4c Mon Sep 17 00:00:00 2001
+From: wbond <will@wbond.net>
+Date: Sat, 1 Sep 2018 07:07:40 -0400
+Subject: [PATCH] Fix compatibility with Python 3.7
+
+---
+ oscrypto/_openssl/tls.py | 9 +++++++--
+ oscrypto/_osx/tls.py | 9 +++++++--
+ oscrypto/_win/tls.py | 9 +++++++--
+ 3 files changed, 21 insertions(+), 6 deletions(-)
+
+diff --git a/oscrypto/_openssl/tls.py b/oscrypto/_openssl/tls.py
+index 0b5097c..57034dd 100644
+--- a/oscrypto/_openssl/tls.py
++++ b/oscrypto/_openssl/tls.py
+@@ -41,6 +41,11 @@ from ..trust_list import get_path
+ if sys.version_info < (3,):
+ range = xrange # noqa
+
++if sys.version_info < (3, 7):
++ Pattern = re._pattern_type
++else:
++ Pattern = re.Pattern
++
+
+ __all__ = [
+ 'TLSSession',
+@@ -845,7 +850,7 @@ class TLSSocket(object):
+ A byte string of the data read, including the marker
+ """
+
+- if not isinstance(marker, byte_cls) and not isinstance(marker, re._pattern_type):
++ if not isinstance(marker, byte_cls) and not isinstance(marker, Pattern):
+ raise TypeError(pretty_message(
+ '''
+ marker must be a byte string or compiled regex object, not %s
+@@ -855,7 +860,7 @@ class TLSSocket(object):
+
+ output = b''
+
+- is_regex = isinstance(marker, re._pattern_type)
++ is_regex = isinstance(marker, Pattern)
+
+ while True:
+ if len(self._decrypted_bytes) > 0:
+diff --git a/oscrypto/_osx/tls.py b/oscrypto/_osx/tls.py
+index da03ed1..796361c 100644
+--- a/oscrypto/_osx/tls.py
++++ b/oscrypto/_osx/tls.py
+@@ -62,6 +62,11 @@ from ..keys import parse_certificate
+ if sys.version_info < (3,):
+ range = xrange # noqa
+
++if sys.version_info < (3, 7):
++ Pattern = re._pattern_type
++else:
++ Pattern = re.Pattern
++
+
+ __all__ = [
+ 'TLSSession',
+@@ -1116,7 +1121,7 @@ class TLSSocket(object):
+ A byte string of the data read, including the marker
+ """
+
+- if not isinstance(marker, byte_cls) and not isinstance(marker, re._pattern_type):
++ if not isinstance(marker, byte_cls) and not isinstance(marker, Pattern):
+ raise TypeError(pretty_message(
+ '''
+ marker must be a byte string or compiled regex object, not %s
+@@ -1126,7 +1131,7 @@ class TLSSocket(object):
+
+ output = b''
+
+- is_regex = isinstance(marker, re._pattern_type)
++ is_regex = isinstance(marker, Pattern)
+
+ while True:
+ if len(self._decrypted_bytes) > 0:
+diff --git a/oscrypto/_win/tls.py b/oscrypto/_win/tls.py
+index 9a85555..0a8ff70 100644
+--- a/oscrypto/_win/tls.py
++++ b/oscrypto/_win/tls.py
+@@ -61,6 +61,11 @@ if sys.version_info < (3,):
+ else:
+ socket_error_cls = WindowsError
+
++if sys.version_info < (3, 7):
++ Pattern = re._pattern_type
++else:
++ Pattern = re.Pattern
++
+
+ __all__ = [
+ 'TLSSession',
+@@ -1180,7 +1185,7 @@ class TLSSocket(object):
+ A byte string of the data read
+ """
+
+- if not isinstance(marker, byte_cls) and not isinstance(marker, re._pattern_type):
++ if not isinstance(marker, byte_cls) and not isinstance(marker, Pattern):
+ raise TypeError(pretty_message(
+ '''
+ marker must be a byte string or compiled regex object, not %s
+@@ -1190,7 +1195,7 @@ class TLSSocket(object):
+
+ output = b''
+
+- is_regex = isinstance(marker, re._pattern_type)
++ is_regex = isinstance(marker, Pattern)
+
+ while True:
+ if len(self._decrypted_bytes) > 0:
diff --git a/testing/py3-oscrypto/APKBUILD b/testing/py3-oscrypto/APKBUILD
new file mode 100644
index 0000000000..20d4afc8e2
--- /dev/null
+++ b/testing/py3-oscrypto/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=py3-oscrypto
+_pkgname=${pkgname##py3-}
+pkgver=0.19.1
+pkgrel=0
+pkgdesc="Python crypto library backed by the OS"
+url="https://github.com/wbond/oscrypto"
+arch="noarch"
+license="MIT"
+depends="python3 py3-setuptools py3-asn1crypto"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wbond/$_pkgname/archive/$pkgver.tar.gz
+ 0001-Fix-compatibility-with-Python-3.7.patch"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ # Hardcoded FTP server used in the test is down.
+ python3 run.py tests '^(?!test_tls_error_ftp)$'
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ install -m644 docs/* \
+ "$pkgdir"/usr/share/doc/$pkgname
+
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="ed43e572b431decdab12bd8832403a439da4adae5715af5c1674c8868ac4a46e51aae6e39f40b8271cb78f936022c844ecf8383e04a05bd6a0f95cc43e93d800 py3-oscrypto-0.19.1.tar.gz
+dbd82157997ac418d6e9b3c3be67b5332b7194badb664a3e65bf59562f3e4b3927de61bc1dbd35a7b5547be984d22f01a24a9d37ba83a1f5c268fa298144906b 0001-Fix-compatibility-with-Python-3.7.patch"