06f39c9
%define _lto_cflags %{nil}
06f39c9
bf7e9a8
Name: grpc
3b94ecf
Version: 1.26.0
06f39c9
Release: 8%{?dist}
bf7e9a8
Summary: Modern, open source, high-performance remote procedure call (RPC) framework
bf7e9a8
License: ASL 2.0
bf7e9a8
URL: https://www.grpc.io
bf7e9a8
Source0: https://github.com/grpc/grpc/archive/v%{version}/%{name}-%{version}.tar.gz
bf7e9a8
bf7e9a8
BuildRequires: gcc-c++
bf7e9a8
BuildRequires: pkgconfig
bf7e9a8
BuildRequires: protobuf-devel
bf7e9a8
BuildRequires: protobuf-compiler
bf7e9a8
BuildRequires: openssl-devel
bf7e9a8
BuildRequires: c-ares-devel
bf7e9a8
BuildRequires: gflags-devel
bf7e9a8
BuildRequires: gtest-devel
637ef64
BuildRequires: zlib-devel
637ef64
BuildRequires: gperftools-devel
637ef64
637ef64
BuildRequires: python3-devel
637ef64
BuildRequires: python3-setuptools
637ef64
BuildRequires: python3-Cython
bf7e9a8
1f1b01a
Patch0: grpc-0001-enforce-system-crypto-policies.patch
1f1b01a
Patch2: grpc-0003-use-shell-loop-instead-makefile-function.patch
7c4d8c0
Patch3: 99f8a10aec994a8957fbb6787768b444ef34d6a2.patch
7c4d8c0
Patch4: 72351f63fd650cc7acfcd2d0307e8e8e8f777283.patch
b3bb2c6
bf7e9a8
%description
bf7e9a8
gRPC is a modern open source high performance RPC framework that can run in any
bf7e9a8
environment. It can efficiently connect services in and across data centers
bf7e9a8
with pluggable support for load balancing, tracing, health checking and
bf7e9a8
authentication. It is also applicable in last mile of distributed computing to
bf7e9a8
connect devices, mobile applications and browsers to backend services.
bf7e9a8
bf7e9a8
The main usage scenarios:
bf7e9a8
bf7e9a8
* Efficiently connecting polyglot services in microservices style architecture
bf7e9a8
* Connecting mobile devices, browser clients to backend services
bf7e9a8
* Generating efficient client libraries
bf7e9a8
bf7e9a8
Core Features that make it awesome:
bf7e9a8
bf7e9a8
* Idiomatic client libraries in 10 languages
bf7e9a8
* Highly efficient on wire and with a simple service definition framework
bf7e9a8
* Bi-directional streaming with http/2 based transport
bf7e9a8
* Pluggable auth, tracing, load balancing and health checking
bf7e9a8
bf7e9a8
bf7e9a8
%package plugins
bf7e9a8
Summary: gRPC protocol buffers compiler plugins
bf7e9a8
Requires: %{name}%{?_isa} = %{version}-%{release}
bf7e9a8
Requires: protobuf-compiler
bf7e9a8
bf7e9a8
%description plugins
bf7e9a8
Plugins to the protocol buffers compiler to generate gRPC sources.
bf7e9a8
bf7e9a8
%package cli
bf7e9a8
Summary: gRPC protocol buffers cli
bf7e9a8
Requires: %{name}%{?_isa} = %{version}-%{release}
bf7e9a8
bf7e9a8
%description cli
bf7e9a8
Plugins to the protocol buffers compiler to generate gRPC sources.
bf7e9a8
bf7e9a8
%package devel
bf7e9a8
Summary: gRPC library development files
bf7e9a8
Requires: %{name}%{?_isa} = %{version}-%{release}
bf7e9a8
bf7e9a8
%description devel
bf7e9a8
Development headers and files for gRPC libraries.
bf7e9a8
637ef64
%package -n python3-grpcio
637ef64
Summary: Python language bindings for grpc, remote procedure call (RPC) framework
637ef64
Requires: %{name}%{?_isa} = %{version}-%{release}
637ef64
637ef64
%description -n python3-grpcio
637ef64
Python3 bindings for gRPC library.
637ef64
bf7e9a8
%prep
f20099b
%autosetup -N
f20099b
%patch0 -p1
3b94ecf
#%patch1 -p1
f20099b
%patch2 -p1
7c4d8c0
%patch3 -p1
7c4d8c0
%patch4 -p1
bf7e9a8
sed -i 's:^prefix ?= .*:prefix ?= %{_prefix}:' Makefile
bf7e9a8
sed -i 's:$(prefix)/lib:$(prefix)/%{_lib}:' Makefile
bf7e9a8
sed -i 's:^GTEST_LIB =.*::' Makefile
bf7e9a8
bf7e9a8
%build
bf7e9a8
%make_build shared plugins
bf7e9a8
637ef64
# build python module
637ef64
export GRPC_PYTHON_BUILD_WITH_CYTHON=True
637ef64
export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=True
637ef64
export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=True
637ef64
export GRPC_PYTHON_BUILD_SYSTEM_CARES=True
637ef64
export CFLAGS="%optflags"
637ef64
%py3_build
637ef64
bf7e9a8
%install
bf7e9a8
make install prefix="%{buildroot}%{_prefix}"
bf7e9a8
make install-grpc-cli prefix="%{buildroot}%{_prefix}"
bf7e9a8
find %{buildroot} -type f -name '*.a' -exec rm -f {} \;
637ef64
%py3_install
bf7e9a8
bf7e9a8
%ldconfig_scriptlets
bf7e9a8
bf7e9a8
%files
bf7e9a8
%doc README.md
bf7e9a8
%license LICENSE
3b94ecf
%{_libdir}/libaddress_sorting.so.9*
3b94ecf
%{_libdir}/libgpr.so.9*
3b94ecf
%{_libdir}/libgrpc++.so.1*
3b94ecf
%{_libdir}/libgrpc++_error_details.so.1*
3b94ecf
%{_libdir}/libgrpc++_reflection.so.1*
3b94ecf
%{_libdir}/libgrpc++_unsecure.so.1*
3b94ecf
%{_libdir}/libgrpc.so.9*
3b94ecf
%{_libdir}/libgrpc_cronet.so.9*
3b94ecf
%{_libdir}/libgrpc_unsecure.so.9*
3b94ecf
%{_libdir}/libgrpcpp_channelz.so.1*
3b94ecf
%{_libdir}/libup*.so.9*
bf7e9a8
%{_datadir}/grpc
bf7e9a8
bf7e9a8
%files cli
bf7e9a8
%{_bindir}/grpc_cli
bf7e9a8
bf7e9a8
%files plugins
bf7e9a8
%doc README.md
bf7e9a8
%license LICENSE
bf7e9a8
%{_bindir}/grpc_*_plugin
bf7e9a8
bf7e9a8
%files devel
3b94ecf
%{_libdir}/libaddress_sorting.so
3b94ecf
%{_libdir}/libgpr.so
3b94ecf
%{_libdir}/libgrpc++.so
3b94ecf
%{_libdir}/libgrpc++_error_details.so
3b94ecf
%{_libdir}/libgrpc++_reflection.so
3b94ecf
%{_libdir}/libgrpc++_unsecure.so
3b94ecf
%{_libdir}/libgrpc.so
3b94ecf
%{_libdir}/libgrpc_cronet.so
3b94ecf
%{_libdir}/libgrpc_unsecure.so
3b94ecf
%{_libdir}/libgrpcpp_channelz.so
3b94ecf
%{_libdir}/libupb.so
bf7e9a8
%{_libdir}/pkgconfig/*
bf7e9a8
%{_includedir}/grpc
bf7e9a8
%{_includedir}/grpc++
bf7e9a8
%{_includedir}/grpcpp
bf7e9a8
637ef64
%files -n python3-grpcio
637ef64
%license LICENSE
637ef64
%{python3_sitearch}/grpc
aa731c9
%{python3_sitearch}/grpcio-%{version}-py%{python3_version}.egg-info
637ef64
bf7e9a8
%changelog
06f39c9
* Fri Nov 13 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 1.26.0-8
06f39c9
- build: disable LTO due to rh#1893533
06f39c9
9310245
* Thu Sep 24 2020 Adrian Reber <adrian@lisas.de> - 1.26.0-7
9310245
- Rebuilt for protobuf 3.13
9310245
7c4d8c0
* Mon Aug 03 2020 Gwyn Ciesla <gwync@protonmail.com> - 1.26.0-6
7c4d8c0
- Patches for https://github.com/grpc/grpc/pull/21669
7c4d8c0
fd56af7
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.0-5
fd56af7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
fd56af7
ef05f06
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 1.26.0-4
ef05f06
- Rebuilt for protobuf 3.12
ef05f06
ae84ab8
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.26.0-3
ae84ab8
- Rebuilt for Python 3.9
ae84ab8
324b1af
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.0-2
324b1af
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
324b1af
3b94ecf
* Wed Jan 15 2020 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.26.0-1
3b94ecf
- Update to 1.26.0
3b94ecf
f302d3b
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 1.20.1-5
f302d3b
- Rebuild for protobuf 3.11
f302d3b
4d76576
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.20.1-4
4d76576
- Rebuilt for Python 3.8.0rc1 (#1748018)
4d76576
751c424
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.20.1-3
751c424
- Rebuilt for Python 3.8
751c424
081b763
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.1-2
081b763
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
081b763
1f1b01a
* Fri May 17 2019 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.20.1-1
1f1b01a
- Update to 1.20.1
1f1b01a
eabd20e
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.0-2
eabd20e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
eabd20e
4d8a3c0
* Wed Jan 16 2019 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.18.0-1
4d8a3c0
- Update to 1.18.0
4d8a3c0
c9c00b2
* Mon Dec 17 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.17.1-3
c9c00b2
- Properly store patch in SRPM
c9c00b2
fe04497
* Mon Dec 17 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.1-2
fe04497
- Build without ruby plugin for Fedora < 30 (Thanks to Mathieu Bridon)
fe04497
637ef64
* Fri Dec 14 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.1-1
637ef64
- Update to 1.17.1 and package python bindings
637ef64
bf7e9a8
* Fri Dec 07 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.0-1
bf7e9a8
- Initial revision