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