Project

General

Profile

Download (5.3 KB) Statistics
| Branch: | Tag: | Revision:
%{?scl:%scl_package rubygem-%{gem_name}}
%{!?scl:%global pkg_name %{name}}

%{!?scl_v8:%global scl_v8 v8314}
%{!?scl_prefix_v8:%global scl_prefix_v8 %{scl_v8}-}

%global gem_name sprockets

Summary: Rack-based asset packaging system
Name: %{?scl_prefix}rubygem-%{gem_name}
Version: 2.12.3
Release: 1%{?dist}
Group: Development/Languages
License: MIT
URL: http://getsprockets.org/
Source0: http://rubygems.org/gems/%{gem_name}-%{version}.gem
# to get tests:
# git clone https://github.com/sstephenson/sprockets.git && cd sprockets/
# git checkout v2.12.3 && tar czf sprockets-2.12.3-tests.tgz test/
Source1: sprockets-%{version}-tests.tgz
# Moves test suite to use minitest.
# https://github.com/sstephenson/sprockets/commit/f29903ace62fd43280996b0cb32634f1e5108e52
Patch0: rubygem-sprockets-2.12.1-load-minitest.patch
# https://github.com/sstephenson/sprockets/commit/a454ecb17cd1058ad46665824ca4d0f309f0eccf
Patch2: rubygem-sprockets-2.12.1-assert_raise-assert_raises.patch
# https://github.com/sstephenson/sprockets/commit/9be057ce5804492c7c5bd1b20ba7da49c5538740
Patch3: rubygem-sprockets-2.12.1-assert_no_equal-is-gone.patch

Requires: %{?scl_prefix_ruby}ruby(rubygems)
Requires: %{?scl_prefix_ruby}rubygem(hike) => 1.2
Requires: %{?scl_prefix_ruby}rubygem(hike) < 2
Requires: %{?scl_prefix}rubygem(multi_json) => 1.0
Requires: %{?scl_prefix}rubygem(multi_json) < 2
Requires: %{?scl_prefix_ruby}rubygem(rack) => 1.0
Requires: %{?scl_prefix_ruby}rubygem(rack) < 2
Requires: %{?scl_prefix_ruby}rubygem(tilt) => 1.1
Requires: %{?scl_prefix_ruby}rubygem(tilt) < 2
Conflicts: %{?scl_prefix_ruby}rubygem(tilt) = 1.3.0
%if "%{?scl}" == "ruby193" || (0%{?rhel} == 6 && "%{?scl}" == "")
Requires: %{?scl_prefix_ruby}ruby(abi)
%else
Requires: %{?scl_prefix_ruby}ruby(release)
%endif

BuildRequires: %{?scl_prefix_ruby}rubygems-devel
BuildRequires: %{?scl_prefix_ruby}ruby
BuildRequires: %{?scl_prefix_ruby}rubygem(coffee-script)
BuildRequires: %{?scl_prefix_ruby}rubygem(execjs)
BuildRequires: %{?scl_prefix_ruby}rubygem(hike) => 1.2
BuildRequires: %{?scl_prefix_ruby}rubygem(hike) < 2
BuildRequires: %{?scl_prefix_ruby}rubygem(minitest)
BuildRequires: %{?scl_prefix_ruby}rubygem(uglifier)
BuildRequires: %{?scl_prefix}rubygem(multi_json)
BuildRequires: %{?scl_prefix_ruby}rubygem(json)
BuildRequires: %{?scl_prefix_ruby}rubygem(rack) => 1.0
BuildRequires: %{?scl_prefix_ruby}rubygem(rack) < 2
BuildRequires: %{?scl_prefix_ruby}rubygem(rack-test)
BuildRequires: %{?scl_prefix_ruby}rubygem(rake)
BuildRequires: %{?scl_prefix}rubygem(sass)
BuildRequires: %{?scl_prefix_ruby}rubygem(therubyracer)
BuildRequires: %{?scl_prefix_ruby}rubygem(tilt) => 1.1
BuildRequires: %{?scl_prefix_ruby}rubygem(tilt) < 2
BuildConflicts: %{?scl_prefix_ruby}rubygem(tilt) = 1.3.0
%if "%{?scl}" == "ruby193" || (0%{?rhel} == 6 && "%{?scl}" == "")
BuildRequires: %{?scl_prefix_ruby}ruby(abi)
%else
BuildRequires: %{?scl_prefix_ruby}ruby(release)
%endif
%if "%{?scl_v8}" != ""
BuildRequires: %{?scl_v8}
BuildRequires: %{?scl_v8}-scldevel
%endif

BuildArch: noarch
Provides: %{?scl_prefix}rubygem(%{gem_name}) = %{version}
%{?scl:Obsoletes: ruby193-rubygem-%{gem_name}}

%description
Sprockets is a Rack-based asset packaging system that concatenates and serves
JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.

%package doc
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
%{?scl:Obsoletes: ruby193-rubygem-%{gem_name}-doc}
BuildArch: noarch

%description doc
Documentation for %{name}

%prep
%setup -n %{pkg_name}-%{version} -q -c -T
mkdir -p .%{gem_dir}
%{?scl:scl enable %{scl} "}
gem install --local --install-dir .%{gem_dir} \
--bindir .%{_bindir} \
--force %{SOURCE0}
%{?scl:"}

%build

%install
mkdir -p %{buildroot}%{gem_dir}
cp -a .%{gem_dir}/* \
%{buildroot}%{gem_dir}/


mkdir -p %{buildroot}%{_bindir}
cp -a .%{_bindir}/* \
%{buildroot}%{_bindir}/

find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x

%check
pushd .%{gem_instdir}
tar xzf %{SOURCE1}

cat %{PATCH0} | patch -p1
cat %{PATCH2} | patch -p1
cat %{PATCH3} | patch -p1

# Where does the one additional new line come from? It is probably coused by
# some version differences, should not have influence on functionality.
sed -i 's|function() {\\n (|function() {\\n\\n (|' test/test_environment.rb

%{?scl:scl enable %{scl} %{?scl_v8} - << \EOF}
ruby -Ilib:test -e 'Dir.glob "./test/**/test_*.rb", &method(:require)' | tee tests.log
%{?scl:EOF}
# 4 failures because newer SASS returns #666 for grey instead of #666666
# https://github.com/sstephenson/sprockets/issues/660
# 4 errors because eco/ejs are soft dependencies
grep '445 tests, 1146 assertions, 4 failures, 4 errors, 0 skips' tests.log
popd

%files
%dir %{gem_instdir}
%doc %{gem_instdir}/LICENSE
%{_bindir}/sprockets
%{gem_instdir}/bin
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}

%files doc
%doc %{gem_instdir}/README.md
%doc %{gem_docdir}

%changelog
* Fri Feb 06 2015 Dominic Cleal <dcleal@redhat.com> 2.12.3-1
- Update sprockets to 2.12.3 (dcleal@redhat.com)

* Fri Oct 10 2014 Dominic Cleal <dcleal@redhat.com> 2.8.2-2
- Rebuild under SCL for Foreman (ehelms@redhat.com)

* Tue Dec 11 2012 Josef Stribny <jstribny@redhat.com> - 2.8.2-1
- Upgraded to version 2.8.2
- Added rubygem-uglifier build dependency

* Wed Jul 18 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.4.5-1
- Initial package
(5-5/7)