Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Jul 2017 13:47:14 +0000 (UTC)
From:      Torsten Zuehlsdorff <tz@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r445147 - in head/net: . rubygem-grpc rubygem-grpc/files
Message-ID:  <201707061347.v66DlEXK021579@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tz
Date: Thu Jul  6 13:47:14 2017
New Revision: 445147
URL: https://svnweb.freebsd.org/changeset/ports/445147

Log:
  New port: net/rubygem-grpc
  
  A Ruby implementation of gRPC.
  
  WWW: https://github.com/grpc/grpc/tree/master/src/ruby
  
  Special thanks to swill and vanilla for creating this port!
  
  Reviewed by: tz, Matthias Fechner <idefix@fechner.net>

Added:
  head/net/rubygem-grpc/
  head/net/rubygem-grpc/Makefile   (contents, props changed)
  head/net/rubygem-grpc/distinfo   (contents, props changed)
  head/net/rubygem-grpc/files/
  head/net/rubygem-grpc/files/grpc.gemspec   (contents, props changed)
  head/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb   (contents, props changed)
  head/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb   (contents, props changed)
  head/net/rubygem-grpc/pkg-descr   (contents, props changed)
Modified:
  head/net/Makefile

Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile	Thu Jul  6 13:03:07 2017	(r445146)
+++ head/net/Makefile	Thu Jul  6 13:47:14 2017	(r445147)
@@ -1186,6 +1186,7 @@
     SUBDIR += rubygem-gitaly
     SUBDIR += rubygem-gitlab_omniauth-ldap
     SUBDIR += rubygem-gitlab_omniauth-ldap1
+    SUBDIR += rubygem-grpc
     SUBDIR += rubygem-http_parser.rb
     SUBDIR += rubygem-httpauth
     SUBDIR += rubygem-ipaddress

Added: head/net/rubygem-grpc/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/Makefile	Thu Jul  6 13:47:14 2017	(r445147)
@@ -0,0 +1,29 @@
+# $FreeBSD$
+
+PORTNAME=	grpc
+PORTVERSION=	1.4.0
+CATEGORIES=	net rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	tz@FreeBSD.org
+COMMENT=	Ruby implementation of gRPC
+
+LICENSE=	BSD3CLAUSE
+
+RUN_DEPENDS=	ca_root_nss>=0:security/ca_root_nss \
+		grpc>=0:devel/grpc \
+		rubygem-google-protobuf>=3.0:devel/rubygem-google-protobuf \
+		rubygem-googleauth>=0.5.1:security/rubygem-googleauth
+LIB_DEPENDS=	libcares.so:dns/c-ares
+
+MAKE_JOBS_UNSAFE=yes
+
+USE_RUBY=	yes
+USES=		gem gmake pkgconfig
+
+post-extract:
+	@${RM} -r ${WRKSRC}/include ${WRKSRC}/third_party ${WRKSRC}/src/boringssl \
+		${WRKSRC}/src/core ${WRKSRC}/Makefile ${WRKSRC}/.yardopts ${WRKSRC}/etc
+	@${CP} ${FILESDIR}/grpc.gemspec ${WRKSRC}
+
+.include <bsd.port.mk>

Added: head/net/rubygem-grpc/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/distinfo	Thu Jul  6 13:47:14 2017	(r445147)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1498614608
+SHA256 (rubygem/grpc-1.4.0.gem) = 927d8d3b486d8fa597cab6932b77a7a2b932e66d240d2182599ae2bac82e38ea
+SIZE (rubygem/grpc-1.4.0.gem) = 2736128

Added: head/net/rubygem-grpc/files/grpc.gemspec
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/files/grpc.gemspec	Thu Jul  6 13:47:14 2017	(r445147)
@@ -0,0 +1,69 @@
+# -*- encoding: utf-8 -*-
+# stub: grpc 1.4.0 ruby src/ruby/lib# stub: src/ruby/ext/grpc/extconf.rb
+
+Gem::Specification.new do |s|
+  s.name = "grpc".freeze
+  s.version = "1.4.0"
+
+  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
+  s.require_paths = ["src/ruby/lib".freeze, "src/ruby/bin".freeze, "src/ruby/pb".freeze]
+  s.authors = ["gRPC Authors".freeze]
+  s.bindir = "src/ruby/bin".freeze
+  s.date = "2017-06-21"
+  s.description = "Send RPCs from Ruby using GRPC".freeze
+  s.email = "temiola@google.com".freeze
+  s.extensions = ["src/ruby/ext/grpc/extconf.rb".freeze]
+  s.files = ["src/ruby/bin/apis/google/protobuf/empty.rb".freeze, "src/ruby/bin/apis/pubsub_demo.rb".freeze, "src/ruby/bin/apis/tech/pubsub/proto/pubsub.rb".freeze, "src/ruby/bin/apis/tech/pubsub/proto/pubsub_services.rb".freeze, "src/ruby/bin/math_client.rb".freeze, "src/ruby/bin/math_pb.rb".freeze, "src/ruby/bin/math_server.rb".freeze, "src/ruby/bin/math_services_pb.rb".freeze, "src/ruby/bin/noproto_client.rb".freeze, "src/ruby/bin/noproto_server.rb".freeze, "src/ruby/ext/grpc/extconf.rb".freeze, "src/ruby/ext/grpc/rb_byte_buffer.c".freeze, "src/ruby/ext/grpc/rb_byte_buffer.h".freeze, "src/ruby/ext/grpc/rb_call.c".freeze, "src/ruby/ext/grpc/rb_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_channel.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/rb_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/ruby/ext/grpc/rb_event_thread.h".freeze, "src/ruby/ext/grpc/rb_grpc.c".freeze, "src/ruby/ext/grpc/rb_grpc.h".freeze, "src/ruby/ext/grpc/rb_grpc_imports.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_loader.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.rb".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/ge!
 neric/client_stub.rb".freeze, "src/ruby/lib/grpc/generic/rpc_desc.rb".freeze, "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, "src/ruby/pb/generate_proto_ruby.sh".freeze, "src/ruby/pb/grpc/health/checker.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/testing/duplicate/echo_duplicate_services_pb.rb".freeze, "src/ruby/pb/grpc/testing/metrics_pb.rb".freeze, "src/ruby/pb/grpc/testing/metrics_services_pb.rb".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/src/proto/grpc/testing/test_pb.rb".freeze, "src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb".freeze, "src/ruby/pb/te
 st/client.rb".freeze, "src/ruby/pb/test/server.rb".freeze, "src/ruby/spec/call_credentials_spec.rb".freeze, "src/ruby/spec/call_spec.rb".freeze, "src/ruby/spec/channel_connection_spec.rb".freeze, "src/ruby/spec/channel_credentials_spec.rb".freeze, "src/ruby/spec/channel_spec.rb".freeze, "src/ruby/spec/client_server_spec.rb".freeze, "src/ruby/spec/compression_options_spec.rb".freeze, "src/ruby/spec/error_sanity_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_desc_spec.rb".freeze, "src/ruby/spec/generic/rpc_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_spec.rb".freeze, "src/ruby/spec/server_credentials_spec.rb".freeze, "src/ruby/spec/server_spec.rb".freeze, "src/ruby/spec/spec_helper.rb".freeze, "src/ruby/spec/testdata/RE
 ADME".freeze, "src/ruby/spec/testdata/ca.pem!
 ".freeze,!
  "src/ruby/spec/testdata/server1.key".freeze, "src/ruby/spec/testdata/server1.pem".freeze, "src/ruby/spec/time_consts_spec.rb".freeze]
+  s.homepage = "https://github.com/google/grpc/tree/master/src/ruby".freeze
+  s.licenses = ["BSD-3-Clause".freeze]
+  s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze)
+  s.rubygems_version = "2.6.12".freeze
+  s.summary = "GRPC system in Ruby".freeze
+  s.test_files = ["src/ruby/spec/server_spec.rb".freeze, "src/ruby/spec/channel_spec.rb".freeze, "src/ruby/spec/testdata/README".freeze, "src/ruby/spec/testdata/ca.pem".freeze, "src/ruby/spec/testdata/server1.key".freeze, "src/ruby/spec/testdata/server1.pem".freeze, "src/ruby/spec/time_consts_spec.rb".freeze, "src/ruby/spec/channel_connection_spec.rb".freeze, "src/ruby/spec/call_spec.rb".freeze, "src/ruby/spec/generic/rpc_server_spec.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".freeze, "src/ruby/spec/generic/service_spec.rb".freeze, "src/ruby/spec/pb/duplicate/codegen_spec.rb".freeze, "src/ruby/spec/pb/health/checker_spec.rb".freeze, "src/ruby/spec/client_server_spec.rb".freeze, "src/ruby/spec/compression_options_spec.rb".freeze, "src/ruby/spec/server_credentials_spec.rb".freeze, "src/ruby/spec/spec_helper.rb".freeze,
  "src/ruby/spec/error_sanity_spec.rb".freeze, "src/ruby/spec/channel_credentials_spec.rb".freeze, "src/ruby/spec/call_credentials_spec.rb".freeze]
+
+  if s.respond_to? :specification_version then
+    s.specification_version = 4
+
+    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
+      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.5.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
+

Added: head/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb	Thu Jul  6 13:47:14 2017	(r445147)
@@ -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'] = ENV['CC']
+ 
+ ENV['AR'] = 'libtool -o' if RUBY_PLATFORM =~ /darwin/
+ 
+-ENV['EMBED_OPENSSL'] = 'true'
+-ENV['EMBED_ZLIB'] = 'true'
+-ENV['EMBED_CARES'] = 'true'
++ENV['EMBED_OPENSSL'] = 'false'
++ENV['EMBED_ZLIB'] = 'false'
++ENV['EMBED_CARES'] = 'false'
+ ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG']
+ ENV['ARCH_FLAGS'] = '-arch i386 -arch x86_64' if RUBY_PLATFORM =~ /darwin/
+ ENV['CFLAGS'] = '-DGPR_BACKWARDS_COMPATIBILITY_MODE'
+@@ -81,16 +81,16 @@ output_dir = File.expand_path(RbConfig::CONFIG['topdir
+ grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
+ ENV['BUILDDIR'] = output_dir
+ 
+-unless windows
+-  puts 'Building internal gRPC into ' + grpc_lib_dir
+-  nproc = 4
+-  nproc = Etc.nprocessors * 2 if Etc.respond_to? :nprocessors
+-  system("make -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=")
+-  exit 1 unless $? == 0
+-end
++#unless windows
++#  puts 'Building internal gRPC into ' + grpc_lib_dir
++#  puts("gmake -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=")
++#  system("gmake -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=")
++#  exit 1 unless $? == 0
++#end
+ 
+-$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 == 'gcov'
+   $CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
+   $LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'

Added: head/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb	Thu Jul  6 13:47:14 2017	(r445147)
@@ -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.
+ 
+-ssl_roots_path = File.expand_path('../../../../etc/roots.pem', __FILE__)
++ssl_roots_path = '/usr/local/etc/ssl/cert.pem'
+ 
+ require_relative 'grpc/errors'
+ require_relative 'grpc/grpc'

Added: head/net/rubygem-grpc/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/rubygem-grpc/pkg-descr	Thu Jul  6 13:47:14 2017	(r445147)
@@ -0,0 +1,3 @@
+A Ruby implementation of gRPC.
+
+WWW: https://github.com/grpc/grpc/tree/master/src/ruby



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707061347.v66DlEXK021579>