Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/grpc/, net-libs/grpc/files/
Date: Wed, 02 May 2018 07:21:49
Message-Id: 1525245593.47c14d152f8d1e20021bd7c49ea3e4ccefb542b1.perfinion@gentoo
1 commit: 47c14d152f8d1e20021bd7c49ea3e4ccefb542b1
2 Author: Jason Zaman <perfinion <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 2 06:30:21 2018 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Wed May 2 07:19:53 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47c14d15
7
8 net-libs/grpc: new package
9
10 Updated from CrOS overlay
11
12 Package-Manager: Portage-2.3.24, Repoman-2.3.6
13
14 net-libs/grpc/Manifest | 1 +
15 .../0001-grpc-1.11.0-Fix-cross-compiling.patch | 58 ++++++++++++++++++++
16 .../0002-grpc-1.3.0-Fix-unsecure-.pc-files.patch | 38 +++++++++++++
17 .../files/0003-grpc-1.3.0-Don-t-run-ldconfig.patch | 53 ++++++++++++++++++
18 .../0004-grpc-1.11.0-fix-cpp-so-version.patch | 49 +++++++++++++++++
19 net-libs/grpc/grpc-1.11.0.ebuild | 64 ++++++++++++++++++++++
20 net-libs/grpc/metadata.xml | 10 ++++
21 7 files changed, 273 insertions(+)
22
23 diff --git a/net-libs/grpc/Manifest b/net-libs/grpc/Manifest
24 new file mode 100644
25 index 00000000000..4979a85eff1
26 --- /dev/null
27 +++ b/net-libs/grpc/Manifest
28 @@ -0,0 +1 @@
29 +DIST grpc-1.11.0.tar.gz 13431990 BLAKE2B d7aabd86fdaba8f8fc6fa17b411b496bbd51ef0a759d4bd77c0391e472c88f4252270ceddc19fb59a2b725d612236e1aef959f4b313551cb38204c51d1ca216b SHA512 3127cf0e66cd0712d905e6008adf6f80d787ad97eae2fba38fa3f4d343849a3dc3ca8f2ccbc82020e812fdb272e9577584c298a5b623fbdcac40c1efd7877855
30
31 diff --git a/net-libs/grpc/files/0001-grpc-1.11.0-Fix-cross-compiling.patch b/net-libs/grpc/files/0001-grpc-1.11.0-Fix-cross-compiling.patch
32 new file mode 100644
33 index 00000000000..6c4767759b4
34 --- /dev/null
35 +++ b/net-libs/grpc/files/0001-grpc-1.11.0-Fix-cross-compiling.patch
36 @@ -0,0 +1,58 @@
37 +From b9e631dad111f725c1a4e8b69ff1960397a5cc22 Mon Sep 17 00:00:00 2001
38 +From: Chirantan Ekbote <chirantan@××××××.com>
39 +Date: Mon, 10 Jul 2017 13:19:35 -0700
40 +Subject: [PATCH 2/5] grpc-1.3.0: Fix cross-compiling
41 +
42 +Cross-compiling was severely broken in the Makefile. Fix it.
43 +
44 +Sent upstream as https://github.com/grpc/grpc/pull/11476.
45 +---
46 + Makefile | 16 +++++++++-------
47 + 1 file changed, 9 insertions(+), 7 deletions(-)
48 +
49 +diff --git a/Makefile b/Makefile
50 +index 95de4f6530..4f0680e1d2 100644
51 +--- a/Makefile
52 ++++ b/Makefile
53 +@@ -329,6 +329,7 @@ HOST_CC ?= $(CC)
54 + HOST_CXX ?= $(CXX)
55 + HOST_LD ?= $(LD)
56 + HOST_LDXX ?= $(LDXX)
57 ++HOST_AR ?= $(AR)
58 +
59 + CFLAGS += -std=c99 -Wsign-conversion -Wconversion $(W_SHADOW) $(W_EXTRA_SEMI)
60 + ifeq ($(HAS_CXX11),true)
61 +@@ -438,11 +439,12 @@ LDFLAGS += $(EXTRA_LDFLAGS)
62 + DEFINES += $(EXTRA_DEFINES)
63 + LDLIBS += $(EXTRA_LDLIBS)
64 +
65 +-HOST_CPPFLAGS = $(CPPFLAGS)
66 +-HOST_CFLAGS = $(CFLAGS)
67 +-HOST_CXXFLAGS = $(CXXFLAGS)
68 +-HOST_LDFLAGS = $(LDFLAGS)
69 +-HOST_LDLIBS = $(LDLIBS)
70 ++HOST_CPPFLAGS = $(CPPFLAGS_NO_ARCH) -g -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter -DOSATOMIC_USE_INLINED=1 -fPIC
71 ++HOST_CFLAGS = -std=c99 -Wsign-conversion -Wconversion $(W_SHADOW) $(W_EXTRA_SEMI)
72 ++HOST_CXXFLAGS = -std=c++11
73 ++HOST_LDFLAGS = -g -fPIC -Llibs/$(CONFIG)
74 ++HOST_LDLIBS = -lprotoc
75 ++HOST_AROPTS = $(AROPTS)
76 +
77 + # These are automatically computed variables.
78 + # There shouldn't be any need to change anything from now on.
79 +@@ -6838,10 +6840,10 @@ $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: protobuf_dep_error
80 + else
81 +
82 + $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a: $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(PROTOBUF_DEP) $(LIBGRPC_PLUGIN_SUPPORT_OBJS)
83 +- $(E) "[AR] Creating $@"
84 ++ $(E) "[HOSTAR] Creating $@"
85 + $(Q) mkdir -p `dirname $@`
86 + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a
87 +- $(Q) $(AR) $(AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(LIBGRPC_PLUGIN_SUPPORT_OBJS)
88 ++ $(Q) $(HOST_AR) $(HOST_AROPTS) $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a $(LIBGRPC_PLUGIN_SUPPORT_OBJS)
89 + ifeq ($(SYSTEM),Darwin)
90 + $(Q) ranlib -no_warning_for_no_symbols $(LIBDIR)/$(CONFIG)/libgrpc_plugin_support.a
91 + endif
92 +--
93 +2.14.0.rc0.284.gd933b75aa4-goog
94 +
95
96 diff --git a/net-libs/grpc/files/0002-grpc-1.3.0-Fix-unsecure-.pc-files.patch b/net-libs/grpc/files/0002-grpc-1.3.0-Fix-unsecure-.pc-files.patch
97 new file mode 100644
98 index 00000000000..e6bde1321a4
99 --- /dev/null
100 +++ b/net-libs/grpc/files/0002-grpc-1.3.0-Fix-unsecure-.pc-files.patch
101 @@ -0,0 +1,38 @@
102 +From bc139f5b7ce6a2a6d7c67480a04e029955aec0ab Mon Sep 17 00:00:00 2001
103 +From: Chirantan Ekbote <chirantan@××××××.com>
104 +Date: Mon, 10 Jul 2017 13:21:27 -0700
105 +Subject: [PATCH 3/5] grpc-1.3.0: Fix unsecure .pc files
106 +
107 +The *_unsecure.pc files were still linking against the secure versions
108 +of the grpc libraries. Fix them to link against the unsecure versions.
109 +
110 +Sent upstream as https://github.com/grpc/grpc/pull/11448.
111 +---
112 + Makefile | 4 ++--
113 + 1 file changed, 2 insertions(+), 2 deletions(-)
114 +
115 +diff --git a/Makefile b/Makefile
116 +index 4f0680e1d2..86bd66a5e0 100644
117 +--- a/Makefile
118 ++++ b/Makefile
119 +@@ -778,7 +778,7 @@ PC_DESCRIPTION = high performance general RPC framework without SSL
120 + PC_CFLAGS =
121 + PC_REQUIRES_PRIVATE = $(PC_REQUIRES_GRPC)
122 + PC_LIBS_PRIVATE = $(PC_LIBS_GRPC)
123 +-PC_LIB = -lgrpc
124 ++PC_LIB = -lgrpc_unsecure
125 + GRPC_UNSECURE_PC_FILE := $(CORE_PC_TEMPLATE)
126 +
127 + PROTOBUF_PKG_CONFIG = false
128 +@@ -849,7 +849,7 @@ PC_DESCRIPTION = C++ wrapper for gRPC without SSL
129 + PC_CFLAGS =
130 + PC_REQUIRES_PRIVATE = grpc_unsecure $(PC_REQUIRES_GRPCXX)
131 + PC_LIBS_PRIVATE = $(PC_LIBS_GRPCXX)
132 +-PC_LIB = -lgrpc++
133 ++PC_LIB = -lgrpc++_unsecure
134 + GRPCXX_UNSECURE_PC_FILE := $(CPP_PC_TEMPLATE)
135 +
136 + ifeq ($(MAKECMDGOALS),clean)
137 +--
138 +2.14.0.rc0.284.gd933b75aa4-goog
139 +
140
141 diff --git a/net-libs/grpc/files/0003-grpc-1.3.0-Don-t-run-ldconfig.patch b/net-libs/grpc/files/0003-grpc-1.3.0-Don-t-run-ldconfig.patch
142 new file mode 100644
143 index 00000000000..d18063f2ef1
144 --- /dev/null
145 +++ b/net-libs/grpc/files/0003-grpc-1.3.0-Don-t-run-ldconfig.patch
146 @@ -0,0 +1,53 @@
147 +From 40f602c0beeb09197507d280b150174e09300d7f Mon Sep 17 00:00:00 2001
148 +From: Chirantan Ekbote <chirantan@××××××.com>
149 +Date: Mon, 10 Jul 2017 13:26:04 -0700
150 +Subject: [PATCH 5/5] grpc-1.3.0: Don't run ldconfig
151 +
152 +It doesn't make sense to run ldconfig for a staged install. Remove it.
153 +---
154 + Makefile | 15 ---------------
155 + 1 file changed, 15 deletions(-)
156 +
157 +diff --git a/Makefile b/Makefile
158 +index 86bd66a5e0..f4c2a5bcb9 100644
159 +--- a/Makefile
160 ++++ b/Makefile
161 +@@ -2582,11 +2582,6 @@ else ifneq ($(SYSTEM),Darwin)
162 + $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.so.3
163 + $(Q) ln -sf $(SHARED_PREFIX)grpc_unsecure$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_unsecure.so
164 + endif
165 +-ifneq ($(SYSTEM),MINGW32)
166 +-ifneq ($(SYSTEM),Darwin)
167 +- $(Q) ldconfig || true
168 +-endif
169 +-endif
170 +
171 +
172 + install-shared_cxx: shared_cxx strip-shared_cxx install-shared_c install-pkg-config_cxx
173 +@@ -2635,11 +2630,6 @@ else ifneq ($(SYSTEM),Darwin)
174 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so.1
175 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so
176 + endif
177 +-ifneq ($(SYSTEM),MINGW32)
178 +-ifneq ($(SYSTEM),Darwin)
179 +- $(Q) ldconfig || true
180 +-endif
181 +-endif
182 +
183 +
184 + install-shared_csharp: shared_csharp strip-shared_csharp
185 +@@ -2652,11 +2642,6 @@ else ifneq ($(SYSTEM),Darwin)
186 + $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so.1
187 + $(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CSHARP).$(SHARED_EXT_CSHARP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc_csharp_ext.so
188 + endif
189 +-ifneq ($(SYSTEM),MINGW32)
190 +-ifneq ($(SYSTEM),Darwin)
191 +- $(Q) ldconfig || true
192 +-endif
193 +-endif
194 +
195 +
196 + install-plugins: $(PROTOC_PLUGINS)
197 +--
198 +2.14.0.rc0.284.gd933b75aa4-goog
199 +
200
201 diff --git a/net-libs/grpc/files/0004-grpc-1.11.0-fix-cpp-so-version.patch b/net-libs/grpc/files/0004-grpc-1.11.0-fix-cpp-so-version.patch
202 new file mode 100644
203 index 00000000000..465520257cf
204 --- /dev/null
205 +++ b/net-libs/grpc/files/0004-grpc-1.11.0-fix-cpp-so-version.patch
206 @@ -0,0 +1,49 @@
207 +It creates the symlinks with the wrong versions
208 +
209 +--- a/Makefile.orig 2018-05-02 14:19:10.007775576 +0800
210 ++++ b/Makefile 2018-05-02 14:20:59.414089065 +0800
211 +@@ -2928,7 +2928,7 @@
212 + ifeq ($(SYSTEM),MINGW32)
213 + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.a
214 + else ifneq ($(SYSTEM),Darwin)
215 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.so.6
216 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.so.1
217 + $(Q) ln -sf $(SHARED_PREFIX)grpc++$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++.so
218 + endif
219 + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
220 +@@ -2937,7 +2937,7 @@
221 + ifeq ($(SYSTEM),MINGW32)
222 + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_cronet$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.a
223 + else ifneq ($(SYSTEM),Darwin)
224 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.so.6
225 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.so.1
226 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_cronet$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_cronet.so
227 + endif
228 + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
229 +@@ -2946,7 +2946,7 @@
230 + ifeq ($(SYSTEM),MINGW32)
231 + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_error_details$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.a
232 + else ifneq ($(SYSTEM),Darwin)
233 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.so.6
234 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.so.1
235 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_error_details$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_error_details.so
236 + endif
237 + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
238 +@@ -2955,7 +2955,7 @@
239 + ifeq ($(SYSTEM),MINGW32)
240 + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_reflection$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.a
241 + else ifneq ($(SYSTEM),Darwin)
242 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.so.6
243 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.so.1
244 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_reflection$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_reflection.so
245 + endif
246 + $(E) "[INSTALL] Installing $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP)"
247 +@@ -2964,7 +2964,7 @@
248 + ifeq ($(SYSTEM),MINGW32)
249 + $(Q) $(INSTALL) $(LIBDIR)/$(CONFIG)/libgrpc++_unsecure$(SHARED_VERSION_CPP)-dll.a $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.a
250 + else ifneq ($(SYSTEM),Darwin)
251 +- $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so.6
252 ++ $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so.1
253 + $(Q) ln -sf $(SHARED_PREFIX)grpc++_unsecure$(SHARED_VERSION_CPP).$(SHARED_EXT_CPP) $(prefix)/$(INSTALL_LIBDIR)/libgrpc++_unsecure.so
254 + endif
255 + ifneq ($(SYSTEM),MINGW32)
256
257 diff --git a/net-libs/grpc/grpc-1.11.0.ebuild b/net-libs/grpc/grpc-1.11.0.ebuild
258 new file mode 100644
259 index 00000000000..f5f64eea4e7
260 --- /dev/null
261 +++ b/net-libs/grpc/grpc-1.11.0.ebuild
262 @@ -0,0 +1,64 @@
263 +# Copyright 1999-2018 Gentoo Foundation
264 +# Distributed under the terms of the GNU General Public License v2
265 +
266 +EAPI=6
267 +
268 +PYTHON_COMPAT=( python2_7 python3_{5,6} )
269 +inherit python-r1 toolchain-funcs multilib flag-o-matic
270 +
271 +DESCRIPTION="Modern open source high performance RPC framework"
272 +HOMEPAGE="http://www.grpc.io"
273 +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
274 +
275 +LICENSE="Apache-2.0"
276 +SLOT="0"
277 +KEYWORDS="~amd64 ~x86"
278 +IUSE=""
279 +
280 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
281 +
282 +RDEPEND="
283 + >=dev-libs/openssl-1.0.2
284 + >=dev-libs/protobuf-3:=
285 + net-dns/c-ares
286 + sys-libs/zlib"
287 +
288 +DEPEND="${RDEPEND}"
289 +
290 +PATCHES=(
291 + "${FILESDIR}/0001-grpc-1.11.0-Fix-cross-compiling.patch"
292 + "${FILESDIR}/0002-grpc-1.3.0-Fix-unsecure-.pc-files.patch"
293 + "${FILESDIR}/0003-grpc-1.3.0-Don-t-run-ldconfig.patch"
294 + "${FILESDIR}/0004-grpc-1.11.0-fix-cpp-so-version.patch"
295 +)
296 +
297 +src_prepare() {
298 + sed -i 's@$(prefix)/lib@$(prefix)/$(INSTALL_LIBDIR)@g' Makefile || die "fix libdir"
299 + default
300 +}
301 +
302 +src_compile() {
303 + tc-export CC CXX PKG_CONFIG
304 + emake \
305 + V=1 \
306 + prefix=/usr \
307 + AR="$(tc-getAR)" \
308 + AROPTS="rcs" \
309 + CFLAGS="${CFLAGS}" \
310 + LD="${CC}" \
311 + LDXX="${CXX}" \
312 + STRIP=true \
313 + HOST_CC="$(tc-getBUILD_CC)" \
314 + HOST_CXX="$(tc-getBUILD_CXX)" \
315 + HOST_LD="$(tc-getBUILD_CC)" \
316 + HOST_LDXX="$(tc-getBUILD_CXX)" \
317 + HOST_AR="$(tc-getBUILD_AR)"
318 +}
319 +
320 +src_install() {
321 + emake \
322 + prefix="${D}"/usr \
323 + INSTALL_LIBDIR="$(get_libdir)" \
324 + STRIP=true \
325 + install
326 +}
327
328 diff --git a/net-libs/grpc/metadata.xml b/net-libs/grpc/metadata.xml
329 new file mode 100644
330 index 00000000000..13bfd9fea3d
331 --- /dev/null
332 +++ b/net-libs/grpc/metadata.xml
333 @@ -0,0 +1,10 @@
334 +<?xml version="1.0" encoding="UTF-8"?>
335 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
336 +<pkgmetadata>
337 + <maintainer type="person">
338 + <email>perfinion@g.o</email>
339 + </maintainer>
340 + <longdescription lang="en">
341 + A high performance, open-source universal RPC framework
342 + </longdescription>
343 +</pkgmetadata>