[arch-commits] Commit in grpc/repos (4 files)

Felix Yan felixonmars at gemini.archlinux.org
Sat Jun 11 14:14:30 UTC 2022


    Date: Saturday, June 11, 2022 @ 14:14:30
  Author: felixonmars
Revision: 1233747

archrelease: copy trunk to community-staging-x86_64

Added:
  grpc/repos/community-staging-x86_64/
  grpc/repos/community-staging-x86_64/PKGBUILD
    (from rev 1233746, grpc/trunk/PKGBUILD)
  grpc/repos/community-staging-x86_64/python-grpcio-nullptr-fix.patch
    (from rev 1233746, grpc/trunk/python-grpcio-nullptr-fix.patch)
  grpc/repos/community-staging-x86_64/python-grpcio-use-system-abseil.patch
    (from rev 1233746, grpc/trunk/python-grpcio-use-system-abseil.patch)

---------------------------------------+
 PKGBUILD                              |  182 ++++++++++++++++++++++++++++++++
 python-grpcio-nullptr-fix.patch       |   45 +++++++
 python-grpcio-use-system-abseil.patch |   46 ++++++++
 3 files changed, 273 insertions(+)

Copied: grpc/repos/community-staging-x86_64/PKGBUILD (from rev 1233746, grpc/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-06-11 14:14:30 UTC (rev 1233747)
@@ -0,0 +1,182 @@
+# Maintainer: Massimiliano Torromeo <massimiliano.torromeo at gmail.com>
+# Contributor: Aleksey Filippov <sarum9in at gmail.com>
+# Contributor: Victor Aurélio Santos <victoraur.santos at gmail.com>
+
+pkgbase='grpc'
+pkgname=('grpc' 'python-grpcio' 'php-grpc' 'php7-grpc' 'grpc-cli')
+pkgver=1.46.3
+_gtestver=0e402173c97aea7a00749e825b194bfede4f2e45
+pkgrel=2
+pkgdesc="High performance, open source, general RPC framework that puts mobile and HTTP/2 first."
+arch=('x86_64')
+url='https://grpc.io'
+license=('BSD')
+makedepends=('re2' 're2c' 'protobuf' 'php' 'php7' 'c-ares' 'openssl' 'chrpath' 'cython'
+             'cmake' 'benchmark' 'python-setuptools' 'abseil-cpp' 'ninja')
+options=('debug')
+checkdepends=('python-six')
+source=("https://github.com/grpc/grpc/archive/v$pkgver/$pkgbase-$pkgver.tar.gz"
+        "https://github.com/google/googletest/archive/$_gtestver/googletest-$_gtestver.tar.gz"
+        "python-grpcio-use-system-abseil.patch")
+sha256sums=('d6cbf22cb5007af71b61c6be316a79397469c58c82a942552a62e708bce60964'
+            'c8de6c60e12ad014a28225c5247ee735861d85cf906df617f6a29954ca05f547'
+            '3cfb289266f9d2697b917e4400f18a6592f95a99e658e401c1332870b219358b')
+
+prepare() {
+  cd "$srcdir/$pkgbase-$pkgver"
+  patch -Np1 -i ../python-grpcio-use-system-abseil.patch
+
+  ln -sf "$srcdir/googletest-$_gtestver/"{googlemock,googletest} \
+    third_party/googletest
+
+  cp -a src/php{,7}
+
+  cmake -Bbuild \
+    -DCMAKE_BUILD_TYPE=None \
+    -DCMAKE_CXX_FLAGS="${CXXFLAGS} -DNDEBUG" \
+    -DgRPC_INSTALL=ON \
+    -DBUILD_SHARED_LIBS=ON \
+    -DCMAKE_CXX_STANDARD=17 \
+    -DCMAKE_SKIP_INSTALL_RPATH=ON \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DgRPC_BUILD_TESTS=ON \
+    -DgRPC_BUILD_CODEGEN=ON \
+    -DgRPC_BUILD_CSHARP_EXT=ON \
+    -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \
+    -DgRPC_ZLIB_PROVIDER='package' \
+    -DgRPC_CARES_PROVIDER='package' \
+    -DgRPC_RE2_PROVIDER='package' \
+    -DgRPC_SSL_PROVIDER='package' \
+    -DgRPC_PROTOBUF_PROVIDER='package' \
+    -DgRPC_PROTOBUF_PACKAGE_TYPE='MODULE' \
+    -DgRPC_BENCHMARK_PROVIDER:STRING='package' \
+    -DgRPC_ABSL_PROVIDER:STRING='package' \
+    -DgRPC_USE_PROTO_LITE=OFF \
+    -DgRPC_BUILD_GRPC_CPP_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_NODE_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_PHP_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON \
+    -DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON \
+    -GNinja
+}
+
+build() {
+  cd "$srcdir/$pkgbase-$pkgver/build"
+
+  cmake --build .
+  export LDFLAGS="$LDFLAGS -L$PWD"
+
+  # PHP
+  cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase"
+  phpize
+  ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver"
+  make
+
+  # PHP7
+  cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase"
+  phpize7
+  ./configure --enable-grpc="$srcdir/$pkgbase-$pkgver"
+  make
+
+  # Python
+  cd "$srcdir/$pkgbase-$pkgver"
+  GRPC_PYTHON_CFLAGS="-fvisibility=hidden -fno-wrapv -fno-exceptions $(pkg-config --cflags protobuf) -std=c++17" \
+  GRPC_PYTHON_LDFLAGS="$(pkg-config --libs protobuf)" \
+  GRPC_PYTHON_BUILD_WITH_CYTHON=1 \
+  GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
+  GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
+  GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
+  GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
+  GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
+  GRPC_BUILD_WITH_BORING_SSL_ASM=0 \
+  python setup.py build
+
+  # grpcio-tools
+  cd tools/distrib/python
+  python make_grpcio_tools.py
+}
+
+check() {
+  cd "$srcdir/$pkgbase-$pkgver"
+  local _pyver=$(python -c "import sys; print('{0}.{1}'.format(*sys.version_info[:2]))")
+  PYTHONPATH="python_build/lib.linux-$CARCH-$_pyver" python -c 'import grpc'
+}
+
+package_grpc() {
+  depends=('c-ares' 'protobuf' 'openssl' 're2' 'abseil-cpp')
+  provides=(
+    'libupb.so'
+    'libgrpcpp_channelz.so'
+    'libgrpc_unsecure.so'
+    'libgrpc_plugin_support.so'
+    'libgrpc.so'
+    'libgrpc++_unsecure.so'
+    'libgrpc++_reflection.so'
+    'libgrpc++_error_details.so'
+    'libgrpc++_alts.so'
+    'libgrpc++.so'
+    'libgpr.so'
+    'libaddress_sorting.so'
+  )
+
+  cd "$srcdir/$pkgbase-$pkgver/build"
+  DESTDIR="$pkgdir" cmake --install .
+  install -Dm644 ../LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_python-grpcio() {
+  pkgdesc='Python language bindings for grpc, remote procedure call (RPC) framework'
+  depends=('c-ares' 'python' 'python-six' 're2' 'abseil-cpp')
+
+  cd "$srcdir/$pkgbase-$pkgver"
+  python setup.py install -O1 --skip-build --root="$pkgdir"
+  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+package_php-grpc() {
+  pkgdesc='gRPC module for PHP'
+  depends=('grpc' 'php')
+  backup=('etc/php/conf.d/grpc.ini')
+
+  # Install PHP extension.
+  cd "$srcdir/$pkgbase-$pkgver/src/php/ext/$pkgbase"
+  make install "INSTALL_ROOT=$pkgdir"
+  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+  # Remove RPATH
+  chrpath -d "$pkgdir/usr/lib/php/modules/grpc.so"
+
+  echo ';extension=grpc.so' >grpc.ini
+  install -Dm644 grpc.ini "$pkgdir/etc/php/conf.d/grpc.ini"
+}
+
+package_php7-grpc() {
+  pkgdesc='gRPC module for PHP'
+  depends=('grpc' 'php7')
+  backup=('etc/php7/conf.d/grpc.ini')
+
+  # Install PHP extension.
+  cd "$srcdir/$pkgbase-$pkgver/src/php7/ext/$pkgbase"
+  make install "INSTALL_ROOT=$pkgdir"
+  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+  # Remove RPATH
+  chrpath -d "$pkgdir/usr/lib/php7/modules/grpc.so"
+
+  echo ';extension=grpc.so' >grpc.ini
+  install -Dm644 grpc.ini "$pkgdir/etc/php7/conf.d/grpc.ini"
+}
+
+package_grpc-cli() {
+  pkgdesc='gRPC protocol buffers cli'
+  depends=('grpc')
+
+  cd "$srcdir/$pkgbase-$pkgver"
+  install -dm0755 "$pkgdir/usr/lib"
+  cp -a build/libgrpc++_test_config.so* "$pkgdir/usr/lib/"
+
+  install -Dm0755 build/grpc_cli "$pkgdir/usr/bin/grpc_cli"
+  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}

Copied: grpc/repos/community-staging-x86_64/python-grpcio-nullptr-fix.patch (from rev 1233746, grpc/trunk/python-grpcio-nullptr-fix.patch)
===================================================================
--- community-staging-x86_64/python-grpcio-nullptr-fix.patch	                        (rev 0)
+++ community-staging-x86_64/python-grpcio-nullptr-fix.patch	2022-06-11 14:14:30 UTC (rev 1233747)
@@ -0,0 +1,45 @@
+From 05af494b282542304c9fa60d19e8aa1b9f474621 Mon Sep 17 00:00:00 2001
+From: Esun Kim <veblush at google.com>
+Date: Thu, 7 Apr 2022 21:16:30 -0700
+Subject: [PATCH] Fix bugprone-stringview-nullptr (#29346)
+
+---
+ src/core/lib/http/httpcli_security_connector.cc               | 2 +-
+ .../security_connector/local/local_security_connector.cc      | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/core/lib/http/httpcli_security_connector.cc b/src/core/lib/http/httpcli_security_connector.cc
+index 9f2c5249bb61..99273173e715 100644
+--- a/src/core/lib/http/httpcli_security_connector.cc
++++ b/src/core/lib/http/httpcli_security_connector.cc
+@@ -48,7 +48,7 @@ class grpc_httpcli_ssl_channel_security_connector final
+  public:
+   explicit grpc_httpcli_ssl_channel_security_connector(char* secure_peer_name)
+       : grpc_channel_security_connector(
+-            /*url_scheme=*/nullptr,
++            /*url_scheme=*/{},
+             /*channel_creds=*/nullptr,
+             /*request_metadata_creds=*/nullptr),
+         secure_peer_name_(secure_peer_name) {}
+diff --git a/src/core/lib/security/security_connector/local/local_security_connector.cc b/src/core/lib/security/security_connector/local/local_security_connector.cc
+index 952189868fe2..f97299d03c0f 100644
+--- a/src/core/lib/security/security_connector/local/local_security_connector.cc
++++ b/src/core/lib/security/security_connector/local/local_security_connector.cc
+@@ -152,7 +152,7 @@ class grpc_local_channel_security_connector final
+       grpc_core::RefCountedPtr<grpc_channel_credentials> channel_creds,
+       grpc_core::RefCountedPtr<grpc_call_credentials> request_metadata_creds,
+       const char* target_name)
+-      : grpc_channel_security_connector(nullptr, std::move(channel_creds),
++      : grpc_channel_security_connector({}, std::move(channel_creds),
+                                         std::move(request_metadata_creds)),
+         target_name_(gpr_strdup(target_name)) {}
+ 
+@@ -210,7 +210,7 @@ class grpc_local_server_security_connector final
+  public:
+   explicit grpc_local_server_security_connector(
+       grpc_core::RefCountedPtr<grpc_server_credentials> server_creds)
+-      : grpc_server_security_connector(nullptr, std::move(server_creds)) {}
++      : grpc_server_security_connector({}, std::move(server_creds)) {}
+   ~grpc_local_server_security_connector() override = default;
+ 
+   void add_handshakers(

Copied: grpc/repos/community-staging-x86_64/python-grpcio-use-system-abseil.patch (from rev 1233746, grpc/trunk/python-grpcio-use-system-abseil.patch)
===================================================================
--- community-staging-x86_64/python-grpcio-use-system-abseil.patch	                        (rev 0)
+++ community-staging-x86_64/python-grpcio-use-system-abseil.patch	2022-06-11 14:14:30 UTC (rev 1233747)
@@ -0,0 +1,46 @@
+diff --git a/setup.py b/setup.py
+index 4d34c43..5826663 100644
+--- a/setup.py
++++ b/setup.py
+@@ -29,6 +29,7 @@ from distutils import extension as _extension
+ from distutils import util
+ import os
+ import os.path
++import pathlib
+ import platform
+ import re
+ import shlex
+@@ -155,6 +156,11 @@ BUILD_WITH_SYSTEM_CARES = _env_bool_value('GRPC_PYTHON_BUILD_SYSTEM_CARES',
+ # runtime, the shared library must be installed
+ BUILD_WITH_SYSTEM_RE2 = _env_bool_value('GRPC_PYTHON_BUILD_SYSTEM_RE2', 'False')
+ 
++# Export this variable to use the system installation of abseil. You need to
++# have the header files installed (in /usr/include/absl) and during
++# runtime, the shared library must be installed
++BUILD_WITH_SYSTEM_ABSL = os.environ.get('GRPC_PYTHON_BUILD_SYSTEM_ABSL', False)
++
+ # Export this variable to force building the python extension with a statically linked libstdc++.
+ # At least on linux, this is normally not needed as we can build manylinux-compatible wheels on linux just fine
+ # without statically linking libstdc++ (which leads to a slight increase in the wheel size).
+@@ -297,6 +303,10 @@ if BUILD_WITH_SYSTEM_RE2:
+     CORE_C_FILES = filter(lambda x: 'third_party/re2' not in x, CORE_C_FILES)
+     RE2_INCLUDE = (os.path.join('/usr', 'include', 're2'),)
+ 
++if BUILD_WITH_SYSTEM_ABSL:
++    CORE_C_FILES = filter(lambda x: 'third_party/abseil-cpp' not in x, CORE_C_FILES)
++    ABSL_INCLUDE = (os.path.join('/usr', 'include'),)
++
+ EXTENSION_INCLUDE_DIRECTORIES = ((PYTHON_STEM,) + CORE_INCLUDE + ABSL_INCLUDE +
+                                  ADDRESS_SORTING_INCLUDE + CARES_INCLUDE +
+                                  RE2_INCLUDE + SSL_INCLUDE + UPB_INCLUDE +
+@@ -326,6 +336,10 @@ if BUILD_WITH_SYSTEM_CARES:
+     EXTENSION_LIBRARIES += ('cares',)
+ if BUILD_WITH_SYSTEM_RE2:
+     EXTENSION_LIBRARIES += ('re2',)
++if BUILD_WITH_SYSTEM_ABSL:
++    EXTENSION_LIBRARIES += tuple(
++        lib.stem[3:] for lib in pathlib.Path('/usr').glob('lib*/libabsl_*.so')
++    )
+ 
+ DEFINE_MACROS = (('_WIN32_WINNT', 0x600),)
+ asm_files = []



More information about the arch-commits mailing list