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 # don't bother with tests that fork, not worth our time to get working
9 # with `gem check -t` ... (of course we care for them when testing with
10 # GNU make when they can run in parallel)
11 test_files = manifest.grep(%r{\Atest/unit/test_.*\.rb\z}).map do |f|
12 File.readlines(f).grep(/\bfork\b/).empty? ? f : nil
15 Gem::Specification.new do |s|
17 s.version = ENV["VERSION"].dup
18 s.authors = ["#{name} hackers"]
20 s.description = readme_description
21 s.email = %q{unicorn-public@bogomips.org}
22 s.executables = %w(unicorn unicorn_rails)
23 s.extensions = %w(ext/unicorn_http/extconf.rb)
24 s.extra_rdoc_files = extra_rdoc_files(manifest)
26 s.homepage = Olddoc.config['rdoc_url']
27 s.test_files = test_files
29 # technically we need ">= 1.9.3", too, but avoid the array here since
30 # old rubygems versions (1.8.23.2 at least) do not support multiple
31 # version requirements here.
32 s.required_ruby_version = '< 3.0'
34 # We do not have a hard dependency on rack, it's possible to load
35 # things which respond to #call. HTTP status lines in responses
36 # won't have descriptive text, only the numeric status.
37 s.add_development_dependency(%q<rack>)
39 s.add_dependency(%q<kgio>, '~> 2.6')
40 s.add_dependency(%q<raindrops>, '~> 0.7')
42 s.add_development_dependency('test-unit', '~> 3.0')
43 s.add_development_dependency('olddoc', '~> 1.2')
45 # Note: To avoid ambiguity, we intentionally avoid the SPDX-compatible
46 # 'Ruby' here since Ruby 1.9.3 switched to BSD-2-Clause, but we
47 # inherited our license from Mongrel when Ruby was at 1.8.
48 # We cannot automatically switch licenses when Ruby changes.
49 s.licenses = ['GPL-2.0+', 'Ruby-1.8']