852d21
%{?python_enable_dependency_generator}
852d21
Name: grpc
852d21
Version: 1.26.0
852d21
Release: 2%{?dist}
852d21
Summary: Modern, open source, high-performance remote procedure call (RPC) framework
852d21
License: ASL 2.0
852d21
URL: https://www.grpc.io
852d21
Source0: https://github.com/grpc/grpc/archive/v%{version}/%{name}-%{version}.tar.gz
852d21
852d21
BuildRequires: gcc-c++
852d21
BuildRequires: pkgconfig
852d21
BuildRequires: protobuf-devel
852d21
BuildRequires: protobuf-compiler
852d21
BuildRequires: openssl-devel
852d21
BuildRequires: c-ares-devel
852d21
BuildRequires: gflags-devel
852d21
BuildRequires: gtest-devel
852d21
BuildRequires: zlib-devel
852d21
BuildRequires: gperftools-devel
852d21
852d21
BuildRequires: python3-devel
852d21
BuildRequires: python3-setuptools
852d21
BuildRequires: python3-Cython
852d21
852d21
Patch0: grpc-0001-enforce-system-crypto-policies.patch
852d21
Patch2: grpc-0003-use-shell-loop-instead-makefile-function.patch
rdobuilder dca260
rdobuilder dca260
%description
rdobuilder dca260
gRPC is a modern open source high performance RPC framework that can run in any
rdobuilder dca260
environment. It can efficiently connect services in and across data centers
rdobuilder dca260
with pluggable support for load balancing, tracing, health checking and
rdobuilder dca260
authentication. It is also applicable in last mile of distributed computing to
rdobuilder dca260
connect devices, mobile applications and browsers to backend services.
rdobuilder dca260
rdobuilder dca260
The main usage scenarios:
rdobuilder dca260
852d21
* Efficiently connecting polyglot services in microservices style architecture
852d21
* Connecting mobile devices, browser clients to backend services
852d21
* Generating efficient client libraries
rdobuilder dca260
rdobuilder dca260
Core Features that make it awesome:
rdobuilder dca260
852d21
* Idiomatic client libraries in 10 languages
852d21
* Highly efficient on wire and with a simple service definition framework
852d21
* Bi-directional streaming with http/2 based transport
852d21
* Pluggable auth, tracing, load balancing and health checking
rdobuilder dca260
rdobuilder dca260
rdobuilder dca260
%package plugins
852d21
Summary: gRPC protocol buffers compiler plugins
852d21
Requires: %{name}%{?_isa} = %{version}-%{release}
852d21
Requires: protobuf-compiler
rdobuilder dca260
rdobuilder dca260
%description plugins
rdobuilder dca260
Plugins to the protocol buffers compiler to generate gRPC sources.
rdobuilder dca260
rdobuilder dca260
%package cli
852d21
Summary: gRPC protocol buffers cli
852d21
Requires: %{name}%{?_isa} = %{version}-%{release}
rdobuilder dca260
rdobuilder dca260
%description cli
852d21
Plugins to the protocol buffers compiler to generate gRPC sources.
rdobuilder dca260
rdobuilder dca260
%package devel
852d21
Summary: gRPC library development files
852d21
Requires: %{name}%{?_isa} = %{version}-%{release}
rdobuilder dca260
rdobuilder dca260
%description devel
852d21
Development headers and files for gRPC libraries.
rdobuilder dca260
rdobuilder dca260
%package -n python3-grpcio
852d21
Summary: Python language bindings for grpc, remote procedure call (RPC) framework
852d21
Requires: %{name}%{?_isa} = %{version}-%{release}
rdobuilder dca260
rdobuilder dca260
%description -n python3-grpcio
852d21
Python3 bindings for gRPC library.
rdobuilder dca260
rdobuilder dca260
%prep
852d21
%autosetup -N
852d21
%patch0 -p1
852d21
#%patch1 -p1
852d21
%patch2 -p1
852d21
#%patch3 -p1
852d21
sed -i 's:^prefix ?= .*:prefix ?= %{_prefix}:' Makefile
852d21
sed -i 's:$(prefix)/lib:$(prefix)/%{_lib}:' Makefile
852d21
sed -i 's:^GTEST_LIB =.*::' Makefile
rdobuilder dca260
rdobuilder dca260
%build
852d21
%make_build shared plugins
852d21
852d21
# build python module
852d21
export GRPC_PYTHON_BUILD_WITH_CYTHON=True
852d21
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True
852d21
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True
852d21
export GRPC_PYTHON_BUILD_SYSTEM_CARES=True
852d21
export CFLAGS="%optflags"
rdobuilder dca260
%py3_build
rdobuilder dca260
rdobuilder dca260
%install
852d21
make install prefix="%{buildroot}%{_prefix}"
852d21
make install-grpc-cli prefix="%{buildroot}%{_prefix}"
852d21
find %{buildroot} -type f -name '*.a' -exec rm -f {} \;
rdobuilder dca260
%py3_install
rdobuilder dca260
852d21
%ldconfig_scriptlets
rdobuilder dca260
rdobuilder dca260
%files
852d21
%doc README.md
852d21
%license LICENSE
852d21
%{_libdir}/libaddress_sorting.so.9*
852d21
%{_libdir}/libgpr.so.9*
852d21
%{_libdir}/libgrpc++.so.1*
852d21
%{_libdir}/libgrpc++_error_details.so.1*
852d21
%{_libdir}/libgrpc++_reflection.so.1*
852d21
%{_libdir}/libgrpc++_unsecure.so.1*
852d21
%{_libdir}/libgrpc.so.9*
852d21
%{_libdir}/libgrpc_cronet.so.9*
852d21
%{_libdir}/libgrpc_unsecure.so.9*
852d21
%{_libdir}/libgrpcpp_channelz.so.1*
852d21
%{_libdir}/libup*.so.9*
852d21
%{_datadir}/grpc
rdobuilder dca260
rdobuilder dca260
%files cli
rdobuilder dca260
%{_bindir}/grpc_cli
rdobuilder dca260
rdobuilder dca260
%files plugins
852d21
%doc README.md
852d21
%license LICENSE
rdobuilder dca260
%{_bindir}/grpc_*_plugin
rdobuilder dca260
rdobuilder dca260
%files devel
rdobuilder dca260
%{_libdir}/libaddress_sorting.so
rdobuilder dca260
%{_libdir}/libgpr.so
rdobuilder dca260
%{_libdir}/libgrpc++.so
rdobuilder dca260
%{_libdir}/libgrpc++_error_details.so
rdobuilder dca260
%{_libdir}/libgrpc++_reflection.so
rdobuilder dca260
%{_libdir}/libgrpc++_unsecure.so
852d21
%{_libdir}/libgrpc.so
852d21
%{_libdir}/libgrpc_cronet.so
852d21
%{_libdir}/libgrpc_unsecure.so
rdobuilder dca260
%{_libdir}/libgrpcpp_channelz.so
852d21
%{_libdir}/libupb.so
852d21
%{_libdir}/pkgconfig/*
852d21
%{_includedir}/grpc
852d21
%{_includedir}/grpc++
rdobuilder dca260
%{_includedir}/grpcpp
rdobuilder dca260
rdobuilder dca260
%files -n python3-grpcio
852d21
%license LICENSE
rdobuilder dca260
%{python3_sitearch}/grpc
852d21
%{python3_sitearch}/grpcio-%{version}-py?.?.egg-info
rdobuilder dca260
rdobuilder dca260
%changelog
852d21
* Thu Mar 3 2022 Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 1.26.0-2
852d21
- (re)build from lookaside, and w/ protobuf-3.19.0
rdobuilder dca260
rdobuilder dca260
* Wed Jan 15 2020 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.26.0-1
rdobuilder dca260
- Update to 1.26.0
rdobuilder dca260
rdobuilder dca260
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 1.20.1-5
rdobuilder dca260
- Rebuild for protobuf 3.11
rdobuilder dca260
rdobuilder dca260
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.20.1-4
rdobuilder dca260
- Rebuilt for Python 3.8.0rc1 (#1748018)
rdobuilder dca260
rdobuilder dca260
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.20.1-3
rdobuilder dca260
- Rebuilt for Python 3.8
rdobuilder dca260
rdobuilder dca260
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.1-2
rdobuilder dca260
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
rdobuilder dca260
rdobuilder dca260
* Fri May 17 2019 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.20.1-1
rdobuilder dca260
- Update to 1.20.1
rdobuilder dca260
rdobuilder dca260
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.0-2
rdobuilder dca260
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
rdobuilder dca260
rdobuilder dca260
* Wed Jan 16 2019 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.18.0-1
rdobuilder dca260
- Update to 1.18.0
rdobuilder dca260
rdobuilder dca260
* Mon Dec 17 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.17.1-3
rdobuilder dca260
- Properly store patch in SRPM
rdobuilder dca260
rdobuilder dca260
* Mon Dec 17 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.1-2
rdobuilder dca260
- Build without ruby plugin for Fedora < 30 (Thanks to Mathieu Bridon)
rdobuilder dca260
rdobuilder dca260
* Fri Dec 14 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.1-1
rdobuilder dca260
- Update to 1.17.1 and package python bindings
rdobuilder dca260
rdobuilder dca260
* Fri Dec 07 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.0-1
rdobuilder dca260
- Initial revision