%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null) %global gemname kgio %global rubyabi 1.8 %global geminstdir %{gemdir}/gems/%{gemname}-%{version} %{!?ruby_sitearch: %global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"]')} Summary: Kinder, gentler I/O for Ruby Name: rubygem-%{gemname} Version: 2.7.0 Release: 3%{?dist} Group: Development/Tools License: LGPLv2 or LGPLv3 # LICENSE file defines the licencing aspects of kgiox. # No license info in source files. URL: http://bogomips.org/kgio Source0: http://rubygems.org/downloads/%{gemname}-%{version}.gem Source1: no_ruby_strace_test_autopush.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: ruby Requires: ruby(abi) = %{rubyabi} Requires: ruby(rubygems) BuildRequires: ruby BuildRequires: ruby(abi) = %{rubyabi} BuildRequires: ruby(rubygems) BuildRequires: ruby-devel Provides: rubygem(%{gemname}) = %{version} %description kgio provides non-blocking I/O methods for Ruby without raising exceptions on EAGAIN and EINPROGRESS. It is intended for use with the Unicorn and Rainbows! Rack servers, but may be used by other applications (that run on Unix-like platforms). %package doc Summary: Documentation for %{name} Group: Documentation Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name} %prep %setup -q -c -T %build mkdir -p .%{gemdir} export CONFIGURE_ARGS="--with-cflags='%{optflags}'" gem install --local --install-dir .%{gemdir} \ -V \ --force %{SOURCE0} # Adjusting minor permissions chmod a+r .%{geminstdir}/ChangeLog chmod a+r .%{geminstdir}/NEWS %install rm -rf %{buildroot} mkdir -p %{buildroot}%{gemdir} cp -a .%{gemdir}/* \ %{buildroot}%{gemdir}/ patch %{buildroot}%{geminstdir}/test/test_autopush.rb %{SOURCE1} %check # Patch test_autopush.rb cd %{buildroot}%{geminstdir} RUBYOPT="-Ilib -I%{buildroot}%{ruby_sitearch} -Itest" testrb test/test_* # Remove the binary extension sources and build leftovers. rm -f %{buildroot}%{geminstdir}/.document rm -f %{buildroot}%{geminstdir}/.gitignore rm -f %{buildroot}%{geminstdir}/.manifest rm -f %{buildroot}%{geminstdir}/.wrongdoc.yml rm -f %{buildroot}%{geminstdir}/pkg.mk rm -f %{buildroot}%{geminstdir}/setup.rb rm -f %{buildroot}/%{geminstdir}/kgio.gemspec rm -f %{buildroot}/%{geminstdir}/GNUmakefile rm -f %{buildroot}/%{geminstdir}/GIT-VERSION-FILE rm -f %{buildroot}/%{geminstdir}/GIT-VERSION-GEN rm -rf %{buildroot}%{geminstdir}/.yardoc rm -rf %{buildroot}%{geminstdir}/ext install -d -m0755 %{buildroot}%{ruby_sitearch} mv %{buildroot}%{geminstdir}/lib/kgio_ext.so %{buildroot}%{ruby_sitearch} %clean rm -rf %{buildroot} %files doc %doc %{gemdir}/doc/%{gemname}-%{version} %doc %{geminstdir}/TODO %doc %{geminstdir}/LATEST %doc %{geminstdir}/Rakefile %doc %{geminstdir}/ISSUES %doc %{geminstdir}/HACKING %doc %{geminstdir}/test %files %{ruby_sitearch}/kgio_ext.so %dir %{geminstdir} %dir %{geminstdir}/lib %doc %{geminstdir}/LICENSE %doc %{geminstdir}/COPYING %doc %{geminstdir}/README %doc %{geminstdir}/NEWS %doc %{geminstdir}/ChangeLog %{gemdir}/cache/%{gemname}-%{version}.gem %{gemdir}/specifications/%{gemname}-%{version}.gemspec %{geminstdir}/lib/kgio.rb %changelog * Sun Jan 1 2012 Guillermo Gómez - 2.7.0-3 - Path to kgio_ext.so at spec file check section fixed - Moved patching test file to install section - Unused macro removed from spec file * Sat Dec 31 2011 Guillermo Gómez - 2.7.0-2 - For now rdoc-generated files arch-dependent - defattr at the beginning of files remove - README, NEWS, ChangeLog location fixed - Test suite enabled during build time - kgio_ext.so placed under ruby_sitearch dir * Fri Dec 30 2011 Guillermo - 2.7.0-1 - Initial package