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', '< 3.0'])
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 5.1+ to relax the Rack dependency.
29 s.add_dependency(%q<unicorn>, ["~> 5.1"])
31 s.add_development_dependency(%q<isolate>, "~> 3.1")
32 s.add_development_dependency(%q<olddoc>, "~> 1.2")
34 # optional runtime dependencies depending on configuration
35 # see t/test_isolate.rb for the exact versions we've tested with
37 # Revactor >= 0.1.5 includes UNIX domain socket support
38 # s.add_dependency(%q<revactor>, [">= 0.1.5"])
40 # Revactor depends on Rev, too, 0.3.0 got the ability to attach IOs
41 # s.add_dependency(%q<rev>, [">= 0.3.2"])
43 # Cool.io is the new Rev, but it doesn't work with Revactor
44 # s.add_dependency(%q<cool.io>, [">= 1.0"])
46 # Rev depends on IOBuffer, which got faster in 0.1.3
47 # s.add_dependency(%q<iobuffer>, [">= 0.1.3"])
49 # We use the new EM::attach/watch API in 0.12.10
50 # s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
52 # NeverBlock, currently only available on http://gems.github.com/
53 # s.add_dependency(%q<espace-neverblock>, ["~> 0.1.6.1"])
55 # Note: To avoid ambiguity, we intentionally avoid the SPDX-compatible
56 # 'Ruby' here since Ruby 1.9.3 switched to BSD-2-Clause license while
57 # we already inherited our license from Mongrel during Ruby 1.8.
58 # We cannot automatically switch licenses when Ruby changes their license,
59 # so we remain optionally-licensed under the terms of Ruby 1.8 despite
60 # not having a good way to specify this in an SPDX-compatible way...
61 s.licenses = ['GPL-2.0+', 'Nonstandard'] # Nonstandard = 'Ruby 1.8'