Gentoo Archives: gentoo-commits

From: WANG Xuerui <xen0n@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/grpc/
Date: Mon, 27 Feb 2023 09:10:23
Message-Id: 1677489012.0b1c4e15e900b90f2ee158191243876a31569c15.xen0n@gentoo
1 commit: 0b1c4e15e900b90f2ee158191243876a31569c15
2 Author: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 27 09:06:32 2023 +0000
4 Commit: WANG Xuerui <xen0n <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 27 09:10:12 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b1c4e15
7
8 net-libs/grpc: add 1.52.1
9
10 Signed-off-by: WANG Xuerui <xen0n <AT> gentoo.org>
11
12 net-libs/grpc/Manifest | 1 +
13 net-libs/grpc/grpc-1.52.1.ebuild | 106 +++++++++++++++++++++++++++++++++++++++
14 2 files changed, 107 insertions(+)
15
16 diff --git a/net-libs/grpc/Manifest b/net-libs/grpc/Manifest
17 index f812a0c1784b..7321af99dcc7 100644
18 --- a/net-libs/grpc/Manifest
19 +++ b/net-libs/grpc/Manifest
20 @@ -1,3 +1,4 @@
21 DIST grpc-1.43.0.tar.gz 8540919 BLAKE2B dc78026129a5d23e864c92a210e8de845a4bad886071a76d527730108da155d290612f1e54cec15d69f55713f37f377e6bff844b16b5deef64c7d8bb31195652 SHA512 e0471aa355d311a40c9d29d7101bf8e22b89ac675d4914c38e617d3213b61107487ef20ca80d7cff8093b548f4a976526298e1f32959ae6ce3c088d45ecc9781
22 DIST grpc-1.51.1.tar.gz 8550112 BLAKE2B 83ba622222e941a6a0fa33f4878e9a10f4165d29ade36fb58201bc76dad9b075d1cc5474c2a8e48f63b63a7b2d0e169f58af88fff837973ae03315833f2c2eb7 SHA512 1bc8e7a5a15b2dca88527d111cde398b0dc1921bbc945c6df8225b4225b8ac0b43155bcf743230ce7b5962d1ab948e9363229c98a879b1befc7a939a290fb888
23 DIST grpc-1.52.0.tar.gz 8682080 BLAKE2B de1583401a70ec09cc30527346d18bc6d2272a61419de5b5f5ee8074e996daa04b060f112d693004e4cbf49c04e3048746d8f12823a40c367965cba2b5266028 SHA512 a3e8b22b04fc6d06762a10d325438fa19253fcace2c6aeb31cb30092f68d651ecbf6f9ea74ae9333e20a77029c989f8a963912f8be5c008590b08570a47b1bf7
24 +DIST grpc-1.52.1.tar.gz 8686340 BLAKE2B 0076ddd4a2840892f4ad11885e18f782b6a645337224974522c5f828d0226d6a1e19aaaf0f30ea3225d56118e0cfc251d45b8d5e6811c2d1a84e274ff037bb53 SHA512 06c69fb817af75b2610761a3a193178b749755eb7bed58875aa251def7c0c253cdaf02cf834c31c8b2cae7b01a6081e2aece4b131a162f64bd45ff0aff4d7758
25
26 diff --git a/net-libs/grpc/grpc-1.52.1.ebuild b/net-libs/grpc/grpc-1.52.1.ebuild
27 new file mode 100644
28 index 000000000000..1bc65a8edf87
29 --- /dev/null
30 +++ b/net-libs/grpc/grpc-1.52.1.ebuild
31 @@ -0,0 +1,106 @@
32 +# Copyright 1999-2023 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
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/30.152"
48 +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
49 +IUSE="doc examples test"
50 +
51 +# look for submodule versions in third_party dir
52 +RDEPEND="
53 + =dev-cpp/abseil-cpp-20220623.1*:=
54 + >=dev-libs/re2-0.2021.11.01:=
55 + >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
56 + >=dev-libs/protobuf-3.18.1:=
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@/$(get_libdir)@" cmake/pkg-config-template.pc.in || die
93 +
94 + # suppress network access, package builds fine without the submodules
95 + mkdir "${S}/third_party/opencensus-proto/src" || die
96 +
97 + soversion_check
98 +}
99 +
100 +src_configure() {
101 + # https://github.com/grpc/grpc/issues/29652
102 + filter-lto
103 +
104 + local mycmakeargs=(
105 + -DgRPC_INSTALL=ON
106 + -DgRPC_ABSL_PROVIDER=package
107 + -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF
108 + -DgRPC_CARES_PROVIDER=package
109 + -DgRPC_INSTALL_CMAKEDIR="$(get_libdir)/cmake/${PN}"
110 + -DgRPC_INSTALL_LIBDIR="$(get_libdir)"
111 + -DgRPC_PROTOBUF_PROVIDER=package
112 + -DgRPC_RE2_PROVIDER=package
113 + -DgRPC_SSL_PROVIDER=package
114 + -DgRPC_ZLIB_PROVIDER=package
115 + -DgRPC_BUILD_TESTS=$(usex test)
116 + -DCMAKE_CXX_STANDARD=17
117 + $(usex test '-DgRPC_BENCHMARK_PROVIDER=package' '')
118 + )
119 + cmake_src_configure
120 +}
121 +
122 +src_install() {
123 + cmake_src_install
124 +
125 + if use examples; then
126 + find examples -name '.gitignore' -delete || die
127 + dodoc -r examples
128 + docompress -x /usr/share/doc/${PF}/examples
129 + fi
130 +
131 + if use doc; then
132 + find doc -name '.gitignore' -delete || die
133 + local DOCS=( AUTHORS CONCEPTS.md README.md TROUBLESHOOTING.md doc/. )
134 + fi
135 +
136 + einstalldocs
137 +}