mirror of
https://github.com/zap-proto/ruby.git
synced 2026-10-30 15:04:01 +00:00
Adds .github/workflows/ci.yml: ubuntu-latest, ruby/setup-ruby@v1 on Ruby 3.3, installs the linked C++ runtime (libcapnp, the upstream serialization dep — not a ZAP brand surface), then `rake compile` + `rake spec`. Build/test fixes required to get green: - ext/zap/extconf.rb: on macOS, pin the active SDK via `xcrun --show-sdk-path`. Homebrew/rbenv Rubies carry no sysroot in RbConfig and mkmf omits -isysroot, so clang could not find <stdio.h>/<iostream> and every probe + the real build failed. No-op on Linux/CI and when a sysroot is already set. - zap.gemspec / Rakefile: rspec ~> 2.14 cannot load on modern Ruby/Rake (RakeTask hits the removed Rake#last_comment); bump to rspec ~> 3.13. Bump rake-compiler ~> 0.9 -> ~> 1.2 to match. The native extension links upstream libcapnp; capnp:: C++ calls and capnp/kj includes are that library's real API and are intentionally retained. No ZAP-facing identifier references capnp. Local (Ruby 3.3.11, libcapnp 1.4.0): `bundle exec rake compile` + `rake spec` green — 5 examples, 0 failures.
37 lines
1.0 KiB
Ruby
37 lines
1.0 KiB
Ruby
require File.expand_path('../lib/zap/version', __FILE__)
|
|
|
|
Gem::Specification.new do |s|
|
|
s.name = 'zap'
|
|
s.license = 'MIT'
|
|
|
|
s.version = Zap::VERSION
|
|
|
|
s.required_ruby_version = '>= 2.0.0'
|
|
|
|
s.summary = "ZAP serialization bindings for Ruby."
|
|
|
|
s.description =
|
|
"Ruby bindings for ZAP: an insanely fast binary data interchange " \
|
|
"format and capability-based RPC system. Think JSON, except binary. " \
|
|
"Or think Protocol Buffers, except faster. " \
|
|
"The native extension links the ZAP C++ runtime (currently the " \
|
|
"upstream libcapnp build; see README)."
|
|
|
|
s.homepage = 'https://zap-proto.io'
|
|
|
|
s.authors = ['ZAP Protocol']
|
|
s.email = ['[email protected]']
|
|
|
|
s.add_development_dependency 'rspec', '~> 3.13'
|
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
s.add_development_dependency 'rake-compiler', '~> 1.2'
|
|
|
|
s.add_development_dependency 'awesome_print'
|
|
s.add_development_dependency 'interactive_editor'
|
|
|
|
s.extensions = ['ext/zap/extconf.rb']
|
|
s.require_paths = ['lib']
|
|
|
|
s.files = `git ls-files`.split("\n")
|
|
end
|