1 |
commit: 6808a5a7420dfa7355ed17d81b0f88d6889f3894 |
2 |
Author: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Oct 8 14:11:07 2021 +0000 |
4 |
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Oct 8 18:18:58 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6808a5a7 |
7 |
|
8 |
net-libs/grpc: add 1.41.0 |
9 |
|
10 |
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org> |
11 |
|
12 |
net-libs/grpc/Manifest | 1 + |
13 |
.../grpc/files/grpc-1.41.0-link-system-gtest.patch | 22 +++++ |
14 |
net-libs/grpc/grpc-1.41.0.ebuild | 102 +++++++++++++++++++++ |
15 |
3 files changed, 125 insertions(+) |
16 |
|
17 |
diff --git a/net-libs/grpc/Manifest b/net-libs/grpc/Manifest |
18 |
index 32327daee54..9ae56077887 100644 |
19 |
--- a/net-libs/grpc/Manifest |
20 |
+++ b/net-libs/grpc/Manifest |
21 |
@@ -1,2 +1,3 @@ |
22 |
DIST grpc-1.37.1.tar.gz 8212731 BLAKE2B c306fbe60f5191fe957efb35c75574e00b1948777795e7d116a1d0a47238b53e73055e7c173e69afcf97b77e593f55001141bbef8fb09b9787420203d935eb85 SHA512 fe02447f558116e9ed2de48142b9bd3b8908d496aea7816406eee2c6ad136714ee14c2104a82a32f56ab486c5050b4665c55bacb24c91ceabcf1b998a5fc86b7 |
23 |
DIST grpc-1.38.1.tar.gz 8294961 BLAKE2B dca22ef4517ad122815522985e0d1c9b35789302056ea896c3ccc1163725835cf1f925b344467185edd6c86a65808bbe8243721834c0fd4f209216109b7c2fe7 SHA512 1f9b6baea4790836d32da6a27ec1491c015d47f2a48ef8732dada0ef45f4dfed412597c8a09dfc0778b16c7300618d42013679094e05cb5922bfae57adedaaa2 |
24 |
+DIST grpc-1.41.0.tar.gz 8347643 BLAKE2B e8c0e32d3cfc75413bfcd0bfbd95a5dc592d11f629e63618619ba307a76a62668c1c21efda45836aef8fb6a1912da0c300f3d4cd41f8b93344fa1768a86df6e6 SHA512 bc353bfd8cc10d8b992e4cf680c656ef6ddbcecbaa640c94e9255664d532926e48f3839afc98ef6278ae4e2eb54d166ac67fec7315dc1d08640845ed8120d902 |
25 |
|
26 |
diff --git a/net-libs/grpc/files/grpc-1.41.0-link-system-gtest.patch b/net-libs/grpc/files/grpc-1.41.0-link-system-gtest.patch |
27 |
new file mode 100644 |
28 |
index 00000000000..4901678bfd6 |
29 |
--- /dev/null |
30 |
+++ b/net-libs/grpc/files/grpc-1.41.0-link-system-gtest.patch |
31 |
@@ -0,0 +1,22 @@ |
32 |
+diff --git a/CMakeLists.txt b/CMakeLists.txt |
33 |
+index 0e8fbdee8b..3662aabdfe 100644 |
34 |
+--- a/CMakeLists.txt |
35 |
++++ b/CMakeLists.txt |
36 |
+@@ -2309,6 +2309,7 @@ target_include_directories(grpc_test_util |
37 |
+ ${_gRPC_ZLIB_INCLUDE_DIR} |
38 |
+ ) |
39 |
+ target_link_libraries(grpc_test_util |
40 |
++ PRIVATE |
41 |
+ ${_gRPC_ALLTARGETS_LIBRARIES} |
42 |
+ absl::failure_signal_handler |
43 |
+ absl::stacktrace |
44 |
+@@ -2322,7 +2323,8 @@ endif() |
45 |
+ |
46 |
+ endif() |
47 |
+ if(gRPC_BUILD_TESTS) |
48 |
+- |
49 |
++find_package(GTest REQUIRED) |
50 |
++target_link_libraries(grpc_test_util PUBLIC GTest::gtest GTest::gmock) |
51 |
+ add_library(grpc_test_util_unsecure |
52 |
+ test/core/util/cmdline.cc |
53 |
+ test/core/util/fuzzer_util.cc |
54 |
|
55 |
diff --git a/net-libs/grpc/grpc-1.41.0.ebuild b/net-libs/grpc/grpc-1.41.0.ebuild |
56 |
new file mode 100644 |
57 |
index 00000000000..e9f7052206f |
58 |
--- /dev/null |
59 |
+++ b/net-libs/grpc/grpc-1.41.0.ebuild |
60 |
@@ -0,0 +1,102 @@ |
61 |
+# Copyright 1999-2021 Gentoo Authors |
62 |
+# Distributed under the terms of the GNU General Public License v2 |
63 |
+ |
64 |
+EAPI=7 |
65 |
+ |
66 |
+inherit cmake |
67 |
+ |
68 |
+MY_PV="${PV//_pre/-pre}" |
69 |
+ |
70 |
+DESCRIPTION="Modern open source high performance RPC framework" |
71 |
+HOMEPAGE="https://www.grpc.io" |
72 |
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" |
73 |
+ |
74 |
+LICENSE="Apache-2.0" |
75 |
+# format is 0/${CORE_SOVERSION//./}.${CPP_SOVERSION//./} , check top level CMakeLists.txt |
76 |
+SLOT="0/19.141" |
77 |
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" |
78 |
+IUSE="doc examples test" |
79 |
+ |
80 |
+# look for submodule versions in third_party dir |
81 |
+RDEPEND=" |
82 |
+ =dev-cpp/abseil-cpp-20210324*:= |
83 |
+ >=dev-libs/re2-0.2021.04.01:= |
84 |
+ >=dev-libs/openssl-1.1.1:0=[-bindist(-)] |
85 |
+ >=dev-libs/protobuf-3.17.3:= |
86 |
+ dev-libs/xxhash |
87 |
+ >=net-dns/c-ares-1.15.0:= |
88 |
+ sys-libs/zlib:= |
89 |
+" |
90 |
+ |
91 |
+DEPEND="${RDEPEND} |
92 |
+ test? ( |
93 |
+ dev-cpp/benchmark |
94 |
+ dev-cpp/gflags |
95 |
+ ) |
96 |
+" |
97 |
+ |
98 |
+BDEPEND="virtual/pkgconfig" |
99 |
+ |
100 |
+# requires sources of many google tools |
101 |
+RESTRICT="test" |
102 |
+ |
103 |
+S="${WORKDIR}/${PN}-${MY_PV}" |
104 |
+ |
105 |
+soversion_check() { |
106 |
+ local core_sover cpp_sover |
107 |
+ # extract quoted number. line we check looks like this: 'set(gRPC_CPP_SOVERSION "1.37")' |
108 |
+ core_sover="$(grep 'set(gRPC_CORE_SOVERSION ' CMakeLists.txt | sed '/.*\"\(.*\)\".*/ s//\1/')" |
109 |
+ cpp_sover="$(grep 'set(gRPC_CPP_SOVERSION ' CMakeLists.txt | sed '/.*\"\(.*\)\".*/ s//\1/')" |
110 |
+ # remove dots, e.g. 1.37 -> 137 |
111 |
+ core_sover="${core_sover//./}" |
112 |
+ cpp_sover="${cpp_sover//./}" |
113 |
+ [[ ${core_sover} -eq $(ver_cut 2 ${SLOT}) ]] || die "fix core sublot! should be ${core_sover}" |
114 |
+ [[ ${cpp_sover} -eq $(ver_cut 3 ${SLOT}) ]] || die "fix cpp sublot! should be ${cpp_sover}" |
115 |
+} |
116 |
+ |
117 |
+src_prepare() { |
118 |
+ cmake_src_prepare |
119 |
+ |
120 |
+ # un-hardcode libdir |
121 |
+ sed -i "s@lib/pkgconfig@$(get_libdir)/pkgconfig@" CMakeLists.txt || die |
122 |
+ sed -i "s@/lib@/$(get_libdir)@" cmake/pkg-config-template.pc.in || die |
123 |
+ |
124 |
+ soversion_check |
125 |
+} |
126 |
+ |
127 |
+src_configure() { |
128 |
+ local mycmakeargs=( |
129 |
+ -DgRPC_INSTALL=ON |
130 |
+ -DgRPC_ABSL_PROVIDER=package |
131 |
+ -DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF |
132 |
+ -DgRPC_CARES_PROVIDER=package |
133 |
+ -DgRPC_INSTALL_CMAKEDIR="$(get_libdir)/cmake/${PN}" |
134 |
+ -DgRPC_INSTALL_LIBDIR="$(get_libdir)" |
135 |
+ -DgRPC_PROTOBUF_PROVIDER=package |
136 |
+ -DgRPC_RE2_PROVIDER=package |
137 |
+ -DgRPC_SSL_PROVIDER=package |
138 |
+ -DgRPC_ZLIB_PROVIDER=package |
139 |
+ -DgRPC_BUILD_TESTS=$(usex test) |
140 |
+ -DCMAKE_CXX_STANDARD=17 |
141 |
+ $(usex test '-DgRPC_GFLAGS_PROVIDER=package' '') |
142 |
+ $(usex test '-DgRPC_BENCHMARK_PROVIDER=package' '') |
143 |
+ ) |
144 |
+ cmake_src_configure |
145 |
+} |
146 |
+ |
147 |
+src_install() { |
148 |
+ cmake_src_install |
149 |
+ |
150 |
+ if use examples; then |
151 |
+ find examples -name '.gitignore' -delete || die |
152 |
+ dodoc -r examples |
153 |
+ docompress -x /usr/share/doc/${PF}/examples |
154 |
+ fi |
155 |
+ |
156 |
+ if use doc; then |
157 |
+ find doc -name '.gitignore' -delete || die |
158 |
+ local DOCS=( AUTHORS CONCEPTS.md README.md TROUBLESHOOTING.md doc/. ) |
159 |
+ fi |
160 |
+ |
161 |
+ einstalldocs |
162 |
+} |