1 # -*- encoding: binary -*-
2 ENV["VERSION"] or abort "VERSION= must be specified"
3 manifest = File.readlines('.manifest').map! { |x| x.chomp! }
6 name, summary, title = readme_metadata
8 Gem::Specification.new do |s|
10 s.version = ENV["VERSION"].dup
12 s.authors = ["#{name} hackers"]
13 s.description = readme_description
14 s.email = %q{rainbows-public@bogomips.org}
15 s.executables = %w(rainbows)
16 s.extra_rdoc_files = extra_rdoc_files(manifest)
18 s.homepage = Olddoc.config['rdoc_url']
21 # we want a newer Rack for a valid HeaderHash#each
22 s.add_dependency(%q<rack>, ['~> 1.1'])
24 # kgio 2.5 has kgio_wait_* methods that take optional timeout args
25 s.add_dependency(%q<kgio>, ['~> 2.5'])
27 # we need unicorn for the HTTP parser and process management
28 # we need unicorn 4.8.0+ since we depend on undocumented/unsupported
30 s.add_dependency(%q<unicorn>, ["~> 5.0"])
32 s.add_development_dependency(%q<isolate>, "~> 3.1")
33 s.add_development_dependency(%q<olddoc>, "~> 1.0")
35 # optional runtime dependencies depending on configuration
36 # see t/test_isolate.rb for the exact versions we've tested with
38 # Revactor >= 0.1.5 includes UNIX domain socket support
39 # s.add_dependency(%q<revactor>, [">= 0.1.5"])
41 # Revactor depends on Rev, too, 0.3.0 got the ability to attach IOs
42 # s.add_dependency(%q<rev>, [">= 0.3.2"])
44 # Cool.io is the new Rev, but it doesn't work with Revactor
45 # s.add_dependency(%q<cool.io>, [">= 1.0"])
47 # Rev depends on IOBuffer, which got faster in 0.1.3
48 # s.add_dependency(%q<iobuffer>, [">= 0.1.3"])
50 # We use the new EM::attach/watch API in 0.12.10
51 # s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
53 # NeverBlock, currently only available on http://gems.github.com/
54 # s.add_dependency(%q<espace-neverblock>, ["~> 0.1.6.1"])
56 # Note: To avoid ambiguity, we intentionally avoid the SPDX-compatible
57 # 'Ruby' here since Ruby 1.9.3 switched to BSD-2-Clause license while
58 # we already inherited our license from Mongrel during Ruby 1.8.
59 # We cannot automatically switch licenses when Ruby changes their license,
60 # so we remain optionally-licensed under the terms of Ruby 1.8 despite
61 # not having a good way to specify this in an SPDX-compatible way...
62 s.licenses = ['GPL-2.0+', 'Nonstandard'] # Nonstandard = 'Ruby 1.8'