From 9cd30179b4aeec867bc41aa22220e851520785c5 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 1 Mar 2018 18:18:13 +0000
Subject: python-urllib3: update to 1.22

---
 abs/core/python_modules/python-urllib3/PKGBUILD    | 38 +++++++++++++---------
 abs/core/python_modules/python-urllib3/__changelog |  1 -
 .../python-urllib3/tornado-4.3.patch               | 23 +++++++++++++
 3 files changed, 45 insertions(+), 17 deletions(-)
 delete mode 100644 abs/core/python_modules/python-urllib3/__changelog
 create mode 100644 abs/core/python_modules/python-urllib3/tornado-4.3.patch

diff --git a/abs/core/python_modules/python-urllib3/PKGBUILD b/abs/core/python_modules/python-urllib3/PKGBUILD
index 3f881d2..e4af9f4 100644
--- a/abs/core/python_modules/python-urllib3/PKGBUILD
+++ b/abs/core/python_modules/python-urllib3/PKGBUILD
@@ -5,43 +5,49 @@
 # Contributor: BorgHunter <borghunter at gmail dot com>
 
 pkgbase=python-urllib3
-pkgname=(python2-urllib3)
-pkgver=1.21.1
+pkgname=(python-urllib3 python2-urllib3 python-urllib3-doc)
+pkgver=1.22
 pkgrel=1
 pkgdesc="HTTP library with thread-safe connection pooling and file post support"
 arch=("any")
 url="https://github.com/shazow/urllib3"
 license=("MIT")
-makedepends=('python2-setuptools'
-             'python2-ndg-httpsclient' 'python2-pyasn1'
-             'python2-pyopenssl' 'python2-pysocks' 'python2-mock')
-checkdepends=('python2-nose' 'python2-tornado'
-              'python2-coverage' 'python2-psutil')
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/shazow/urllib3/archive/$pkgver.tar.gz")
-md5sums=('b0a2c692ea273dc120b209a027b0df3c')
+makedepends=('python-setuptools' 'python2-setuptools' 'python2-sphinx' 'python-ndg-httpsclient'
+             'python2-ndg-httpsclient' 'python-pyasn1' 'python2-pyasn1' 'python-pyopenssl'
+             'python2-pyopenssl' 'python-pysocks' 'python2-pysocks' 'python-mock' 'python2-mock')
+checkdepends=('python-pytest-runner' 'python2-pytest-runner' 'python-tornado' 'python2-tornado'
+              'python-nose' 'python2-nose' 'python-psutil' 'python2-psutil'
+              'python-gcp-devrel-py-tools' 'python2-gcp-devrel-py-tools')
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/shazow/urllib3/archive/$pkgver.tar.gz"
+        tornado-4.3.patch)
+sha512sums=('1b45a4a64e71847a4fc62b9263235d5b05b62076698fa324454efeb7ad065abd702cc9eadb2d396d9270b07e91e9bad94c52a4b9b115aadccb27f81955e6feab'
+            '7c09acefa963a80379f8b2f3f2c2c7546ec62025058c1ae024bc954d49392d7956b8b3ceaed40b3d3ab06bcf9c74bfb4214425b66cc55c50ffc2642e2d35c498')
 
 prepare() {
+  # https://github.com/shazow/urllib3/pull/1236
+  (cd urllib3-$pkgver; patch -p1 -i ../tornado-4.3.patch)
+
   cp -a urllib3-$pkgver{,-py2}
 }
 
 build() {
-#  cd "$srcdir"/urllib3-$pkgver
-#  python setup.py build
+  cd "$srcdir"/urllib3-$pkgver
+  python setup.py build
 
   cd "$srcdir"/urllib3-$pkgver-py2
   python2 setup.py build
 
   # Build with Python 2 since autodoc produces errors on Python 3
-#  cd "$srcdir"/urllib3-$pkgver/docs
-#  make SPHINXBUILD=sphinx-build2 html
+  cd "$srcdir"/urllib3-$pkgver/docs
+  make SPHINXBUILD=sphinx-build2 html
 }
 
 check() {
-#  cd "$srcdir"/urllib3-$pkgver
-#  nosetests3 || warning "Tests failed"
+  cd "$srcdir"/urllib3-$pkgver
+  python setup.py pytest
 
   cd "$srcdir"/urllib3-$pkgver-py2
-  nosetests2 || warning "Tests failed"
+  python2 setup.py pytest
 }
 
 package_python-urllib3() {
diff --git a/abs/core/python_modules/python-urllib3/__changelog b/abs/core/python_modules/python-urllib3/__changelog
deleted file mode 100644
index 49a28c7..0000000
--- a/abs/core/python_modules/python-urllib3/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-PKGBUILD: don't build py 3 stuff or sphinx
diff --git a/abs/core/python_modules/python-urllib3/tornado-4.3.patch b/abs/core/python_modules/python-urllib3/tornado-4.3.patch
new file mode 100644
index 0000000..7f4a669
--- /dev/null
+++ b/abs/core/python_modules/python-urllib3/tornado-4.3.patch
@@ -0,0 +1,23 @@
+From 39eebb652db570cf51994f404da3dd91c8a9f4cc Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Fri, 21 Jul 2017 23:25:35 +0800
+Subject: [PATCH] Fix compatibility with tornado 4.3+
+
+`HTTPHeaders` is not JSON serializable, so make it a dict first.
+---
+ dummyserver/handlers.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dummyserver/handlers.py b/dummyserver/handlers.py
+index a943b836b..b91fe7215 100644
+--- a/dummyserver/handlers.py
++++ b/dummyserver/handlers.py
+@@ -225,7 +225,7 @@ def encodingrequest(self, request):
+         return Response(data, headers=headers)
+ 
+     def headers(self, request):
+-        return Response(json.dumps(request.headers))
++        return Response(json.dumps(dict(request.headers)))
+ 
+     def successful_retry(self, request):
+         """ Handler which will return an error and then success
-- 
cgit v0.12

