Blame grpc.spec

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