Date: Thursday, November 6, 2014 @ 07:51:02 Author: fyan Revision: 122035
upgpkg: shadowsocks 2.4.1-1 Added: shadowsocks/trunk/fix-typeerror.patch Modified: shadowsocks/trunk/PKGBUILD ---------------------+ PKGBUILD | 18 ++++++++++++------ fix-typeerror.patch | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 6 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-11-06 05:58:39 UTC (rev 122034) +++ PKGBUILD 2014-11-06 06:51:02 UTC (rev 122035) @@ -2,7 +2,7 @@ # Maintainer: Felix Yan <[email protected]> pkgname=shadowsocks -pkgver=2.4 +pkgver=2.4.1 pkgrel=1 pkgdesc="A lightweight tunnel proxy" license=("MIT") @@ -14,10 +14,16 @@ source=("http://pypi.python.org/packages/source/s/shadowsocks/shadowsocks-${pkgver}.tar.gz" "$pkgname-LICENSE::https://raw.github.com/clowwindy/shadowsocks/master/LICENSE" "[email protected]" - "[email protected]") + "[email protected]" + fix-typeerror.patch) arch=('any') install=${pkgname}.install +prepare() { + cd shadowsocks-$pkgver + patch -p1 -i ../fix-typeerror.patch +} + check() { cd shadowsocks-$pkgver @@ -36,8 +42,7 @@ package() { cd "$srcdir/shadowsocks-$pkgver" - # 2.4: Setting LANG as a workaround for https://github.com/clowwindy/shadowsocks/pull/203 - LANG=en_US.utf8 python setup.py install -O1 --root="$pkgdir" + python setup.py install -O1 --root="$pkgdir" install -d "$pkgdir/etc/shadowsocks" install -Dm644 "$srcdir/[email protected]" "$pkgdir/usr/lib/systemd/system/[email protected]" @@ -45,7 +50,8 @@ install -Dm644 "$srcdir/$pkgname-LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" } -sha512sums=('b50c27202170bbacb87c7578588756a6c9d612981ff31a494d2e6e3cb56ea229e378a95c99915c2d88d987876ba752807e53c8da5cc84b937bef2a453f0dadb0' +sha512sums=('d5ef9933555b93b68f9b9436282c6b51a784f3583bbb0dc0285a1e5e7d14ca3173b1f54148c2cac3deb4fe8447ad02ba043aabf646a46dc68497ad36282637e9' '88abf42d51d7b7baa2b9cef016bfd194373fd178980c2c6f1bbb3ce31d3267dfca71efb013c6596c57c0390fdb95d716ff4acca97bdf960e56e9edf16f770352' '96ecb174a476f64dec3ec086732d93a76d27e9a1cc56b1dc3fa87bf8e00d4b3c44076a01a0d525e42174cacc58fd5c16d5c8af5d4636dae13df549dec8204f7d' - 'f2f8240c18a4483bf3e03b3a5ac8822c3deae713224f732bf28f7fddfcc5d0b02aa91652665ff93f05731e162a9407109c18f43d732a3a9b19d9eacfc806a4df') + 'f2f8240c18a4483bf3e03b3a5ac8822c3deae713224f732bf28f7fddfcc5d0b02aa91652665ff93f05731e162a9407109c18f43d732a3a9b19d9eacfc806a4df' + '78c45e1ab17d62bdb2276e35511e6bbe6dd0b2da53e333e59a44d485729532abdf8a44f59ae42b12a5bba1f9f641657fac68ecfe3ecb2f6fcae7726311d6a90b') Added: fix-typeerror.patch =================================================================== --- fix-typeerror.patch (rev 0) +++ fix-typeerror.patch 2014-11-06 06:51:02 UTC (rev 122035) @@ -0,0 +1,38 @@ +From fb27cf52a9a7b72ef8d3e3693623de43a477ebaf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E5=88=98=E7=BC=99?= <[email protected]> +Date: Wed, 5 Nov 2014 11:04:40 +0800 +Subject: [PATCH] Fix str/byte related TypeError in Python 3.4 + +Traceback (most recent call last): +File "/usr/bin/sslocal", line 9, in <module> +load_entry_point('shadowsocks==2.4', 'console_scripts', 'sslocal')() +File "/usr/lib/python3.4/site-packages/shadowsocks/local.py", line 68, in main +loop.run() +File "/usr/lib/python3.4/site-packages/shadowsocks/eventloop.py", line 230, in run +handler(events) +File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 630, in _handle_events +handler.handle_event(sock, event) +File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 458, in handle_event +self._on_local_read() +File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 377, in _on_local_read +self._handle_stage_reply(data) +File "/usr/lib/python3.4/site-packages/shadowsocks/tcprelay.py", line 212, in _handle_stage_reply +s = remote_sock.sendto(data, MSG_FASTOPEN, self._chosen_server) +TypeError: 'str' does not support the buffer interface +--- + shadowsocks/tcprelay.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shadowsocks/tcprelay.py b/shadowsocks/tcprelay.py +index 4a30b42..6ccadbe 100644 +--- a/shadowsocks/tcprelay.py ++++ b/shadowsocks/tcprelay.py +@@ -207,7 +207,7 @@ def _handle_stage_reply(self, data): + self._create_remote_socket(self._chosen_server[0], + self._chosen_server[1]) + self._loop.add(remote_sock, eventloop.POLL_ERR) +- data = ''.join(self._data_to_write_to_local) ++ data = b''.join(self._data_to_write_to_local) + l = len(data) + s = remote_sock.sendto(data, MSG_FASTOPEN, self._chosen_server) + if s < l:
