[arch-commits] Commit in python-websocket-client/repos/community-any (3 files)
Thore Bödecker
foxxx0 at archlinux.org
Wed Feb 20 11:54:50 UTC 2019
Date: Wednesday, February 20, 2019 @ 11:54:49
Author: foxxx0
Revision: 434678
archrelease: copy trunk to community-any
Added:
python-websocket-client/repos/community-any/PKGBUILD
(from rev 434677, python-websocket-client/trunk/PKGBUILD)
python-websocket-client/repos/community-any/retry-connect-on-EINTR.patch
(from rev 434677, python-websocket-client/trunk/retry-connect-on-EINTR.patch)
Deleted:
python-websocket-client/repos/community-any/PKGBUILD
------------------------------+
PKGBUILD | 126 +++++++++++++++++++++--------------------
retry-connect-on-EINTR.patch | 68 ++++++++++++++++++++++
2 files changed, 135 insertions(+), 59 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2019-02-20 11:54:40 UTC (rev 434677)
+++ PKGBUILD 2019-02-20 11:54:49 UTC (rev 434678)
@@ -1,59 +0,0 @@
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Matmas <matmas at matmas.net>
-# Contributor: Thomas Gubler <thomasgubler at gmail.com>
-# Contributor: Daniel YC Lin <dlin.tw at gmail>
-# Contributor: Florian Bruhin <archlinux.org at the-compiler.org>
-
-pkgname=(python-websocket-client python2-websocket-client)
-pkgver=0.54.0
-pkgrel=1
-pkgdesc="WebSocket client library for Python"
-arch=(any)
-url="https://github.com/liris/websocket-client"
-license=('LGPL')
-makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six')
-source=(https://pypi.io/packages/source/w/websocket-client/websocket_client-$pkgver.tar.gz)
-sha512sums=('ba4dfb6b879ec88ca446f44a77b91bbace55faa1a276f493174f3dc5b96b4d400d43c886798666da98e331610f71b4629f894d97f4614acf8d64affe8370bfec')
-
-prepare() {
- # Not sure why the conditions are not working :/
- sed -i "s/'backports.ssl_match_hostname'//" websocket_client-$pkgver/setup.py
-
- cp -a websocket_client-$pkgver{,-py2}
-}
-
-build() {
- cd "$srcdir"/websocket_client-$pkgver
- python setup.py build
-
- cd "$srcdir"/websocket_client-$pkgver-py2
- python2 setup.py build
-}
-
-check() {
- cd "$srcdir"/websocket_client-$pkgver
- python setup.py test
-
- cd "$srcdir"/websocket_client-$pkgver-py2
- python2 setup.py test
-}
-
-package_python-websocket-client() {
- depends=('python-six')
-
- cd websocket_client-$pkgver
- python setup.py install --root="$pkgdir" --optimize=1
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
-
-package_python2-websocket-client() {
- depends=('python2-six')
-
- cd websocket_client-$pkgver-py2
- python2 setup.py install --root="$pkgdir" --optimize=1
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-
- mv "$pkgdir"/usr/bin/wsdump{,2}.py
-}
-
-# vim:set ts=2 sw=2 ft=sh et:
Copied: python-websocket-client/repos/community-any/PKGBUILD (from rev 434677, python-websocket-client/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2019-02-20 11:54:49 UTC (rev 434678)
@@ -0,0 +1,67 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Thore Bödecker <foxxx0 at archlinux.org>
+# Contributor: Matmas <matmas at matmas.net>
+# Contributor: Thomas Gubler <thomasgubler at gmail.com>
+# Contributor: Daniel YC Lin <dlin.tw at gmail>
+# Contributor: Florian Bruhin <archlinux.org at the-compiler.org>
+
+_pkgbase='websocket-client'
+__pkgbase="${_pkgbase//-/_}"
+pkgname=("python-${_pkgbase}" "python2-${_pkgbase}")
+pkgver=0.54.0
+pkgrel=2
+pkgdesc="WebSocket client library for Python"
+arch=(any)
+url="https://github.com/${_pkgbase}/${_pkgbase}"
+license=('LGPL')
+makedepends=('python-setuptools' 'python2-setuptools' 'python-six' 'python2-six')
+source=("https://pypi.io/packages/source/w/${_pkgbase}/${__pkgbase}-${pkgver}.tar.gz"
+ 'retry-connect-on-EINTR.patch')
+sha512sums=('ba4dfb6b879ec88ca446f44a77b91bbace55faa1a276f493174f3dc5b96b4d400d43c886798666da98e331610f71b4629f894d97f4614acf8d64affe8370bfec'
+ '51c1c84de6f6c7600aa4bbacb923908acd69b4ae2dc21e0861c9f3e14e339580b0b094991821c2b34277fb427d4cbbd2407360316b267a3e67354ca89725c50c')
+
+prepare() {
+ # Not sure why the conditions are not working :/
+ sed -i "s/'backports.ssl_match_hostname'//" "${srcdir}/${__pkgbase}-${pkgver}/setup.py"
+
+ cd "${srcdir}/${__pkgbase}-${pkgver}"
+ patch -p1 -N -l -i "${srcdir}/retry-connect-on-EINTR.patch"
+
+ cp -a "${srcdir}/${__pkgbase}-${pkgver}"{,-py2}
+}
+
+build() {
+ cd "${srcdir}/${__pkgbase}-${pkgver}"
+ python setup.py build
+
+ cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+ python2 setup.py build
+}
+
+check() {
+ cd "${srcdir}/${__pkgbase}-${pkgver}"
+ python setup.py test
+
+ cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+ python2 setup.py test
+}
+
+package_python-websocket-client() {
+ depends=('python-six')
+
+ cd "${srcdir}/${__pkgbase}-${pkgver}"
+ python setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+
+package_python2-websocket-client() {
+ depends=('python2-six')
+
+ cd "${srcdir}/${__pkgbase}-${pkgver}-py2"
+ python2 setup.py install --root="$pkgdir" --optimize=1
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ mv "$pkgdir"/usr/bin/wsdump{,2}.py
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
Copied: python-websocket-client/repos/community-any/retry-connect-on-EINTR.patch (from rev 434677, python-websocket-client/trunk/retry-connect-on-EINTR.patch)
===================================================================
--- retry-connect-on-EINTR.patch (rev 0)
+++ retry-connect-on-EINTR.patch 2019-02-20 11:54:49 UTC (rev 434678)
@@ -0,0 +1,68 @@
+From 9a146e32e153fa1e0111b216f32c4b0e35ec9c12 Mon Sep 17 00:00:00 2001
+From: Trygve Aaberge <trygveaa at gmail.com>
+Date: Tue, 19 Feb 2019 23:55:59 +0100
+Subject: [PATCH] Retry connect on "Interrupted system call"
+
+When connecting to a socket, EINTR ("Interrupted system call") may be
+raised if the application receives a signal at the same time. Prior to
+Python 3.5, applications has to handle this themselves by retrying the
+connection. For more details, see https://www.python.org/dev/peps/pep-0475/
+
+Fixes #527
+---
+ websocket/_http.py | 38 ++++++++++++++++++++++----------------
+ 1 file changed, 22 insertions(+), 16 deletions(-)
+
+diff --git a/websocket/_http.py b/websocket/_http.py
+index e7f1e2e..dd982db 100644
+--- a/websocket/_http.py
++++ b/websocket/_http.py
+@@ -166,26 +166,32 @@ def _open_socket(addrinfo_list, sockopt, timeout):
+ sock.setsockopt(*opts)
+
+ address = addrinfo[4]
+- try:
+- sock.connect(address)
+- err = None
+- except ProxyConnectionError as error:
+- err = WebSocketProxyException(str(error))
+- err.remote_ip = str(address[0])
+- continue
+- except socket.error as error:
+- error.remote_ip = str(address[0])
++ err = None
++ while not err:
+ try:
+- eConnRefused = (errno.ECONNREFUSED, errno.WSAECONNREFUSED)
+- except:
+- eConnRefused = (errno.ECONNREFUSED, )
+- if error.errno in eConnRefused:
+- err = error
++ sock.connect(address)
++ except ProxyConnectionError as error:
++ err = WebSocketProxyException(str(error))
++ err.remote_ip = str(address[0])
+ continue
++ except socket.error as error:
++ error.remote_ip = str(address[0])
++ try:
++ eConnRefused = (errno.ECONNREFUSED, errno.WSAECONNREFUSED)
++ except:
++ eConnRefused = (errno.ECONNREFUSED, )
++ if error.errno == errno.EINTR:
++ continue
++ elif error.errno in eConnRefused:
++ err = error
++ continue
++ else:
++ raise error
+ else:
+- raise error
++ break
+ else:
+- break
++ continue
++ break
+ else:
+ raise err
+
More information about the arch-commits
mailing list