summaryrefslogtreecommitdiffstats
path: root/rubygem-unicorn.spec
diff options
context:
space:
mode:
authorKen Dreyer <ktdreyer@ktdreyer.com>2013-02-21 16:39:06 -0700
committerKen Dreyer <ktdreyer@ktdreyer.com>2013-02-21 17:15:23 -0700
commit6478728b6fa73688f14785935dee16cf8d0ceab7 (patch)
treef3e974b8f37c16fde0f8171cb2a5d3daf2aeca4a /rubygem-unicorn.spec
downloadrubygem-unicorn-ken-old.tar.gz
rubygem-unicorn-ken-old.tar.xz
rubygem-unicorn-ken-old.zip
Initial package, created with gem2rpm 0.8.1ken-old
Diffstat (limited to 'rubygem-unicorn.spec')
-rw-r--r--rubygem-unicorn.spec197
1 files changed, 197 insertions, 0 deletions
diff --git a/rubygem-unicorn.spec b/rubygem-unicorn.spec
new file mode 100644
index 0000000..4755499
--- /dev/null
+++ b/rubygem-unicorn.spec
@@ -0,0 +1,197 @@
+# Generated from unicorn-4.3.1.gem by gem2rpm -*- rpm-spec -*-
+%global gem_name unicorn
+%if 0%{?el6}
+%global rubyabi 1.8
+%else
+%global rubyabi 1.9.1
+%endif
+
+Summary: Rack HTTP server for fast clients and Unix
+Name: rubygem-%{gem_name}
+Version: 4.3.1
+Release: 1%{?dist}
+Group: Development/Languages
+License: GPLv2 or GPLv3 or Ruby
+URL: http://unicorn.bogomips.org/
+Source0: %{gem_name}-%{version}.gem
+Patch0: unicorn-4.5.0-teeinput-namespace-conflict.patch
+Requires: ruby(abi) = %{rubyabi}
+Requires: ruby(rubygems)
+Requires: rubygem(rack)
+Requires: rubygem(kgio) => 2.6
+Requires: rubygem(kgio) < 3
+Requires: rubygem(raindrops) => 0.7
+Requires: rubygem(raindrops) < 1
+BuildRequires: ruby(abi) = %{rubyabi}
+%if 0%{?el6}
+BuildRequires: ruby(rubygems)
+%else
+BuildRequires: rubygems-devel
+%endif
+BuildRequires: ruby-devel
+BuildRequires: rubygem(rack)
+BuildRequires: rubygem(kgio) => 2.6
+BuildRequires: rubygem(kgio) < 3
+BuildRequires: rubygem(raindrops) => 0.7
+BuildRequires: rubygem(raindrops) < 1
+BuildRequires: rubygem(minitest)
+BuildRequires: rubygem(rails)
+Provides: rubygem(%{gem_name}) = %{version}
+
+# macros for RHEL6 compatibility:
+%{!?gem_dir: %global gem_dir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)}
+%{!?gem_instdir: %global gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}}
+%{!?gem_libdir: %global gem_libdir %{gem_instdir}/lib}
+%{!?gem_cache: %global gem_cache %{gem_dir}/cache/%{gem_name}-%{version}.gem}
+%{!?gem_spec: %global gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}.gemspec}
+%{!?gem_docdir: %global gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}}
+%{!?gem_extdir: %global gem_extdir %{_libdir}/gems/exts/%{gem_name}-%{version}}
+%{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')}
+
+%description
+Unicorn is an HTTP server for Rack applications designed to only serve
+fast clients on low-latency, high-bandwidth connections and take
+advantage of features in Unix/Unix-like kernels. Slow clients should
+only be served by placing a reverse proxy capable of fully buffering
+both the the request and response in between Unicorn and slow clients.
+
+
+%package doc
+Summary: Documentation for %{name}
+Group: Documentation
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{name}
+
+%prep
+%setup -q -c -T
+mkdir -p .%{gem_dir}
+export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
+gem install --local --install-dir .%{gem_dir} \
+ --bindir .%{_bindir} \
+ -V \
+ --force %{SOURCE0}
+
+pushd .%{gem_instdir}
+%patch0 -p1
+popd
+
+# Fix wrong shebang
+sed -i -e '/^#!\//, 1d' .%{gem_instdir}/bin/unicorn
+sed -i -e '/^#!\//, 1d' .%{gem_instdir}/bin/unicorn_rails
+sed -i -e '1i#!/usr/bin/ruby' .%{gem_instdir}/bin/unicorn
+sed -i -e '1i#!/usr/bin/ruby' .%{gem_instdir}/bin/unicorn_rails
+
+# Require rubygems when running tests
+sed -i "2irequire 'rubygems'" .%{gem_instdir}/test/test_helper.rb
+
+# Clean up development-only files
+rm -f .%{gem_instdir}/.CHANGELOG.old
+rm -f .%{gem_instdir}/.document
+rm -f .%{gem_instdir}/.gitignore
+rm -f .%{gem_instdir}/.mailmap
+rm -f .%{gem_instdir}/.manifest
+rm -f .%{gem_instdir}/.wrongdoc.yml
+rm -f .%{gem_instdir}/local.mk.sample
+rm -f .%{gem_instdir}/GIT-VERSION-FILE
+rm -f .%{gem_instdir}/GIT-VERSION-GEN
+rm -f .%{gem_instdir}/GNUmakefile
+rm -f .%{gem_instdir}/setup.rb
+find .%{gem_instdir} -name .gitignore -exec rm {} +
+find .%{gem_instdir} -name .gitkeep -exec rm {} +
+# Remove extra gemspec file
+rm -rf .%{gem_instdir}/%{gem_name}.gemspec
+
+# Remove broken test
+rm -rf .%{gem_instdir}/test/rails
+
+%build
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+ %{buildroot}%{gem_dir}/
+
+%if 0%{?el6}
+# gem_extdir doesn't really work on EL 6
+mkdir -p %{buildroot}%{ruby_sitearch}
+# move the extension to ruby_sitearch
+mv %{buildroot}%{gem_libdir}/unicorn_http.so %{buildroot}%{ruby_sitearch}
+%else
+mkdir -p %{buildroot}%{gem_extdir}/lib
+# move the extension to gem_extdir
+mv %{buildroot}%{gem_libdir}/unicorn_http.so %{buildroot}%{gem_extdir}/lib/
+%endif
+
+mkdir -p %{buildroot}%{_bindir}
+cp -a .%{_bindir}/* \
+ %{buildroot}%{_bindir}/
+
+find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
+
+# Install man pages in the proper location
+mkdir -p %{buildroot}%{_mandir}
+mv %{buildroot}/%{gem_instdir}/man/* %{buildroot}%{_mandir}/
+
+# Remove the binary extension sources and build leftovers.
+rm -rf %{buildroot}%{gem_instdir}/ext
+
+%check
+pushd .%{gem_instdir}
+ # Tests don't work if run as a suite. Must run individually.
+ %if 0%{?el6}
+ # Tests fail on EL 6 or Rails 2.3
+ %else
+ ruby -Ilib -e "Dir.glob('./test/**/test_*.rb').each {|t| require t}"
+ %endif
+popd
+
+%files
+%dir %{gem_instdir}
+%doc %{gem_instdir}/COPYING
+%doc %{gem_instdir}/LICENSE
+%{_bindir}/unicorn
+%{_bindir}/unicorn_rails
+%doc %{_mandir}/man1/unicorn.1.gz
+%doc %{_mandir}/man1/unicorn_rails.1.gz
+%{gem_instdir}/bin
+%{gem_libdir}
+%if 0%{?el6}
+%{ruby_sitearch}/unicorn_http.so
+%else
+%{gem_extdir}
+%endif
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/FAQ
+%doc %{gem_instdir}/README
+%doc %{gem_instdir}/TUNING
+%doc %{gem_instdir}/PHILOSOPHY
+%doc %{gem_instdir}/HACKING
+%doc %{gem_instdir}/DESIGN
+%doc %{gem_instdir}/CONTRIBUTORS
+%doc %{gem_instdir}/SIGNALS
+%doc %{gem_instdir}/KNOWN_ISSUES
+%doc %{gem_instdir}/TODO
+%doc %{gem_instdir}/NEWS
+%doc %{gem_instdir}/ChangeLog
+%doc %{gem_instdir}/LATEST
+%doc %{gem_instdir}/ISSUES
+%doc %{gem_instdir}/Sandbox
+%doc %{gem_instdir}/Links
+%doc %{gem_instdir}/Application_Timeouts
+%doc %{gem_instdir}/test
+%doc %{gem_instdir}/t
+%doc %{gem_instdir}/Documentation
+%{gem_instdir}/examples
+%{gem_instdir}/Rakefile
+%{gem_instdir}/script
+
+%changelog
+* Tue Feb 19 2013 ktdreyer@ktdreyer.com - 4.3.1-1
+- Initial package, created with gem2rpm 0.8.1