Michal Fojtik b79bb3c
%global ruby_sitearch %(ruby -rrbconfig -e 'puts Config::CONFIG["sitearchdir"] ')
Michal Fojtik b79bb3c
%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
Michal Fojtik b79bb3c
%global gemname typhoeus
Michal Fojtik b79bb3c
%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
Michal Fojtik b79bb3c
%global rubyabi 1.8 
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
Summary: A library for interacting with web services at blinding speed
Michal Fojtik b79bb3c
Name: rubygem-%{gemname}
Michal Fojtik b79bb3c
Version: 0.1.31
Michal Fojtik b79bb3c
Release: 3%{?dist}
Michal Fojtik b79bb3c
Group: Development/Languages
Michal Fojtik b79bb3c
License: MIT
Michal Fojtik b79bb3c
URL: http://github.com/pauldix/typhoeus
Michal Fojtik b79bb3c
Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
Michal Fojtik b79bb3c
Patch0: %{name}-gcc-flags-fix.patch
Michal Fojtik b79bb3c
Requires: rubygems
Michal Fojtik b79bb3c
Requires: ruby(abi) = %{rubyabi}
Michal Fojtik b79bb3c
Requires: rubygem(rack)
Michal Fojtik b79bb3c
BuildRequires: ruby(abi) = %{rubyabi} 
Michal Fojtik b79bb3c
BuildRequires: rubygems
Michal Fojtik b79bb3c
BuildRequires: rubygem(rspec)
Michal Fojtik b79bb3c
BuildRequires: rubygem(rake)
Michal Fojtik b79bb3c
BuildRequires: rubygem(rack)
Michal Fojtik b79bb3c
BuildRequires: rubygem(diff-lcs)
Michal Fojtik b79bb3c
BuildRequires: rubygem(json)
Michal Fojtik b79bb3c
BuildRequires: ruby-devel
Michal Fojtik b79bb3c
BuildRequires: libcurl-devel
Michal Fojtik b79bb3c
Provides: rubygem(%{gemname}) = %{version}
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%description
Michal Fojtik b79bb3c
Like a modern code version of the mythical beast with 100 serpent heads,
Michal Fojtik b79bb3c
Typhoeus runs HTTP requests in parallel while cleanly encapsulating handling
Michal Fojtik b79bb3c
logic.
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%package doc
Michal Fojtik b79bb3c
Summary: Documentation for %{name}
Michal Fojtik b79bb3c
Group: Documentation
Michal Fojtik b79bb3c
Requires:%{name} = %{version}-%{release}
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%description doc
Michal Fojtik b79bb3c
Documentation for %{name}
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%prep
Michal Fojtik b79bb3c
%setup -q -c -T 
Michal Fojtik b79bb3c
mkdir -p ./%{gemdir}
Michal Fojtik b79bb3c
export CONFIGURE_ARGS="--with-cflags='%{optflags}'"
Michal Fojtik b79bb3c
gem install \
Michal Fojtik b79bb3c
	--local \
Michal Fojtik b79bb3c
	--install-dir ./%{gemdir} \
Michal Fojtik b79bb3c
	-V --force --rdoc \
Michal Fojtik b79bb3c
	%{SOURCE0}
Michal Fojtik b79bb3c
pushd .%{geminstdir}
Michal Fojtik b79bb3c
%patch0
Michal Fojtik b79bb3c
popd
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%build
Michal Fojtik b79bb3c
pushd .%{geminstdir}/ext/%{gemname}
Michal Fojtik b79bb3c
(%_bindir/ruby extconf.rb && make clean all)
Michal Fojtik b79bb3c
popd
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%install
Michal Fojtik b79bb3c
rm -rf %{buildroot}
Michal Fojtik b79bb3c
mkdir -p %{buildroot}%{gemdir}
Michal Fojtik b79bb3c
cp -a ./%{gemdir}/* %{buildroot}%{gemdir}
Michal Fojtik b79bb3c
mkdir -p %{buildroot}%{ruby_sitearch}/%{gemname}
Michal Fojtik b79bb3c
mv -f %{buildroot}%{geminstdir}/ext/%{gemname}/*.so %{buildroot}%{ruby_sitearch}/%{gemname}
Michal Fojtik b79bb3c
rm -rf %{buildroot}%{geminstdir}/ext
Michal Fojtik b79bb3c
find %{buildroot}/%{geminstdir} -name .gitignore | xargs rm -f
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
# remove all shebang, set permission to 0644 (mtasaka)
Michal Fojtik b79bb3c
for f in $(find %{buildroot}%{geminstdir} -name \*.rb)
Michal Fojtik b79bb3c
do
Michal Fojtik b79bb3c
	sed -i -e '/^#!/d' $f
Michal Fojtik b79bb3c
	chmod 0644 $f
Michal Fojtik b79bb3c
done
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%check
Michal Fojtik b79bb3c
pushd .%{geminstdir}
Michal Fojtik b79bb3c
ln -sf %{buildroot}%{ruby_sitearch}/%{gemname}/native.so lib/%{gemname}/native.so
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
NEEDSKIP=""
Michal Fojtik b79bb3c
for needskip in \
Michal Fojtik b79bb3c
  spec/%{gemname}/request_spec.rb \
Michal Fojtik b79bb3c
  spec/%{gemname}/hydra_spec.rb \
Michal Fojtik b79bb3c
  spec/%{gemname}/remote_spec.rb \
Michal Fojtik b79bb3c
  spec/%{gemname}/multi_spec.rb \
Michal Fojtik b79bb3c
  spec/%{gemname}/easy_spec.rb \
Michal Fojtik b79bb3c
  spec/%{gemname}/remote_proxy_object_spec.rb
Michal Fojtik b79bb3c
do
Michal Fojtik b79bb3c
  NEEDSKIP="$NEEDSKIP $needskip"
Michal Fojtik b79bb3c
done
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
for needskip in $NEEDSKIP
Michal Fojtik b79bb3c
do
Michal Fojtik b79bb3c
  mv $needskip ${needskip}.save
Michal Fojtik b79bb3c
done
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
rake spec --trace
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
for needskip in $NEEDSKIP
Michal Fojtik b79bb3c
do
Michal Fojtik b79bb3c
  mv ${needskip}.save $needskip
Michal Fojtik b79bb3c
done
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
rm -f lib/%{gemname}/native.so
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
popd
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%clean
Michal Fojtik b79bb3c
rm -rf %{buildroot}
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%files
Michal Fojtik b79bb3c
%defattr(-, root, root, -)
Michal Fojtik b79bb3c
%dir %{geminstdir}
Michal Fojtik b79bb3c
%dir %{ruby_sitearch}/%{gemname}
Michal Fojtik b79bb3c
%{geminstdir}/lib
Michal Fojtik b79bb3c
%{ruby_sitearch}/%{gemname}/*.so
Michal Fojtik b79bb3c
%doc %{geminstdir}/VERSION
Michal Fojtik b79bb3c
%doc %{geminstdir}/README.textile
Michal Fojtik b79bb3c
%doc %{geminstdir}/CHANGELOG.markdown
Michal Fojtik b79bb3c
%{gemdir}/cache/%{gemname}-%{version}.gem
Michal Fojtik b79bb3c
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%files doc
Michal Fojtik b79bb3c
%defattr(-, root, root, -)
Michal Fojtik b79bb3c
%{geminstdir}/Rakefile
Michal Fojtik b79bb3c
%{geminstdir}/spec
Michal Fojtik b79bb3c
%{geminstdir}/benchmarks
Michal Fojtik b79bb3c
%{geminstdir}/examples
Michal Fojtik b79bb3c
%{geminstdir}/profilers
Michal Fojtik b79bb3c
%{geminstdir}/%{gemname}.gemspec
Michal Fojtik b79bb3c
%{gemdir}/doc/%{gemname}-%{version}
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
%changelog
Michal Fojtik b79bb3c
* Thu Oct 14 2010 Michal Fojtik <mfojtik@redhat.com> - 0.1.31-3
Michal Fojtik b79bb3c
- Preserved failing test files (thx. to mtasaka)
Michal Fojtik b79bb3c
- Fixed macros usage
Michal Fojtik b79bb3c
- Replaced path with macro
Michal Fojtik b79bb3c
- Removed libcurl from requires
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
* Wed Oct 13 2010 Michal Fojtik <mfojtik@redhat.com> - 0.1.31-2
Michal Fojtik b79bb3c
- Fixed License to MIT
Michal Fojtik b79bb3c
- Fixed libcurl BuildRequire
Michal Fojtik b79bb3c
- Gem now recompiles with correct GCC flags
Michal Fojtik b79bb3c
- Directory issues should be fixed
Michal Fojtik b79bb3c
- Removed -devel subpackage
Michal Fojtik b79bb3c
- Added tests
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
Michal Fojtik b79bb3c
* Wed Oct 06 2010 Michal Fojtik <mfojtik@redhat.com> - 0.1.31-1
Michal Fojtik b79bb3c
- Initial package