Thu Mar 28 17:35:14 2019 UTC ()
py-grpcio: Update to 1.19.1

1.19.1
------
Python

 * Backport "Add the missing grpc_cfstream dependency" to v1.19.x.

1.19.0
------
Python

 * grpc_prefork(): check grpc_is_initialized before creating execctx.
 * [gRPC] Enable Python 3 for Bazel to Run Tests.
 * Escalate the failure of protoc execution.
 * Remove dependency of grpc.framework.foundation.callable_util.

1.18.0
------
Python

  * Servers are no longer guaranteed to automatically shutdown when garbage
    collected. Applications must explicitly invoke grpc.Server.stop() to
    shutdown the server and release its resources. This aligns server behavior
    with the grpc.Channel.close() semantics introduced in v1.12.0.
  * Add python API to retrieve library version. (#17580)
  * Add Watch method to health check service. (#17597)
  * Refactor server deallocation. (#17444)
  * Add grpcio-status extension package. (#17490)
  * Add gRPC Python Example: Metadata. (#17485)
  * New abort with grpc.Status API. (#17481)
  * Update urllib3 to avoid security vulnerability. (#17476)
  * Add License to Python tarball. (#17411)
  * Revert "Strip manylinux1 binary wheels". (#17412)
  * Surface exceptions from Cython to Python as much as possible. (#16971)
  * Add logging.basicConfig() for example servers. (#17322)
  * Channelz Python wrapper implementation. (#17266)
  * Fix Python blocking interceptors facing RpcError. (#17317)
  * Raise the exception while credential initialization. (#17281)

1.17.1
------
Python

  * Update urllib3 version number to avoid security vulnerability. (#17477)
  * Revert stripping manylinux1 binary wheels to fix bad checksum of .so file.
    (#17415)

1.17.0
------
Python

  * Update Python documentation. (#17194)
  * Migrate tests from Python 3.4 to Python 3.7. (#16995)
  * Add wait-for-ready option. (#16919)
  * The new gRPC Python documentation generator. (#17074)
  * Allow gpr compatibility mode to be disabled in the Python build. (#16916)
  * Fix logging issues introduced due to root logger being configured by gRPC.
    (#17091)
  * Add support for utf-8 error messages. (#16946)
  * Ensure libboringssl.a is always built for Python. (#17049)
  * Add python example to show the use of channel options. (#16924)
  * Add type checking for channel args. (#16864)
  * Strip manylinux1 binary wheels. (#16836)

1.16.1
------
This is 1.16.1 patch release for gRPC-Python.
Please see the notes for the previous releases here: https://github.com/grpc/
grpc/releases. Please consult https://grpc.io/ for all information regarding
this product.
This prerelease contains refinements, improvements, and bug fixes.

  * Python: Fixed the issue where calls to logging.basicConfig() in various
    modules added a handler to the root logger. This also fixes "No handlers
    could be found" message in some cases. (#17064)

1.16.0
------
Python

  * Fix SSL channel credential when an argument is None. (#16640)
  * Bazel: Fix python BUILD rules. (#16561)

1.15.1
------
Python

  * Added experimental support for client-side fork on Linux and Mac by setting
    the environment variable GRPC_ENABLE_FORK_SUPPORT=1. Applications may fork
    with active RPCs, as long as no user threads are currently invoking gRPC
    library methods. In-progress RPCs continue in the parent process, and the
    child process may use gRPC by creating new channels. (#16264)
  * Improve PyPy compatibility. (#16364)
  * Fix segmentation fault caused by channel.close() when used with
    connectivity-state subscriptions. (#16296)
  * Add server reflection guide for Python. See https://github.com/grpc/grpc/
    blob/master/doc/python/server_reflection.md.
  * Add Cython functionality to directly wrap grpc_arg. (#16192, #16197)

1.14.2
------
  * Python: Segmentation fault caused by channel.close() when used with
    connectivity-state subscriptions. (#16296)

1.14.1
------
If you are using version 1.14.0, please upgrade to this patch. A fix for issue
#15889 is reverted in this patch. The fix may cause memory corruption is some
corner cases. We advise not to use release 1.14.0.

1.14.0
------
Python

  * Explicitly check conformance of handlers added to a gRPC server to
    grpc.GenericRpcHandler type. (#15689)
  * Expose SERVICE_NAME field from reflection and health checking services. (#
    16153)
  * Explicitly close channels in examples via the Channel.close API. (#15725)
      + Please note that gRPC requires explicit closure of Channel objects via
        a with block or directly invoking the Channel.close API to ensure
        resources are appropriately released.
  * Official Python 3.7 binary wheels for Windows (x64), macOS, and Linux (x86
    and x64) are now available. (#15632)
  * Optimize blocking intercepted response-unary calls to use the blocking API
    and not rely on a future underneath. (#14639)


(leot)
diff -r1.2 -r1.3 pkgsrc/net/py-grpcio/Makefile
diff -r1.4 -r1.5 pkgsrc/net/py-grpcio/distinfo
diff -r1.2 -r1.3 pkgsrc/net/py-grpcio/patches/patch-setup.py
diff -r1.1 -r1.2 pkgsrc/net/py-grpcio/patches/patch-src_python_grpcio_commands.py

cvs diff -r1.2 -r1.3 pkgsrc/net/py-grpcio/Makefile (expand / switch to unified diff)

--- pkgsrc/net/py-grpcio/Makefile 2018/08/04 21:56:47 1.2
+++ pkgsrc/net/py-grpcio/Makefile 2019/03/28 17:35:14 1.3
@@ -1,27 +1,27 @@ @@ -1,27 +1,27 @@
1# $NetBSD: Makefile,v 1.2 2018/08/04 21:56:47 minskim Exp $ 1# $NetBSD: Makefile,v 1.3 2019/03/28 17:35:14 leot Exp $
2 2
3DISTNAME= grpcio-1.13.0 3DISTNAME= grpcio-1.19.0
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= net 5CATEGORIES= net
6MASTER_SITES= ${MASTER_SITE_PYPI:=g/grpcio/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=g/grpcio/}
7 7
8MAINTAINER= kethzer.dr@gmail.com 8MAINTAINER= kethzer.dr@gmail.com
9HOMEPAGE= https://grpc.io/ 9HOMEPAGE= https://grpc.io/
10COMMENT= HTTP/2-based RPC framework 10COMMENT= HTTP/2-based RPC framework
11LICENSE= apache-2.0 11LICENSE= apache-2.0
12 12
13DEPENDS+= ${PYPKGPREFIX}-protobuf>=3.5.0:../../devel/py-protobuf 13DEPENDS+= ${PYPKGPREFIX}-protobuf>=3.5.0:../../devel/py-protobuf
14DEPENDS+= ${PYPKGPREFIX}-six>=1.5.2:../../lang/py-six 14DEPENDS+= ${PYPKGPREFIX}-six>=1.5.2:../../lang/py-six
15 15
16.include "../../lang/python/pyversion.mk" 16.include "../../lang/python/pyversion.mk"
17.if "${PYPKGPREFIX}" == "py27" 17.if "${PYPKGPREFIX}" == "py27"
18DEPENDS+= ${PYPKGPREFIX}-enum34>=1.0.4:../../devel/py-enum34 18DEPENDS+= ${PYPKGPREFIX}-enum34>=1.0.4:../../devel/py-enum34
19DEPENDS+= ${PYPKGPREFIX}-futures>=2.2.0:../../devel/py-futures 19DEPENDS+= ${PYPKGPREFIX}-futures>=2.2.0:../../devel/py-futures
20.endif 20.endif
21 21
22USE_LANGUAGES+= c99 c++11 22USE_LANGUAGES+= c99 c++11
23USE_TOOLS+= gmake pkg-config 23USE_TOOLS+= gmake pkg-config
24 24
25.include "../../devel/zlib/buildlink3.mk" 25.include "../../devel/zlib/buildlink3.mk"
26.include "../../net/grpc/buildlink3.mk" 26.include "../../net/grpc/buildlink3.mk"
27.include "../../net/libcares/buildlink3.mk" 27.include "../../net/libcares/buildlink3.mk"

cvs diff -r1.4 -r1.5 pkgsrc/net/py-grpcio/distinfo (expand / switch to unified diff)

--- pkgsrc/net/py-grpcio/distinfo 2018/12/31 23:03:02 1.4
+++ pkgsrc/net/py-grpcio/distinfo 2019/03/28 17:35:14 1.5
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.4 2018/12/31 23:03:02 leot Exp $ 1$NetBSD: distinfo,v 1.5 2019/03/28 17:35:14 leot Exp $
2 2
3SHA1 (grpcio-1.13.0.tar.gz) = 4ea6933da54b1628c65e3907134c805fa9d2d640 3SHA1 (grpcio-1.19.0.tar.gz) = 983938931832781234193373783d41341b8a7714
4RMD160 (grpcio-1.13.0.tar.gz) = 829e7b0a0004738a90852e7f4c67d617a51df6b7 4RMD160 (grpcio-1.19.0.tar.gz) = d507dd96643d42f9bee3ddf327cb6c7f4e93fbb4
5SHA512 (grpcio-1.13.0.tar.gz) = 4263c027d123332967692df467f01cb3b84acb3721eab7ae421a8ad79850cf00d0abca306ad6ff16acc95f1599c9c219a6c137e934f07f91ef1a11ce66b04545 5SHA512 (grpcio-1.19.0.tar.gz) = 620459dd1a22cf60cb6bccb1b7dd64175f1efdfc098152cfa1889ad0a727b7a92b72f9de28b57e9a45cc8d2c22e2fc36307af8ab52ced454a91aedeaf7158273
6Size (grpcio-1.13.0.tar.gz) = 14320631 bytes 6Size (grpcio-1.19.0.tar.gz) = 14621509 bytes
7SHA1 (patch-setup.py) = 383ea9fc9067b84a6eb08edd99cb9e9062724744 7SHA1 (patch-setup.py) = 297fd7c363998e1e58bd4f24724b84626d419634
8SHA1 (patch-src_core_lib_iomgr_port.h) = 8f088cbf22110c03a684c24c9e17ef5fc64e925a 8SHA1 (patch-src_core_lib_iomgr_port.h) = 8f088cbf22110c03a684c24c9e17ef5fc64e925a
9SHA1 (patch-src_python_grpcio_commands.py) = e84c0ddb13d9d9a3d2c90fe93c9db72264176512 9SHA1 (patch-src_python_grpcio_commands.py) = 10c9342a0a1e2fa70e85ed107b51e9a011f76a2c

cvs diff -r1.2 -r1.3 pkgsrc/net/py-grpcio/patches/patch-setup.py (expand / switch to unified diff)

--- pkgsrc/net/py-grpcio/patches/patch-setup.py 2018/08/04 21:56:47 1.2
+++ pkgsrc/net/py-grpcio/patches/patch-setup.py 2019/03/28 17:35:14 1.3
@@ -1,21 +1,21 @@ @@ -1,21 +1,21 @@
1$NetBSD: patch-setup.py,v 1.2 2018/08/04 21:56:47 minskim Exp $ 1$NetBSD: patch-setup.py,v 1.3 2019/03/28 17:35:14 leot Exp $
2 2
3Use dependencies in pkgsrc. 3Use dependencies in pkgsrc.
4 4
5--- setup.py.orig 2018-06-28 00:44:17.000000000 +0000 5--- setup.py.orig 2019-02-26 17:31:26.000000000 +0000
6+++ setup.py 6+++ setup.py
7@@ -184,18 +184,19 @@ EXTENSION_INCLUDE_DIRECTORIES = ( 7@@ -207,18 +207,19 @@ EXTENSION_INCLUDE_DIRECTORIES = (
8 CARES_INCLUDE + ADDRESS_SORTING_INCLUDE) 8 NANOPB_INCLUDE + CARES_INCLUDE + ADDRESS_SORTING_INCLUDE)
9  9
10 EXTENSION_LIBRARIES = () 10 EXTENSION_LIBRARIES = ()
11-if "linux" in sys.platform: 11-if "linux" in sys.platform:
12- EXTENSION_LIBRARIES += ('rt',) 12- EXTENSION_LIBRARIES += ('rt',)
13-if not "win32" in sys.platform: 13-if not "win32" in sys.platform:
14- EXTENSION_LIBRARIES += ('m',) 14- EXTENSION_LIBRARIES += ('m',)
15-if "win32" in sys.platform: 15-if "win32" in sys.platform:
16- EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',) 16- EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
17-if BUILD_WITH_SYSTEM_OPENSSL: 17-if BUILD_WITH_SYSTEM_OPENSSL:
18- EXTENSION_LIBRARIES += ('ssl', 'crypto',) 18- EXTENSION_LIBRARIES += ('ssl', 'crypto',)
19-if BUILD_WITH_SYSTEM_ZLIB: 19-if BUILD_WITH_SYSTEM_ZLIB:
20- EXTENSION_LIBRARIES += ('z',) 20- EXTENSION_LIBRARIES += ('z',)
21-if BUILD_WITH_SYSTEM_CARES: 21-if BUILD_WITH_SYSTEM_CARES:
@@ -24,33 +24,33 @@ Use dependencies in pkgsrc. @@ -24,33 +24,33 @@ Use dependencies in pkgsrc.
24+# EXTENSION_LIBRARIES += ('rt',) 24+# EXTENSION_LIBRARIES += ('rt',)
25+#if not "win32" in sys.platform: 25+#if not "win32" in sys.platform:
26+# EXTENSION_LIBRARIES += ('m',) 26+# EXTENSION_LIBRARIES += ('m',)
27+#if "win32" in sys.platform: 27+#if "win32" in sys.platform:
28+# EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',) 28+# EXTENSION_LIBRARIES += ('advapi32', 'ws2_32',)
29+#if BUILD_WITH_SYSTEM_OPENSSL: 29+#if BUILD_WITH_SYSTEM_OPENSSL:
30+# EXTENSION_LIBRARIES += ('ssl', 'crypto',) 30+# EXTENSION_LIBRARIES += ('ssl', 'crypto',)
31+#if BUILD_WITH_SYSTEM_ZLIB: 31+#if BUILD_WITH_SYSTEM_ZLIB:
32+# EXTENSION_LIBRARIES += ('z',) 32+# EXTENSION_LIBRARIES += ('z',)
33+#if BUILD_WITH_SYSTEM_CARES: 33+#if BUILD_WITH_SYSTEM_CARES:
34+# EXTENSION_LIBRARIES += ('cares',) 34+# EXTENSION_LIBRARIES += ('cares',)
35+EXTENSION_LIBRARIES += ('grpc',) 35+EXTENSION_LIBRARIES += ('grpc',)
36  36
37 DEFINE_MACROS = ( 37 DEFINE_MACROS = (('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600))
38 ('OPENSSL_NO_ASM', 1), ('_WIN32_WINNT', 0x600), 38 if not DISABLE_LIBC_COMPATIBILITY:
39@@ -242,7 +243,7 @@ def cython_extensions_and_necessity(): 39@@ -265,7 +266,7 @@ def cython_extensions_and_necessity():
40 for name in CYTHON_EXTENSION_MODULE_NAMES] 40 for name in CYTHON_EXTENSION_MODULE_NAMES]
41 config = os.environ.get('CONFIG', 'opt') 41 config = os.environ.get('CONFIG', 'opt')
42 prefix = 'libs/' + config + '/' 42 prefix = 'libs/' + config + '/'
43- if "darwin" in sys.platform: 43- if "darwin" in sys.platform or USE_PREBUILT_GRPC_CORE:
44+ if False and "darwin" in sys.platform: 44+ if False and "darwin" in sys.platform or USE_PREBUILT_GRPC_CORE:
45 extra_objects = [prefix + 'libares.a', 45 extra_objects = [prefix + 'libares.a',
46 prefix + 'libboringssl.a', 46 prefix + 'libboringssl.a',
47 prefix + 'libgpr.a', 47 prefix + 'libgpr.a',
48@@ -254,7 +255,7 @@ def cython_extensions_and_necessity(): 48@@ -277,7 +278,7 @@ def cython_extensions_and_necessity():
49 extensions = [ 49 extensions = [
50 _extension.Extension( 50 _extension.Extension(
51 name=module_name, 51 name=module_name,
52- sources=[module_file] + list(CYTHON_HELPER_C_FILES) + core_c_files, 52- sources=[module_file] + list(CYTHON_HELPER_C_FILES) + core_c_files,
53+ sources=[module_file] + list(CYTHON_HELPER_C_FILES), 53+ sources=[module_file] + list(CYTHON_HELPER_C_FILES),
54 include_dirs=list(EXTENSION_INCLUDE_DIRECTORIES), 54 include_dirs=list(EXTENSION_INCLUDE_DIRECTORIES),
55 libraries=list(EXTENSION_LIBRARIES), 55 libraries=list(EXTENSION_LIBRARIES),
56 define_macros=list(DEFINE_MACROS), 56 define_macros=list(DEFINE_MACROS),

cvs diff -r1.1 -r1.2 pkgsrc/net/py-grpcio/patches/Attic/patch-src_python_grpcio_commands.py (expand / switch to unified diff)

--- pkgsrc/net/py-grpcio/patches/Attic/patch-src_python_grpcio_commands.py 2018/04/28 01:16:29 1.1
+++ pkgsrc/net/py-grpcio/patches/Attic/patch-src_python_grpcio_commands.py 2019/03/28 17:35:14 1.2
@@ -1,15 +1,15 @@ @@ -1,15 +1,15 @@
1$NetBSD: patch-src_python_grpcio_commands.py,v 1.1 2018/04/28 01:16:29 minskim Exp $ 1$NetBSD: patch-src_python_grpcio_commands.py,v 1.2 2019/03/28 17:35:14 leot Exp $
2 2
3Use dependencies in pkgsrc. 3Use dependencies in pkgsrc.
4 4
5--- src/python/grpcio/commands.py.orig 2018-04-05 20:19:07.000000000 +0000 5--- src/python/grpcio/commands.py.orig 2019-02-26 17:31:26.000000000 +0000
6+++ src/python/grpcio/commands.py 6+++ src/python/grpcio/commands.py
7@@ -253,7 +253,7 @@ class BuildExt(build_ext.build_ext): 7@@ -218,7 +218,7 @@ class BuildExt(build_ext.build_ext):
8 LINK_OPTIONS = {} 8 # all C or all C++ compilation, the mix of C and C++ will crash.
9  9 # *By default*, the macOS use clang and Linux use gcc, that's why
10 def build_extensions(self): 10 # the special condition here is checking platform.
11- if "darwin" in sys.platform: 11- if "darwin" in sys.platform:
12+ if False and "darwin" in sys.platform: 12+ if False and "darwin" in sys.platform:
13 config = os.environ.get('CONFIG', 'opt') 13 config = os.environ.get('CONFIG', 'opt')
14 target_path = os.path.abspath( 14 target_path = os.path.abspath(
15 os.path.join( 15 os.path.join(