%global gem_name unicorn %if 0%{?fc18} %global rubyabi 1.9.1 %endif %if 0%{?el6} %global rubyabi 1.8 %endif Summary: Rack HTTP server for fast clients and Unix Name: rubygem-%{gem_name} Version: 4.7.0 Release: 1%{?dist} Group: Development/Languages License: GPLv2 or GPLv3 or Ruby URL: http://unicorn.bogomips.org/ Source0: https://rubygems.org/downloads/%{gem_name}-%{version}.gem %if 0%{?fedora} >= 19 Requires: ruby(release) %else Requires: ruby(abi) = %{rubyabi} %endif Requires: rubygem(raindrops) >= 0.7 Requires: rubygem(kgio) >= 2.6 BuildRequires: ruby-devel BuildRequires: rubygems-devel BuildRequires: rubygem(rack) BuildRequires: rubygem(raindrops) >= 0.7 BuildRequires: rubygem(kgio) >= 2.6 BuildRequires: rubygem(minitest) BuildRequires: rubygem(isolate) BuildRequires: ragel ExcludeArch: ppc ppc64 Provides: rubygem(%{gem_name}) = %{version} %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 files, rdoc, ri, examples and tests Group: Documentation Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name} %prep gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version} gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec # Fix wrong shebang sed -i -e '/^#!\//, 1d' bin/unicorn sed -i -e '/^#!\//, 1d' bin/unicorn_rails sed -i -e '1i#!/usr/bin/ruby' bin/unicorn sed -i -e '1i#!/usr/bin/ruby' bin/unicorn_rails # Require rubygems when running tests sed -i "2irequire 'rubygems'" test/test_helper.rb %build # Create the gem as gem install only works on a gem file gem build %{gem_name}.gemspec %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{_bindir} cp -a .%{gem_instdir}/bin/unicorn %{buildroot}%{_bindir}/ cp -a .%{gem_instdir}/bin/unicorn_rails %{buildroot}%{_bindir}/ # Remove leftovers rm %{buildroot}/%{gem_instdir}/.CHANGELOG.old rm %{buildroot}/%{gem_instdir}/.document rm %{buildroot}/%{gem_instdir}/.gitignore rm %{buildroot}/%{gem_instdir}/.mailmap rm %{buildroot}/%{gem_instdir}/.manifest rm %{buildroot}/%{gem_instdir}/GIT-VERSION-FILE rm %{buildroot}/%{gem_instdir}/GIT-VERSION-GEN rm %{buildroot}/%{gem_instdir}/GNUmakefile rm %{buildroot}/%{gem_instdir}/setup.rb rm %{buildroot}/%{gem_instdir}/.wrongdoc.yml rm -rf %{buildroot}%{gem_instdir}/ext find %{buildroot} -name .gitignore -exec rm {} + find %{buildroot} -name .gitkeep -exec rm {} + rm %{buildroot}/%{gem_instdir}/%{gem_name}.gemspec # In case you have yard installed rm -rf %{buildroot}%{gem_instdir}/.yardoc # Adjust permissions, non-readable 0600L # Fixed upstream: # http://rubyforge.org/pipermail/mongrel-unicorn/2013-November/001954.html chmod a+r %{buildroot}%{gem_instdir}/NEWS chmod a+r %{buildroot}%{gem_instdir}/ChangeLog mkdir -p %{buildroot}%{_mandir} mv %{buildroot}/%{gem_instdir}/man/* %{buildroot}%{_mandir}/ # If there are C extensions, mv them to the extdir. # You must replace REQUIRE_PATHS according to your gem specifics. install -d -m0755 %{buildroot}%{gem_extdir_mri}/lib mv %{buildroot}%{gem_instdir}/lib/unicorn_http.so %{buildroot}%{gem_extdir_mri}/lib/ %check # Don't use testrb. # http://rubyforge.org/pipermail/mongrel-unicorn/2012-December/001647.html pushd .%{gem_instdir} make test popd %files %{gem_extdir_mri}/* %dir %{gem_instdir} %{gem_cache} %{gem_spec} %{gem_instdir}/lib %{_bindir}/unicorn %{_bindir}/unicorn_rails %{gem_instdir}/bin/unicorn %{gem_instdir}/bin/unicorn_rails %doc %{_mandir}/man1/unicorn.1.gz %doc %{_mandir}/man1/unicorn_rails.1.gz %doc %{gem_instdir}/LICENSE %doc %{gem_instdir}/COPYING %doc %{gem_instdir}/CONTRIBUTORS %doc %{gem_instdir}/README %doc %{gem_instdir}/Application_Timeouts %doc %{gem_instdir}/LATEST %doc %{gem_instdir}/Links %files doc %doc %{gem_instdir}/ChangeLog %doc %{gem_instdir}/FAQ %doc %{gem_instdir}/DESIGN %doc %{gem_instdir}/HACKING %doc %{gem_instdir}/ISSUES %doc %{gem_instdir}/KNOWN_ISSUES %doc %{gem_instdir}/NEWS %doc %{gem_instdir}/PHILOSOPHY %doc %{gem_instdir}/SIGNALS %doc %{gem_instdir}/Sandbox %doc %{gem_instdir}/TODO %doc %{gem_instdir}/TUNING %doc %{gem_instdir}/local.mk.sample %doc %{gem_dir}/doc/%{gem_name}-%{version} %doc %{gem_instdir}/test %doc %{gem_instdir}/t %doc %{gem_instdir}/Documentation %doc %{gem_instdir}/examples %{gem_instdir}/Rakefile %{gem_instdir}/script %changelog * Sun Nov 24 2013 Ken Dreyer - 4.7.0-1 - Update to 4.7.0 * Mon Aug 5 2013 Guillermo Gómez - 4.6.3-1 - Initial package with version 4.6.3