diff options
author | Torsten Zuehlsdorff <tz@FreeBSD.org> | 2017-07-07 08:12:22 +0000 |
---|---|---|
committer | Torsten Zuehlsdorff <tz@FreeBSD.org> | 2017-07-07 08:12:22 +0000 |
commit | df43c72e5c278974bc934414a7a7e3330db4dcbc (patch) | |
tree | 4b093b2108eb0bb501a17b23c20743def2fc38be | |
parent | 453ff1978be2a0cd6f74a32e2d63d0bf4dd615b2 (diff) | |
download | ports-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/Makefile | 1 | ||||
-rw-r--r-- | net/rubygem-grpc/Makefile | 29 | ||||
-rw-r--r-- | net/rubygem-grpc/distinfo | 3 | ||||
-rw-r--r-- | net/rubygem-grpc/files/grpc.gemspec | 69 | ||||
-rw-r--r-- | net/rubygem-grpc/files/patch-src_ruby_ext_grpc_extconf.rb | 41 | ||||
-rw-r--r-- | net/rubygem-grpc/files/patch-src_ruby_lib_grpc.rb | 11 | ||||
-rw-r--r-- | net/rubygem-grpc/pkg-descr | 3 |
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 |