Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jun 2017 12:11:27 -0400
From:      Steve Wills <steve@mouf.net>
To:        Matthias Fechner <idefix@fechner.net>, Torsten Zuehlsdorff <tz@FreeBSD.org>, ruby@freebsd.org
Cc:        vanilla@FreeBSD.org
Subject:   Re: Help needed: net/rubygem-grpc
Message-ID:  <412f42ff-e5e7-03e8-fcbd-10d86d0c072c@mouf.net>
In-Reply-To: <029a9c1f-de69-3bfd-ff89-1a02feb767a0@fechner.net>
References:  <4474b97e-88ec-ead8-bb13-79e5889bf237@FreeBSD.org> <b74007b8-02f7-0b58-7618-cc006074a6e1@mouf.net> <c5c542e2-c667-67b8-ec7b-6dd07069aa91@fechner.net> <bf97c60e-2076-cf5b-b587-48b978fdf51f@FreeBSD.org> <2369ae1e-30cb-52d7-6697-a99139d74479@mouf.net> <029a9c1f-de69-3bfd-ff89-1a02feb767a0@fechner.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--uUPRlLbNumgJnJAGMjXxJFME64n76rcGH
Content-Type: multipart/mixed; boundary="49ouOcUIcvfmF6CItvkXH1Sb1m8kEdlt6";
 protected-headers="v1"
From: Steve Wills <steve@mouf.net>
To: Matthias Fechner <idefix@fechner.net>,
 Torsten Zuehlsdorff <tz@FreeBSD.org>, ruby@freebsd.org
Cc: vanilla@FreeBSD.org
Message-ID: <412f42ff-e5e7-03e8-fcbd-10d86d0c072c@mouf.net>
Subject: Re: Help needed: net/rubygem-grpc
References: <4474b97e-88ec-ead8-bb13-79e5889bf237@FreeBSD.org>
 <b74007b8-02f7-0b58-7618-cc006074a6e1@mouf.net>
 <c5c542e2-c667-67b8-ec7b-6dd07069aa91@fechner.net>
 <bf97c60e-2076-cf5b-b587-48b978fdf51f@FreeBSD.org>
 <2369ae1e-30cb-52d7-6697-a99139d74479@mouf.net>
 <029a9c1f-de69-3bfd-ff89-1a02feb767a0@fechner.net>
In-Reply-To: <029a9c1f-de69-3bfd-ff89-1a02feb767a0@fechner.net>

--49ouOcUIcvfmF6CItvkXH1Sb1m8kEdlt6
Content-Type: multipart/mixed;
 boundary="------------47AB0E0D35D27A2A28CA2569"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------47AB0E0D35D27A2A28CA2569
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

On 06/28/2017 14:08, Matthias Fechner wrote:
> Thanks Steve,
>=20
> I already added it into our repository we work with:
> http://gitlab.toco-domains.de/FreeBSD/GitLab/commits/9.1
>=20
> I hope that is ok for you?
> My poudiere is just building and I think it will take the full night:
> https://pkg.fechner.net/index.html
>=20
> I will try to do some tests (at least give the build a try). As I do no=
t have any experience with ruby, I do not really have an idea how to test=
 it.
>=20

That's not going to work as is, see my previous message.

I have committed a port for boringssl and patched devel/grpc to use it
and updated the rubygem-grpc patch. See attached (as always, let me know
if it doesn't come through).

Note this will make boringssl a runtime dep of GitLab (via rubygem-grpc
via grpc). This lets rubygem-grpc pass it's tests, except for 1, which
seems like just a test which needs updating.

If you want to run the tests, copy these files/directories:

Gemfile
Rakefile
src/proto
src/ruby/.rubocop.yml
src/ruby/.rubocop_todo.yml

from the devel/grpc WRKSRC to the corresponding location in the
rubygem-grpc WRKSRC. Then install rubygem-bundler, run "bundle install"
and finally run "rake" to actually execute the tests and see results.
(Bundler will install a bunch of gems outside pkg, so you may want to do
this in a throwaway jail, such as in poudriere testport -i).

Vanilla, could you commit the devel/grpc parts of the attached patch, or
approve me committing it?

I think it's better to create a separate port for boringssl and use it
than to have both devel/grpc and net/rubygem-grpc bundle it. I know
boringssl isn't meant to be used this way, based on the docs. But I
think it's better to avoid bundling it, because bundling allows to
possibly use different versions in different ports and also means more
work to update it.

Also, the github mirror used for the currently bundling of boringssl in
devel/grpc (github.com/boringssl/boringssl) is an unofficial mirror that
seems to have died a while ago. This uses the
github.com/google/boringssl mirror which seems current and updating. So
if we are against this change to devel/grpc we should at least update
the bundled version of boringssl there to the newer repo and version.

Thanks,
Steve

--------------47AB0E0D35D27A2A28CA2569
Content-Type: text/x-patch;
 name="rubygem-grpc_stuff.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="rubygem-grpc_stuff.diff"

Index: net/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/Makefile	(revision 444576)
+++ net/Makefile	(working copy)
@@ -1186,6 +1186,7 @@
     SUBDIR +=3D rubygem-gitaly
     SUBDIR +=3D rubygem-gitlab_omniauth-ldap
     SUBDIR +=3D rubygem-gitlab_omniauth-ldap1
+    SUBDIR +=3D rubygem-grpc
     SUBDIR +=3D rubygem-http_parser.rb
     SUBDIR +=3D rubygem-httpauth
     SUBDIR +=3D rubygem-ipaddress
Index: net/rubygem-grpc/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/Makefile	(nonexistent)
+++ net/rubygem-grpc/Makefile	(working copy)
@@ -0,0 +1,29 @@
+# $FreeBSD$
+
+PORTNAME=3D	grpc
+PORTVERSION=3D	1.4.0
+CATEGORIES=3D	net rubygems
+MASTER_SITES=3D	RG
+
+MAINTAINER=3D	tz@FreeBSD.org
+COMMENT=3D	Ruby implementation of gRPC
+
+LICENSE=3D	BSD3CLAUSE
+
+RUN_DEPENDS=3D	ca_root_nss>=3D0:security/ca_root_nss \
+		grpc>=3D0:devel/grpc \
+		rubygem-google-protobuf>=3D3.0:devel/rubygem-google-protobuf \
+		rubygem-googleauth>=3D0.5.1:security/rubygem-googleauth
+LIB_DEPENDS=3D	libcares.so:dns/c-ares
+
+MAKE_JOBS_UNSAFE=3Dyes
+
+USE_RUBY=3D	yes
+USES=3D		gem gmake pkgconfig
+
+post-extract:
+	@${RM} -r ${WRKSRC}/include ${WRKSRC}/third_party ${WRKSRC}/src/borings=
sl \
+		${WRKSRC}/src/core ${WRKSRC}/Makefile ${WRKSRC}/.yardopts ${WRKSRC}/et=
c
+	@${CP} ${FILESDIR}/grpc.gemspec ${WRKSRC}
+
+.include <bsd.port.mk>

Property changes on: net/rubygem-grpc/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=3D%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net/rubygem-grpc/distinfo
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/distinfo	(nonexistent)
+++ net/rubygem-grpc/distinfo	(working copy)
@@ -0,0 +1,3 @@
+TIMESTAMP =3D 1498614608
+SHA256 (rubygem/grpc-1.4.0.gem) =3D 927d8d3b486d8fa597cab6932b77a7a2b932=
e66d240d2182599ae2bac82e38ea
+SIZE (rubygem/grpc-1.4.0.gem) =3D 2736128

Property changes on: net/rubygem-grpc/distinfo
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net/rubygem-grpc/files/grpc.gemspec
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/files/grpc.gemspec	(nonexistent)
+++ net/rubygem-grpc/files/grpc.gemspec	(working copy)
@@ -0,0 +1,70 @@
+# -*- encoding: utf-8 -*-
+# stub: grpc 1.4.0 ruby src/ruby/lib=00src/ruby/bin=00src/ruby/pb
+# stub: src/ruby/ext/grpc/extconf.rb
+
+Gem::Specification.new do |s|
+  s.name =3D "grpc".freeze
+  s.version =3D "1.4.0"
+
+  s.required_rubygems_version =3D Gem::Requirement.new(">=3D 0".freeze) =
if s.respond_to? :required_rubygems_version=3D
+  s.require_paths =3D ["src/ruby/lib".freeze, "src/ruby/bin".freeze, "sr=
c/ruby/pb".freeze]
+  s.authors =3D ["gRPC Authors".freeze]
+  s.bindir =3D "src/ruby/bin".freeze
+  s.date =3D "2017-06-21"
+  s.description =3D "Send RPCs from Ruby using GRPC".freeze
+  s.email =3D "temiola@google.com".freeze
+  s.extensions =3D ["src/ruby/ext/grpc/extconf.rb".freeze]
+  s.files =3D ["src/ruby/bin/apis/google/protobuf/empty.rb".freeze, "src=
/ruby/bin/apis/pubsub_demo.rb".freeze, "src/ruby/bin/apis/tech/pubsub/pro=
to/pubsub.rb".freeze, "src/ruby/bin/apis/tech/pubsub/proto/pubsub_service=
s.rb".freeze, "src/ruby/bin/math_client.rb".freeze, "src/ruby/bin/math_pb=
=2Erb".freeze, "src/ruby/bin/math_server.rb".freeze, "src/ruby/bin/math_s=
ervices_pb.rb".freeze, "src/ruby/bin/noproto_client.rb".freeze, "src/ruby=
/bin/noproto_server.rb".freeze, "src/ruby/ext/grpc/extconf.rb".freeze, "s=
rc/ruby/ext/grpc/rb_byte_buffer.c".freeze, "src/ruby/ext/grpc/rb_byte_buf=
fer.h".freeze, "src/ruby/ext/grpc/rb_call.c".freeze, "src/ruby/ext/grpc/r=
b_call.h".freeze, "src/ruby/ext/grpc/rb_call_credentials.c".freeze, "src/=
ruby/ext/grpc/rb_call_credentials.h".freeze, "src/ruby/ext/grpc/rb_channe=
l.c".freeze, "src/ruby/ext/grpc/rb_channel.h".freeze, "src/ruby/ext/grpc/=
rb_channel_args.c".freeze, "src/ruby/ext/grpc/rb_channel_args.h".freeze, =
"src/ruby/ext/grpc/rb_channel_credentials.c".freeze, "src/ruby/ext/grpc/r=
b_channel_credentials.h".freeze, "src/ruby/ext/grpc/rb_completion_queue.c=
".freeze, "src/ruby/ext/grpc/rb_completion_queue.h".freeze, "src/ruby/ext=
/grpc/rb_compression_options.c".freeze, "src/ruby/ext/grpc/rb_compression=
_options.h".freeze, "src/ruby/ext/grpc/rb_event_thread.c".freeze, "src/ru=
by/ext/grpc/rb_event_thread.h".freeze, "src/ruby/ext/grpc/rb_grpc.c".free=
ze, "src/ruby/ext/grpc/rb_grpc.h".freeze, "src/ruby/ext/grpc/rb_grpc_impo=
rts.generated.c".freeze, "src/ruby/ext/grpc/rb_grpc_imports.generated.h".=
freeze, "src/ruby/ext/grpc/rb_loader.c".freeze, "src/ruby/ext/grpc/rb_loa=
der.h".freeze, "src/ruby/ext/grpc/rb_server.c".freeze, "src/ruby/ext/grpc=
/rb_server.h".freeze, "src/ruby/ext/grpc/rb_server_credentials.c".freeze,=
 "src/ruby/ext/grpc/rb_server_credentials.h".freeze, "src/ruby/lib/grpc.r=
b".freeze, "src/ruby/lib/grpc/core/time_consts.rb".freeze, "src/ruby/lib/=
grpc/errors.rb".freeze, "src/ruby/lib/grpc/generic/active_call.rb".freeze=
, "src/ruby/lib/grpc/generic/bidi_call.rb".freeze, "src/ruby/lib/grpc/gen=
eric/client_stub.rb".freeze, "src/ruby/lib/grpc/generic/rpc_desc.rb".free=
ze, "src/ruby/lib/grpc/generic/rpc_server.rb".freeze, "src/ruby/lib/grpc/=
generic/service.rb".freeze, "src/ruby/lib/grpc/grpc.rb".freeze, "src/ruby=
/lib/grpc/logconfig.rb".freeze, "src/ruby/lib/grpc/notifier.rb".freeze, "=
src/ruby/lib/grpc/version.rb".freeze, "src/ruby/pb/README.md".freeze, "sr=
c/ruby/pb/generate_proto_ruby.sh".freeze, "src/ruby/pb/grpc/health/checke=
r.rb".freeze, "src/ruby/pb/grpc/health/v1/health_pb.rb".freeze, "src/ruby=
/pb/grpc/health/v1/health_services_pb.rb".freeze, "src/ruby/pb/grpc/testi=
ng/duplicate/echo_duplicate_services_pb.rb".freeze, "src/ruby/pb/grpc/tes=
ting/metrics_pb.rb".freeze, "src/ruby/pb/grpc/testing/metrics_services_pb=
=2Erb".freeze, "src/ruby/pb/src/proto/grpc/testing/empty_pb.rb".freeze, "=
src/ruby/pb/src/proto/grpc/testing/messages_pb.rb".freeze, "src/ruby/pb/s=
rc/proto/grpc/testing/test_pb.rb".freeze, "src/ruby/pb/src/proto/grpc/tes=
ting/test_services_pb.rb".freeze, "src/ruby/pb/test/client.rb".freeze, "s=
rc/ruby/pb/test/server.rb".freeze, "src/ruby/spec/call_credentials_spec.r=
b".freeze, "src/ruby/spec/call_spec.rb".freeze, "src/ruby/spec/channel_co=
nnection_spec.rb".freeze, "src/ruby/spec/channel_credentials_spec.rb".fre=
eze, "src/ruby/spec/channel_spec.rb".freeze, "src/ruby/spec/client_server=
_spec.rb".freeze, "src/ruby/spec/compression_options_spec.rb".freeze, "sr=
c/ruby/spec/error_sanity_spec.rb".freeze, "src/ruby/spec/generic/active_c=
all_spec.rb".freeze, "src/ruby/spec/generic/client_stub_spec.rb".freeze, =
"src/ruby/spec/generic/rpc_desc_spec.rb".freeze, "src/ruby/spec/generic/r=
pc_server_pool_spec.rb".freeze, "src/ruby/spec/generic/rpc_server_spec.rb=
".freeze, "src/ruby/spec/generic/service_spec.rb".freeze, "src/ruby/spec/=
pb/duplicate/codegen_spec.rb".freeze, "src/ruby/spec/pb/health/checker_sp=
ec.rb".freeze, "src/ruby/spec/server_credentials_spec.rb".freeze, "src/ru=
by/spec/server_spec.rb".freeze, "src/ruby/spec/spec_helper.rb".freeze, "s=
rc/ruby/spec/testdata/README".freeze, "src/ruby/spec/testdata/ca.pem".fre=
eze, "src/ruby/spec/testdata/server1.key".freeze, "src/ruby/spec/testdata=
/server1.pem".freeze, "src/ruby/spec/time_consts_spec.rb".freeze]
+  s.homepage =3D "https://github.com/google/grpc/tree/master/src/ruby".f=
reeze
+  s.licenses =3D ["BSD-3-Clause".freeze]
+  s.required_ruby_version =3D Gem::Requirement.new(">=3D 2.0.0".freeze)
+  s.rubygems_version =3D "2.6.12".freeze
+  s.summary =3D "GRPC system in Ruby".freeze
+  s.test_files =3D ["src/ruby/spec/server_spec.rb".freeze, "src/ruby/spe=
c/channel_spec.rb".freeze, "src/ruby/spec/testdata/README".freeze, "src/r=
uby/spec/testdata/ca.pem".freeze, "src/ruby/spec/testdata/server1.key".fr=
eeze, "src/ruby/spec/testdata/server1.pem".freeze, "src/ruby/spec/time_co=
nsts_spec.rb".freeze, "src/ruby/spec/channel_connection_spec.rb".freeze, =
"src/ruby/spec/call_spec.rb".freeze, "src/ruby/spec/generic/rpc_server_sp=
ec.rb".freeze, "src/ruby/spec/generic/rpc_desc_spec.rb".freeze, "src/ruby=
/spec/generic/active_call_spec.rb".freeze, "src/ruby/spec/generic/client_=
stub_spec.rb".freeze, "src/ruby/spec/generic/rpc_server_pool_spec.rb".fre=
eze, "src/ruby/spec/generic/service_spec.rb".freeze, "src/ruby/spec/pb/du=
plicate/codegen_spec.rb".freeze, "src/ruby/spec/pb/health/checker_spec.rb=
".freeze, "src/ruby/spec/client_server_spec.rb".freeze, "src/ruby/spec/co=
mpression_options_spec.rb".freeze, "src/ruby/spec/server_credentials_spec=
=2Erb".freeze, "src/ruby/spec/spec_helper.rb".freeze, "src/ruby/spec/erro=
r_sanity_spec.rb".freeze, "src/ruby/spec/channel_credentials_spec.rb".fre=
eze, "src/ruby/spec/call_credentials_spec.rb".freeze]
+
+  if s.respond_to? :specification_version then
+    s.specification_version =3D 4
+
+    if Gem::Version.new(Gem::VERSION) >=3D Gem::Version.new('1.2.0') the=
n
+      s.add_runtime_dependency(%q<google-protobuf>.freeze, ["~> 3.1"])
+      s.add_runtime_dependency(%q<googleauth>.freeze, ["~> 0.5.1"])
+      s.add_development_dependency(%q<bundler>.freeze, ["~> 1.9"])
+      s.add_development_dependency(%q<facter>.freeze, ["~> 2.4"])
+      s.add_development_dependency(%q<logging>.freeze, ["~> 2.0"])
+      s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.9"])
+      s.add_development_dependency(%q<rake>.freeze, ["~> 10.4"])
+      s.add_development_dependency(%q<rake-compiler>.freeze, ["~> 1.0"])=

+      s.add_development_dependency(%q<rake-compiler-dock>.freeze, ["~> 0=
=2E5.1"])
+      s.add_development_dependency(%q<rspec>.freeze, ["~> 3.2"])
+      s.add_development_dependency(%q<rubocop>.freeze, ["~> 0.30.0"])
+      s.add_development_dependency(%q<signet>.freeze, ["~> 0.7.0"])
+    else
+      s.add_dependency(%q<google-protobuf>.freeze, ["~> 3.1"])
+      s.add_dependency(%q<googleauth>.freeze, ["~> 0.5.1"])
+      s.add_dependency(%q<bundler>.freeze, ["~> 1.9"])
+      s.add_dependency(%q<facter>.freeze, ["~> 2.4"])
+      s.add_dependency(%q<logging>.freeze, ["~> 2.0"])
+      s.add_dependency(%q<simplecov>.freeze, ["~> 0.9"])
+      s.add_dependency(%q<rake>.freeze, ["~> 10.4"])
+      s.add_dependency(%q<rake-compiler>.freeze, ["~> 1.0"])
+      s.add_dependency(%q<rake-compiler-dock>.freeze, ["~> 0.5.1"])
+      s.add_dependency(%q<rspec>.freeze, ["~> 3.2"])
+      s.add_dependency(%q<rubocop>.freeze, ["~> 0.30.0"])
+      s.add_dependency(%q<signet>.freeze, ["~> 0.7.0"])
+    end
+  else
+    s.add_dependency(%q<google-protobuf>.freeze, ["~> 3.1"])
+    s.add_dependency(%q<googleauth>.freeze, ["~> 0.5.1"])
+    s.add_dependency(%q<bundler>.freeze, ["~> 1.9"])
+    s.add_dependency(%q<facter>.freeze, ["~> 2.4"])
+    s.add_dependency(%q<logging>.freeze, ["~> 2.0"])
+    s.add_dependency(%q<simplecov>.freeze, ["~> 0.9"])
+    s.add_dependency(%q<rake>.freeze, ["~> 10.4"])
+    s.add_dependency(%q<rake-compiler>.freeze, ["~> 1.0"])
+    s.add_dependency(%q<rake-compiler-dock>.freeze, ["~> 0.5.1"])
+    s.add_dependency(%q<rspec>.freeze, ["~> 3.2"])
+    s.add_dependency(%q<rubocop>.freeze, ["~> 0.30.0"])
+    s.add_dependency(%q<signet>.freeze, ["~> 0.7.0"])
+  end
+end
+

Property changes on: net/rubygem-grpc/files/grpc.gemspec
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb	(nonexisten=
t)
+++ net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb	(working co=
py)
@@ -0,0 +1,41 @@
+--- src/ruby/ext/grpc/extconf.rb.orig	2017-06-28 17:25:39 UTC
++++ src/ruby/ext/grpc/extconf.rb
+@@ -70,9 +70,9 @@ ENV['LD'] =3D ENV['CC']
+=20
+ ENV['AR'] =3D 'libtool -o' if RUBY_PLATFORM =3D~ /darwin/
+=20
+-ENV['EMBED_OPENSSL'] =3D 'true'
+-ENV['EMBED_ZLIB'] =3D 'true'
+-ENV['EMBED_CARES'] =3D 'true'
++ENV['EMBED_OPENSSL'] =3D 'false'
++ENV['EMBED_ZLIB'] =3D 'false'
++ENV['EMBED_CARES'] =3D 'false'
+ ENV['ARCH_FLAGS'] =3D RbConfig::CONFIG['ARCH_FLAG']
+ ENV['ARCH_FLAGS'] =3D '-arch i386 -arch x86_64' if RUBY_PLATFORM =3D~ /=
darwin/
+ ENV['CFLAGS'] =3D '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
+@@ -81,16 +81,16 @@ output_dir =3D File.expand_path(RbConfig::CONFIG['to=
pdir
+ grpc_lib_dir =3D File.join(output_dir, 'libs', grpc_config)
+ ENV['BUILDDIR'] =3D output_dir
+=20
+-unless windows
+-  puts 'Building internal gRPC into ' + grpc_lib_dir
+-  nproc =3D 4
+-  nproc =3D Etc.nprocessors * 2 if Etc.respond_to? :nprocessors
+-  system("make -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CON=
FIG=3D#{grpc_config} Q=3D")
+-  exit 1 unless $? =3D=3D 0
+-end
++#unless windows
++#  puts 'Building internal gRPC into ' + grpc_lib_dir
++#  puts("gmake -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=3D#{grp=
c_config} Q=3D")
++#  system("gmake -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=3D#{g=
rpc_config} Q=3D")
++#  exit 1 unless $? =3D=3D 0
++#end
+=20
+-$CFLAGS << ' -I' + File.join(grpc_root, 'include')
+-$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
++#$CFLAGS << ' -I' + File.join(grpc_root, 'include')
++#$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
++$LDFLAGS << ' -lgrpc' unless windows
+ if grpc_config =3D=3D 'gcov'
+   $CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
+   $LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'

Property changes on: net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extco=
nf.rb
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb	(nonexistent)
+++ net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb	(working copy)
@@ -0,0 +1,11 @@
+--- src/ruby/lib/grpc.rb.orig	2017-06-28 17:25:39 UTC
++++ src/ruby/lib/grpc.rb
+@@ -27,7 +27,7 @@
+ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE=

+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+=20
+-ssl_roots_path =3D File.expand_path('../../../../etc/roots.pem', __FILE=
__)
++ssl_roots_path =3D '/usr/local/etc/ssl/cert.pem'
+=20
+ require_relative 'grpc/errors'
+ require_relative 'grpc/grpc'

Property changes on: net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net/rubygem-grpc/pkg-descr
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- net/rubygem-grpc/pkg-descr	(nonexistent)
+++ net/rubygem-grpc/pkg-descr	(working copy)
@@ -0,0 +1,3 @@
+A Ruby implementation of gRPC.
+
+WWW: https://github.com/grpc/grpc/tree/master/src/ruby

Property changes on: net/rubygem-grpc/pkg-descr
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: devel/grpc/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/grpc/Makefile	(revision 444576)
+++ devel/grpc/Makefile	(working copy)
@@ -3,6 +3,7 @@
=20
 PORTNAME=3D	grpc
 PORTVERSION=3D	1.4.0
+PORTREVISION=3D	1
 DISTVERSIONPREFIX=3D	v
 CATEGORIES=3D	devel
=20
@@ -12,17 +13,20 @@
 LICENSE=3D	BSD3CLAUSE
 LICENSE_FILE=3D	${WRKSRC}/LICENSE
=20
-BUILD_DEPENDS=3D	go:lang/go
+BUILD_DEPENDS=3D	go:lang/go \
+		boringssl>=3D0:security/boringssl
+RUN_DEPENDS=3D	boringssl>=3D0:security/boringssl
 LIB_DEPENDS=3D	libgflags.so:devel/gflags \
 		libprotobuf.so:devel/protobuf \
 		libcares.so:dns/c-ares
=20
+LDFLAGS+=3D	-Wl,-rpath,${PREFIX}/lib
+
 USE_GITHUB=3D	yes
 GH_TUPLE=3D	grpc:grpc:v${PORTVERSION} \
-		boringssl:boringssl:ebcb5be:boringssl/third_party/boringssl \
 		google:benchmark:v1.1.0:benchmark/third_party/benchmark
=20
-USES=3D		cmake perl5 pkgconfig
+USES=3D		cmake localbase perl5 pkgconfig
 USE_LDCONFIG=3D	yes
 USE_PERL5=3D	build
 PLIST_SUB+=3D	SOVERSION=3D${PORTVERSION}
@@ -31,7 +35,7 @@
 CMAKE_ARGS=3D	-DgRPC_ZLIB_PROVIDER:STRING=3D"package" \
 		-DgRPC_PROTOBUF_PROVIDER:STRING=3D"package" \
 		-DgRPC_GFLAGS_PROVIDER:STRING=3D"package" \
-		-DgRPC_SSL_PROVIDER:STRING=3D"module" \
+		-DgRPC_SSL_PROVIDER:STRING=3D"package" \
 		-DgRPC_CARES_PROVIDER:STRING=3D"package" \
 		-DgRPC_BENCHMARK_PROVIDER:STRING=3D"module" \
 		-DBENCHMARK_USE_LIBCXX=3DON \
Index: devel/grpc/files/patch-third__party_boringssl_crypto_CMakeLists.tx=
t
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- devel/grpc/files/patch-third__party_boringssl_crypto_CMakeLists.txt	(=
revision 444576)
+++ devel/grpc/files/patch-third__party_boringssl_crypto_CMakeLists.txt	(=
nonexistent)
@@ -1,32 +0,0 @@
---- third_party/boringssl/crypto/CMakeLists.txt.orig	2017-03-30 20:04:23=
 UTC
-+++ third_party/boringssl/crypto/CMakeLists.txt
-@@ -195,29 +195,3 @@ add_executable(
-=20
- target_link_libraries(refcount_test crypto)
- add_dependencies(all_tests refcount_test)
--
--# TODO(davidben): Convert the remaining tests to GTest.
--add_executable(
--  crypto_test
--
--  asn1/asn1_test.cc
--  bio/bio_test.cc
--  chacha/chacha_test.cc
--  constant_time_test.cc
--  curve25519/x25519_test.cc
--  dh/dh_test.cc
--  dsa/dsa_test.cc
--  ec/ec_test.cc
--  err/err_test.cc
--  evp/evp_extra_test.cc
--  rsa/rsa_test.cc
--
--  $<TARGET_OBJECTS:gtest_main>
--  $<TARGET_OBJECTS:test_support>
--)
--
--target_link_libraries(crypto_test crypto gtest)
--if (WIN32)
--  target_link_libraries(crypto_test ws2_32)
--endif()
--add_dependencies(all_tests crypto_test)

Property changes on: devel/grpc/files/patch-third__party_boringssl_crypto=
_CMakeLists.txt
___________________________________________________________________
Deleted: fbsd:nokeywords
## -1 +0,0 ##
-yes
\ No newline at end of property
Deleted: svn:eol-style
## -1 +0,0 ##
-native
\ No newline at end of property
Deleted: svn:mime-type
## -1 +0,0 ##
-text/plain
\ No newline at end of property

--------------47AB0E0D35D27A2A28CA2569--

--49ouOcUIcvfmF6CItvkXH1Sb1m8kEdlt6--

--uUPRlLbNumgJnJAGMjXxJFME64n76rcGH
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQGjBAEBCgCNFiEEmPpBSlwqDvnP0K0N9c9isyB7G6EFAllVJq9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk4
RkE0MTRBNUMyQTBFRjlDRkQwQUQwREY1Q0Y2MkIzMjA3QjFCQTEPHHN0ZXZlQG1v
dWYubmV0AAoJEPXPYrMgexuhbekH/igJELIK1VjTEiQSIXubIkN4nzDkUfmokCyI
CjEwnFkVs5bsU0rexpx/yb/MPs/KgfrWgrrt5mryBwkOYsBDtHhkMDCI4PEjxJv5
xJjQvQMIkRLy73TS29G1rgLu08kEACRnHtblcu5ZpOt911XBZPwQiyC9w6kxNmw0
/RrdSasIwrch6N/Y45D2Iwu4brrtE2Flu81FmJgSRAqNpfO/mhiP68QTvIB/WPfs
cVbL5y4B5Br1lavCxwDDDpyIyPUyuzdFiT3ove3wrvs209KDsavcrolkPfEaLj+4
YE5mHytwXmosW842QVXpc0oJoAEwoHQQNosPX0MmizQeZ9jAabM=
=H8Tx
-----END PGP SIGNATURE-----

--uUPRlLbNumgJnJAGMjXxJFME64n76rcGH--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?412f42ff-e5e7-03e8-fcbd-10d86d0c072c>