grpc/grpc.spec

215 lines
6.4 KiB
RPMSpec
Raw Normal View History

2020-11-13 05:57:14 +00:00
%define _lto_cflags %{nil}
2018-12-07 08:01:19 +00:00
Name: grpc
2020-01-15 20:19:19 +00:00
Version: 1.26.0
2020-11-13 05:57:14 +00:00
Release: 8%{?dist}
2018-12-07 08:01:19 +00:00
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
2018-12-07 08:01:19 +00:00
2019-05-17 08:10:36 +00:00
Patch0: grpc-0001-enforce-system-crypto-policies.patch
Patch2: grpc-0003-use-shell-loop-instead-makefile-function.patch
Patch3: 99f8a10aec994a8957fbb6787768b444ef34d6a2.patch
Patch4: 72351f63fd650cc7acfcd2d0307e8e8e8f777283.patch
2018-12-07 08:01:19 +00:00
%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.
2018-12-07 08:01:19 +00:00
%prep
%autosetup -N
%patch0 -p1
2020-01-15 20:19:19 +00:00
#%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
2018-12-07 08:01:19 +00:00
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
2018-12-07 08:01:19 +00:00
%install
make install prefix="%{buildroot}%{_prefix}"
make install-grpc-cli prefix="%{buildroot}%{_prefix}"
find %{buildroot} -type f -name '*.a' -exec rm -f {} \;
%py3_install
2018-12-07 08:01:19 +00:00
%ldconfig_scriptlets
%files
%doc README.md
%license LICENSE
2020-01-15 20:19:19 +00:00
%{_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*
2018-12-07 08:01:19 +00:00
%{_datadir}/grpc
%files cli
%{_bindir}/grpc_cli
%files plugins
%doc README.md
%license LICENSE
%{_bindir}/grpc_*_plugin
%files devel
2020-01-15 20:19:19 +00:00
%{_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
2018-12-07 08:01:19 +00:00
%{_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
2018-12-07 08:01:19 +00:00
%changelog
2020-11-13 05:57:14 +00:00
* Fri Nov 13 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 1.26.0-8
- build: disable LTO due to rh#1893533
2020-09-24 06:58:20 +00:00
* 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
2020-06-21 19:07:50 +00:00
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 1.26.0-4
- Rebuilt for protobuf 3.12
2020-05-26 00:47:42 +00:00
* 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
2020-01-15 20:19:19 +00:00
* Wed Jan 15 2020 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.26.0-1
- Update to 1.26.0
2019-12-19 03:28:01 +00:00
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 1.20.1-5
- Rebuild for protobuf 3.11
2019-10-03 11:54:14 +00:00
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 1.20.1-4
- Rebuilt for Python 3.8.0rc1 (#1748018)
2019-08-19 08:15:31 +00:00
* 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
2019-05-17 08:10:36 +00:00
* 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
2019-01-16 18:11:28 +00:00
* 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
2018-12-17 11:17:20 +00:00
* 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
2018-12-07 08:01:19 +00:00
* Fri Dec 07 2018 Sergey Avseyev <sergey.avseyev@gmail.com> - 1.17.0-1
- Initial revision