Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/grpc/
Date: Sun, 30 May 2021 01:43:42
Message-Id: 1622338396.d74b8dfb26829632b392901ee9e2a6ab81fdab79.gyakovlev@gentoo
1 commit: d74b8dfb26829632b392901ee9e2a6ab81fdab79
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 30 01:33:16 2021 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Sun May 30 01:33:16 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d74b8dfb
7
8 net-libs/grpc: add 1.38.0
9
10 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
11
12 net-libs/grpc/Manifest | 1 +
13 net-libs/grpc/grpc-1.38.0.ebuild | 102 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 103 insertions(+)
15
16 diff --git a/net-libs/grpc/Manifest b/net-libs/grpc/Manifest
17 index 553cc687b28..dc349d754d0 100644
18 --- a/net-libs/grpc/Manifest
19 +++ b/net-libs/grpc/Manifest
20 @@ -1,3 +1,4 @@
21 DIST grpc-1.28.1.tar.gz 6888015 BLAKE2B 92d6f4a655183d34979c668bb7f4187a6670aa8ff5609df7b19fc7cadb57756fdc2322e57ef328623b1d91e63d8891ec0154ccef827c0302c14d986c6d9d179f SHA512 5cc4993470e2df21447d032ddeb65ab4175bb8acad5a06fdd22564068b80a5be255ef0e44d36732642d39dc3eaec02a93d2aaf6e369ad5dc43ff99b5023f357b
22 DIST grpc-1.32.0.tar.gz 7174251 BLAKE2B 4ea1b2d6a92f71e0d3703b350778fa4ae78eaeefe4f9052b649abb42e3d5e02e0220695ce2ef52eaf4ecec4194d024bf1ce7a33d52594557c7cceec5b5a3c069 SHA512 90136042327cea4e3680e19484f23cc00322914a7aae7987bf00b6e0901721d14c487555fdd94888192d6beb950172361ac57fbd02d43b40552f7ff5cac442ed
23 DIST grpc-1.37.1.tar.gz 8212731 BLAKE2B c306fbe60f5191fe957efb35c75574e00b1948777795e7d116a1d0a47238b53e73055e7c173e69afcf97b77e593f55001141bbef8fb09b9787420203d935eb85 SHA512 fe02447f558116e9ed2de48142b9bd3b8908d496aea7816406eee2c6ad136714ee14c2104a82a32f56ab486c5050b4665c55bacb24c91ceabcf1b998a5fc86b7
24 +DIST grpc-1.38.0.tar.gz 8296425 BLAKE2B 2a317dbb1ab79a508a301d84ac6aa858f62accf057453b1536900654376d1a1b19549bb1efa52c5f0916c08c3616e9d1cd2efb4f8143ea923633cfc4ed6e04fb SHA512 6ce37b4b87f08c227995f8c8a9649a3d9a4d8622458772f5f32552ff5b00b920a6e57ba7208c2e8f67eb2ee4f503378320866905863598d08e21b226aa0cd1c5
25
26 diff --git a/net-libs/grpc/grpc-1.38.0.ebuild b/net-libs/grpc/grpc-1.38.0.ebuild
27 new file mode 100644
28 index 00000000000..5a30754029f
29 --- /dev/null
30 +++ b/net-libs/grpc/grpc-1.38.0.ebuild
31 @@ -0,0 +1,102 @@
32 +# Copyright 1999-2021 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=7
36 +
37 +inherit cmake
38 +
39 +MY_PV="${PV//_pre/-pre}"
40 +
41 +DESCRIPTION="Modern open source high performance RPC framework"
42 +HOMEPAGE="https://www.grpc.io"
43 +SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
44 +
45 +LICENSE="Apache-2.0"
46 +# format is 0/${CORE_SOVERSION//./}.${CPP_SOVERSION//./} , check top level CMakeLists.txt
47 +SLOT="0/16.138"
48 +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
49 +IUSE="doc examples test"
50 +
51 +# look for submodule versions in third_party dir
52 +RDEPEND="
53 + =dev-cpp/abseil-cpp-20210324*:=
54 + >=dev-libs/re2-0.2021.04.01:=
55 + >=dev-libs/openssl-1.1.1:0=[-bindist]
56 + >=dev-libs/protobuf-3.15.8:=
57 + dev-libs/xxhash
58 + >=net-dns/c-ares-1.15.0:=
59 + sys-libs/zlib:=
60 +"
61 +
62 +DEPEND="${RDEPEND}
63 + test? (
64 + dev-cpp/benchmark
65 + dev-cpp/gflags
66 + )
67 +"
68 +
69 +BDEPEND="virtual/pkgconfig"
70 +
71 +# requires sources of many google tools
72 +RESTRICT="test"
73 +
74 +S="${WORKDIR}/${PN}-${MY_PV}"
75 +
76 +soversion_check() {
77 + local core_sover cpp_sover
78 + # extract quoted number. line we check looks like this: 'set(gRPC_CPP_SOVERSION "1.37")'
79 + core_sover="$(grep 'set(gRPC_CORE_SOVERSION ' CMakeLists.txt | sed '/.*\"\(.*\)\".*/ s//\1/')"
80 + cpp_sover="$(grep 'set(gRPC_CPP_SOVERSION ' CMakeLists.txt | sed '/.*\"\(.*\)\".*/ s//\1/')"
81 + # remove dots, e.g. 1.37 -> 137
82 + core_sover="${core_sover//./}"
83 + cpp_sover="${cpp_sover//./}"
84 + [[ ${core_sover} -eq $(ver_cut 2 ${SLOT}) ]] || die "fix core sublot! should be ${core_sover}"
85 + [[ ${cpp_sover} -eq $(ver_cut 3 ${SLOT}) ]] || die "fix cpp sublot! should be ${cpp_sover}"
86 +}
87 +
88 +src_prepare() {
89 + cmake_src_prepare
90 +
91 + # un-hardcode libdir
92 + sed -i "s@lib/pkgconfig@$(get_libdir)/pkgconfig@" CMakeLists.txt || die
93 + sed -i "s@/lib@/$(get_libdir)@" cmake/pkg-config-template.pc.in || die
94 +
95 + soversion_check
96 +}
97 +
98 +src_configure() {
99 + local mycmakeargs=(
100 + -DgRPC_INSTALL=ON
101 + -DgRPC_ABSL_PROVIDER=package
102 + -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF
103 + -DgRPC_CARES_PROVIDER=package
104 + -DgRPC_INSTALL_CMAKEDIR="$(get_libdir)/cmake/${PN}"
105 + -DgRPC_INSTALL_LIBDIR="$(get_libdir)"
106 + -DgRPC_PROTOBUF_PROVIDER=package
107 + -DgRPC_RE2_PROVIDER=package
108 + -DgRPC_SSL_PROVIDER=package
109 + -DgRPC_ZLIB_PROVIDER=package
110 + -DgRPC_BUILD_TESTS=$(usex test)
111 + -DCMAKE_CXX_STANDARD=17
112 + $(usex test '-DgRPC_GFLAGS_PROVIDER=package' '')
113 + $(usex test '-DgRPC_BENCHMARK_PROVIDER=package' '')
114 + )
115 + cmake_src_configure
116 +}
117 +
118 +src_install() {
119 + cmake_src_install
120 +
121 + if use examples; then
122 + find examples -name '.gitignore' -delete || die
123 + dodoc -r examples
124 + docompress -x /usr/share/doc/${PF}/examples
125 + fi
126 +
127 + if use doc; then
128 + find doc -name '.gitignore' -delete || die
129 + local DOCS=( AUTHORS CONCEPTS.md README.md TROUBLESHOOTING.md doc/. )
130 + fi
131 +
132 + einstalldocs
133 +}