fec72c
%global gem_name thin
1b29e6
1b29e6
Summary: A thin and fast web server
fec72c
Name: rubygem-%{gem_name}
087f04
Version: 1.6.2
b673dd
Release: 4%{?dist}
1b29e6
Group: Development/Languages
5c5b69
License: (GPLv2 or Ruby) and MIT
1b29e6
URL: http://code.macournoyer.com/thin/
5c5b69
Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
087f04
# git clone https://github.com/macournoyer/thin.git && cd thin && git checkout v1.6.2
087f04
# tar czvf thin-1.6.2-tests.tgz spec/
5c5b69
Source1: %{gem_name}-%{version}-tests.tgz
d15c68
# https://github.com/macournoyer/thin/issues/76
d15c68
Patch3: rubygem-thin-fix-install-spec.patch
Michal Fojtik 9cc9e7
Requires: curl
fb95e0
BuildRequires: ruby(release)
1b29e6
BuildRequires: ruby-devel
fec72c
BuildRequires: rubygems-devel
b673dd
%if 0%{?fedora} >= 22
b673dd
BuildRequires: rubygem(rspec2)
b673dd
%else
5c5b69
BuildRequires: rubygem(rspec)
b673dd
%endif
1b29e6
BuildRequires: rubygem(eventmachine) >= 0.12.6
1b29e6
BuildRequires: rubygem(daemons) >= 1.0.9
1b29e6
BuildRequires: rubygem(rack) >= 1.0.0
1b29e6
1b29e6
%description
Chris Lalancette 8f44cf
Thin is a Ruby web server that glues together three of the best Ruby
Chris Lalancette 8f44cf
libraries in web history.
Chris Lalancette 8f44cf
The Mongrel parser, the root of Mongrel speed and security,
1b29e6
Event Machine, a network I/O library with extremely high scalability and
1b29e6
Rack, a minimal interface between webservers and Ruby frameworks.
1b29e6
Michal Fojtik 9cc9e7
%package doc
Michal Fojtik 9cc9e7
Summary: Documentation for %{name}
Michal Fojtik 9cc9e7
Group: Documentation
Michal Fojtik 9cc9e7
Requires:%{name} = %{version}-%{release}
Michal Fojtik 9cc9e7
Michal Fojtik 9cc9e7
%description doc
Michal Fojtik 9cc9e7
Documentation for %{name}
Michal Fojtik 9cc9e7
1b29e6
%prep
Chris Lalancette 8f44cf
%setup -q -c -T
fb95e0
%gem_install -n %{SOURCE0}
1b29e6
1b29e6
%build
1b29e6
1b29e6
%install
fec72c
mkdir -p %{buildroot}%{gem_dir}
5c5b69
cp -pa .%{gem_dir}/* \
5c5b69
        %{buildroot}%{gem_dir}/
5c5b69
8b98ee
mkdir -p %{buildroot}%{gem_extdir_mri}
8b98ee
cp -a .%{gem_extdir_mri}/{gem.build_complete,*.so} %{buildroot}%{gem_extdir_mri}/
8b98ee
8b98ee
# Prevent dangling symlink in -debuginfo.
8b98ee
rm -rf %{buildroot}%{gem_instdir}/ext
8b98ee
5c5b69
5c5b69
mkdir -p %{buildroot}%{_bindir}
5c5b69
cp -pa .%{_bindir}/* \
5c5b69
        %{buildroot}%{_bindir}/
5c5b69
5c5b69
find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x
5c5b69
087f04
# Find files with a shebang that do not have executable permissions
087f04
for file in `find %{buildroot}/%{gem_instdir}/example -type f ! -perm /a+x -name "*.ru"`; do
087f04
    [ ! -z "`head -n 1 $file | grep \"^#!/\"`" ] && chmod -v 755 $file
087f04
done
1b29e6
1b29e6
%check
fec72c
pushd .%{gem_instdir}
d15c68
5c5b69
tar xzvf %{SOURCE1}
5c5b69
d15c68
# Depends on rubygem-benchmark_unit, not available in Fedora yet.
d15c68
rm -rf spec/perf
d15c68
# The 'should force kill process in pid file' spec is not compatible with RSpec2.
d15c68
# https://github.com/rspec/rspec-core/issues/520
087f04
sed -i "/'should force kill process in pid file'/a \    pending" spec/daemonizing_spec.rb
087f04
087f04
# These 2 tests are passing independently, but fails when running with the
087f04
# whole testsuite.
087f04
sed -i '/"tracing routines (with NO custom logger)"/a \    before { pending }' spec/logging_spec.rb
087f04
087f04
# https://github.com/macournoyer/thin/issues/232
087f04
sed -i '/"should close body tempfile when closing"/a \    pending' spec/request/processing_spec.rb
d15c68
5c5b69
cat %{PATCH3} | patch -p1
5c5b69
b673dd
%if 0%{?fedora} >= 22
b673dd
rspec2 \
b673dd
%else
b673dd
rspec \
b673dd
%endif
b673dd
	-I$(dirs +1)%{gem_extdir_mri} spec
d15c68
1b29e6
popd
1b29e6
1b29e6
%files
5c5b69
%{gem_instdir}/README.md
fec72c
%{_bindir}/%{gem_name}
5c5b69
%dir %{gem_instdir}
5c5b69
%{gem_instdir}/bin
fec72c
%dir %{gem_libdir}
fec72c
%{gem_libdir}/thin.rb
fec72c
%{gem_libdir}/rack/
fec72c
%dir %{gem_libdir}/thin/
fec72c
%{gem_libdir}/thin/*.rb
fec72c
%{gem_libdir}/thin/backends/
fec72c
%{gem_libdir}/thin/controllers/
Chris Lalancette 8286c7
# BSD
fec72c
%{gem_libdir}/thin/stats.html.erb
5c5b69
%{gem_extdir_mri}
5c5b69
%exclude %{gem_cache}
5c5b69
%{gem_spec}
Michal Fojtik 9cc9e7
Michal Fojtik 9cc9e7
%files doc
fec72c
%{gem_docdir}
fec72c
%{gem_instdir}/example/
fec72c
%{gem_instdir}/CHANGELOG
fec72c
%{gem_instdir}/Rakefile
1b29e6
1b29e6
%changelog
b673dd
* Sun Jan 18 2015 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.6.2-4
b673dd
- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2
b673dd
- Use rspec2 for now
b673dd
e3091e
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-3
e3091e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
e3091e
323f8b
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-2
323f8b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
323f8b
087f04
* Wed May 21 2014 Vít Ondruch <vondruch@redhat.com> - 1.6.2-1
087f04
- Update to thin 1.6.2.
087f04
8b98ee
* Wed Apr 16 2014 Josef Stribny <jstribny@redhat.com> - 1.5.0-3
8b98ee
- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.1
8b98ee
97bf81
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.0-2
97bf81
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
97bf81
5c5b69
* Thu Feb 28 2013 Vít Ondruch <vondruch@redhat.com> - 1.5.0-1
5c5b69
- Update to thin 1.5.0.
5c5b69
fb95e0
* Thu Feb 28 2013 Vít Ondruch <vondruch@redhat.com> - 1.3.1-6
fb95e0
- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
fb95e0
1724bd
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-5
1724bd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
1724bd
da006a
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-4
da006a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
da006a
fec72c
* Wed Feb 01 2012 Vít Ondruch <vondruch@redhat.com> - 1.3.1-3
fec72c
- Rebuilt for Ruby 1.9.3.
fec72c
02302b
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.1-2
02302b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
02302b
d15c68
* Fri Nov 25 2011 Vít Ondruch <vondruch@redhat.com> - 1.3.1-1
d15c68
- Update to Thin 1.3.1.
d15c68
Chris Lalancette b43612
* Tue Sep 06 2011 Chris Lalancette <clalance@redhat.com> - 1.2.11-10
Chris Lalancette b43612
- Bump the release so upgrades from F-16 work
Chris Lalancette b43612
Chris Lalancette 8286c7
* Mon Jul 25 2011 Chris Lalancette <clalance@redhat.com> - 1.2.11-3
Chris Lalancette 8286c7
- Move stats.html.erb to the main package (it is a runtime requirement)
Chris Lalancette 8286c7
Chris Lalancette 7c85dd
* Fri Jul 22 2011 Chris Lalancette <clalance@redhat.com> - 1.2.11-2
Chris Lalancette 7c85dd
- Fix the load path for thin_parser
Chris Lalancette 7c85dd
Michal Fojtik 63b03e
* Tue Mar 01 2011 Michal Fojtik <mfojtik@redhat.com> - 1.2.11-1
Michal Fojtik 63b03e
- Version bump
Michal Fojtik 63b03e
Michal Fojtik 5785e0
* Tue Mar 01 2011 Michal Fojtik <mfojtik@redhat.com> - 1.2.8-3
Michal Fojtik 5785e0
- Removed Rake dependency completely
Michal Fojtik 5785e0
Michal Fojtik e6a74a
* Tue Mar 01 2011 Michal Fojtik <mfojtik@redhat.com> - 1.2.8-2
Michal Fojtik e6a74a
- Fixed RSpec tests
Michal Fojtik e6a74a
Michal Fojtik 9cc9e7
* Tue Mar 01 2011 Michal Fojtik <mfojtik@redhat.com> - 1.2.8-1
Michal Fojtik 9cc9e7
- Updated to upstream version
Michal Fojtik 9cc9e7
339c9a
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.7-2
339c9a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
339c9a
Michal Fojtik b3f35a
* Wed Sep 08 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.7-1
Michal Fojtik b3f35a
- Updated to upstream version
Michal Fojtik b3f35a
5c5b69
* Thu Feb 04 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.5-5
1b29e6
- Excluded ppc64 in tests (566401)
1b29e6
- Fixed Licensing
1b29e6
5c5b69
* Wed Feb 03 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.5-4
1b29e6
- Added rspec tests
1b29e6
- Fixed unwanted recompilation
1b29e6
- Fixed licensing
1b29e6
1b29e6
* Tue Feb 02 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.5-3
1b29e6
- Fixed description
1b29e6
1b29e6
* Tue Feb 02 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.5-2
1b29e6
- Build fixed
1b29e6
- Licence corrected
1b29e6
- Added missing requires
1b29e6
- Marked relevant files as documentation
1b29e6
1b29e6
* Tue Feb 02 2010 Michal Fojtik <mfojtik@redhat.com> - 1.2.5-1
1b29e6
- Initial package
1b29e6
1b29e6