From: DongHun Kwak Date: Tue, 2 Feb 2021 05:54:19 +0000 (+0900) Subject: Bump to grpc 1.35.0 X-Git-Tag: submit/tizen/20210202.060521^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65535ab6bacf59fc709f9203f103c002f6143412;p=platform%2Fupstream%2Fgrpc.git Bump to grpc 1.35.0 Change-Id: I6638eaf1bfa6efe0ec1d76524678424672084fbe --- diff --git a/packaging/grpc.manifest b/packaging/grpc.manifest new file mode 100644 index 0000000..017d22d --- /dev/null +++ b/packaging/grpc.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/grpc.spec b/packaging/grpc.spec new file mode 100644 index 0000000..ea56fbc --- /dev/null +++ b/packaging/grpc.spec @@ -0,0 +1,124 @@ +# +# spec file for package grpc +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define lname libgrpc +%define src_install_dir /usr/src/%{name} +%{?!python_module:%define python_module() python-%{**} python3-%{**}} +Name: grpc +Version: 1.35.0 +Release: 0 +Summary: HTTP/2-based Remote Procedure Call implementation +License: Apache-2.0 +Group: Development/Tools/Building +Url: http://grpc.io/ +Source: https://github.com/grpc/grpc/archive/v%{version}.tar.gz +Source1001: grpc.manifest +Source10: support_lib64_directory.patch + +BuildRequires: python-cython +BuildRequires: python-devel +BuildRequires: python-setuptools +# BuildRequires: python-rpm-macros +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkg-config +BuildRequires: pkgconfig(libcares) +BuildRequires: pkgconfig(openssl1.1) >= 1.0.1 +BuildRequires: pkgconfig(protobuf) >= 3.5 +BuildRequires: pkgconfig(zlib) +BuildRequires: pkgconfig(re2) +BuildRequires: abseil-cpp-devel + +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +The reference implementation of the gRPC protocol, done on top of +HTTP/2 with support for synchronous and asynchronous calls. gRPC uses +Protocol Buffers as the Interface Definition Language by default. + +%package -n %lname +Summary: HTTP/2-based Remote Procedure Call implementation +Group: System/Libraries + +%description -n %lname +The reference implementation of the gRPC protocol, done on top of +HTTP/2 with support for synchronous and asynchronous calls. gRPC uses +Protocol Buffers as the Interface Definition Language by default. + +%package devel +Summary: Development files for grpc, a HTTP/2 Remote Procedure Call implementation +Group: Development/Tools/Building +Requires: %lname = %version + +%description devel +This subpackage contains libraries and header files for developing +applications that want to make use of the gRPC reference implementation. + +%prep +%setup -q +cp %{SOURCE1001} . +%{__patch} -p1 < %{SOURCE10} + +%build +CFLAGS+=" -Wno-error -Wno-unused-parameter" +CXXFLAGS+=" -Wno-error -Wno-unused-parameter" + + +mkdir -p cmake/build +cd cmake/build +cmake ../.. -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DINCLUDE_INSTALL_DIR=%{_includedir} \ + -DLIB_INSTALL_DIR=%{_libdir} \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL=ON \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package + + +make %{?_smp_mflags} + +%install +cd cmake/build +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" + +rm -rf %{buildroot}%{_libdir}/cmake +rm -rf %{buildroot}%{_datadir}/grpc/roots.pem + +%post -n %lname -p /sbin/ldconfig +%postun -n %lname -p /sbin/ldconfig + +%files -n %lname +%defattr(-,root,root) +%_libdir/libaddress_sorting.so.* +%_libdir/libupb.so.* +%_libdir/libgpr*.so.* +%_libdir/libgrpc*.so.* + +%files devel +%defattr(-,root,root) +%license LICENSE +%_bindir/* +%_includedir/* +%_libdir/pkgconfig/*.pc +%_libdir/*.so + +%changelog diff --git a/packaging/support_lib64_directory.patch b/packaging/support_lib64_directory.patch new file mode 100644 index 0000000..4a9e12a --- /dev/null +++ b/packaging/support_lib64_directory.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6bdae220..cea37780 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -38,9 +38,9 @@ set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/") + project(${PACKAGE_NAME} LANGUAGES C CXX) + + set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables") +-set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries") ++set(gRPC_INSTALL_LIBDIR "${LIB_INSTALL_DIR}" CACHE STRING "Installation directory for libraries") + set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers") +-set(gRPC_INSTALL_CMAKEDIR "lib/cmake/${PACKAGE_NAME}" CACHE STRING "Installation directory for cmake config files") ++set(gRPC_INSTALL_CMAKEDIR "${LIB_INSTALL_DIR}/cmake/${PACKAGE_NAME}" CACHE STRING "Installation directory for cmake config files") + set(gRPC_INSTALL_SHAREDIR "share/grpc" CACHE STRING "Installation directory for root certificates") + + # Options +@@ -16319,7 +16319,7 @@ function(generate_pkgconfig name description version requires + "${output_filepath}" + @ONLY) + install(FILES "${output_filepath}" +- DESTINATION "lib/pkgconfig/") ++ DESTINATION "${LIB_INSTALL_DIR}/pkgconfig/") + endfunction() + + # gpr .pc file +@@ -16337,7 +16337,7 @@ generate_pkgconfig( + "gRPC" + "high performance general RPC framework" + "${gRPC_CORE_VERSION}" +- "gpr openssl" ++ "gpr openssl1.1" + "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_city -labsl_statusor -labsl_bad_variant_access -labsl_status -labsl_cord -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_bad_optional_access -labsl_raw_logging_internal -labsl_log_severity" + "" + "grpc.pc")