aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Zuehlsdorff <tz@FreeBSD.org>2017-07-07 08:12:22 +0000
committerTorsten Zuehlsdorff <tz@FreeBSD.org>2017-07-07 08:12:22 +0000
commitdf43c72e5c278974bc934414a7a7e3330db4dcbc (patch)
tree4b093b2108eb0bb501a17b23c20743def2fc38be
parent453ff1978be2a0cd6f74a32e2d63d0bf4dd615b2 (diff)
downloadports-df43c72e5c278974bc934414a7a7e3330db4dcbc.tar.gz
ports-df43c72e5c278974bc934414a7a7e3330db4dcbc.zip
MFH: r445147
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> Approved by: ports-secteam (junovitch)
Notes
Notes: svn path=/branches/2017Q3/; revision=445215
-rw-r--r--net/Makefile1
-rw-r--r--net/rubygem-grpc/Makefile29
-rw-r--r--net/rubygem-grpc/distinfo3
-rw-r--r--net/rubygem-grpc/files/grpc.gemspec69
-rw-r--r--net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb41
-rw-r--r--net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb11
-rw-r--r--net/rubygem-grpc/pkg-descr3
7 files changed, 157 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile
index bb6df5f9d06d..6a5620e14222 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -1188,6 +1188,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
diff --git a/net/rubygem-grpc/Makefile b/net/rubygem-grpc/Makefile
new file mode 100644
index 000000000000..95b55544f500
--- /dev/null
+++ b/net/rubygem-grpc/Makefile
@@ -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>
diff --git a/net/rubygem-grpc/distinfo b/net/rubygem-grpc/distinfo
new file mode 100644
index 000000000000..59df70da9c7d
--- /dev/null
+++ b/net/rubygem-grpc/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1498614608
+SHA256 (rubygem/grpc-1.4.0.gem) = 927d8d3b486d8fa597cab6932b77a7a2b932e66d240d2182599ae2bac82e38ea
+SIZE (rubygem/grpc-1.4.0.gem) = 2736128
diff --git a/net/rubygem-grpc/files/grpc.gemspec b/net/rubygem-grpc/files/grpc.gemspec
new file mode 100644
index 000000000000..2360b64b23fd
--- /dev/null
+++ b/net/rubygem-grpc/files/grpc.gemspec
@@ -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/generic/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/test/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/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]
+ 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
+
diff --git a/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb b/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb
new file mode 100644
index 000000000000..1c897d8fad81
--- /dev/null
+++ b/net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb
@@ -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'
diff --git a/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb b/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb
new file mode 100644
index 000000000000..e9afe592efd6
--- /dev/null
+++ b/net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb
@@ -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'
diff --git a/net/rubygem-grpc/pkg-descr b/net/rubygem-grpc/pkg-descr
new file mode 100644
index 000000000000..a0a2df00d53f
--- /dev/null
+++ b/net/rubygem-grpc/pkg-descr
@@ -0,0 +1,3 @@
+A Ruby implementation of gRPC.
+
+WWW: https://github.com/grpc/grpc/tree/master/src/ruby