%global gemdir %(ruby -rubygems -e 'puts Gem::dir' 2>/dev/null)
%global gemname newgem
%global geminstdir %{gemdir}/gems/%{gemname}-%{version}
%global rubyabi 1.8
Summary: Bundle Ruby libraries into a RubyGem
Name: rubygem-%{gemname}
Version: 1.5.2
Release: 3%{?dist}
Group: Development/Languages
License: MIT or LGPLv2+
URL: http://newgem.rubyforge.org
Source0: http://gems.rubyforge.org/gems/%{gemname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: ruby(rubygems)
Requires: ruby(abi) = %{rubyabi}
# Seemingly not required - filed in
# http://github.com/drnic/newgem/issues/issue/8
#Requires: rubygem(activesupport)
Requires: rubygem(rubigen)
Requires: rubygem(hoe)
Requires: rubygem(RedCloth)
Requires: rubygem(syntax)
Requires: rubygem(cucumber)
BuildRequires: ruby(rubygems)
BuildRequires: ruby(abi) = %{rubyabi}
#BuildRequires(check): rubygem(activesupport)
BuildRequires(check): rubygem(rubigen), rubygem(hoe),
BuildRequires(check): rubygem(RedCloth), rubygem(syntax), rubygem(cucumber)
BuildRequires(check): rubygem(rake)
BuildArch: noarch
Provides: rubygem(%{gemname}) = %{version}
%description
Within this gem, you get one thing - newgem - an executable to create your own
gems. Your new gems will include designated folders for Ruby code, test files,
executables, and even a default website page for you to explain your project,
and which instantly uploads to RubyForge website (which looks just like this
one by default).
%prep
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{gemdir}
gem install --local --install-dir %{buildroot}%{gemdir} \
--force --rdoc %{SOURCE0}
mkdir -p %{buildroot}/%{_bindir}
mv %{buildroot}%{gemdir}/bin/* %{buildroot}/%{_bindir}
rmdir %{buildroot}%{gemdir}/bin
find %{buildroot}%{geminstdir}/bin -type f |xargs chmod a+x
# Kill crlf
sed -s 's/\r//g' -i %{buildroot}%{geminstdir}/README.rdoc \
%{buildroot}%{geminstdir}/website/version.js \
%{buildroot}%{geminstdir}/website/version-raw.txt \
%{buildroot}%{geminstdir}/test/test_helper.rb
# Don't search environment - we leave the generators alone as someone may want
# the env searching.
find %{buildroot}%{geminstdir}/{bin,script} -type f | \
xargs -n 1 sed -i -e 's"^#!/usr/bin/env ruby"#!/usr/bin/ruby"'
# Only one minor test fails, reported here
# http://github.com/drnic/newgem/issues/#issue/7
# Disable the assert for now
sed -i '/assert_directory_exists "tasks"/d' \
%{buildroot}%{geminstdir}/test/test_newgem_generator.rb
%clean
rm -rf %{buildroot}
%check
pushd %{buildroot}%{geminstdir}
rake test
# CAUTION: rpmlint currently generates 8 errors and 2 warnings on this package
# due to the templating in the generators. Check the output carefully.
%files
%defattr(-,root,root,-)
%{_bindir}/newgem
%dir %{geminstdir}
%{geminstdir}/*_generators
%{geminstdir}/bin
%{geminstdir}/config
%{geminstdir}/features
%{geminstdir}/lib
%{geminstdir}/script
%{geminstdir}/website
%{geminstdir}/Rakefile
%doc %{geminstdir}/TODO.markdown
%doc %{geminstdir}/test
%doc %{geminstdir}/History.txt
%doc %{geminstdir}/Manifest.txt
%doc %{geminstdir}/PostInstall.txt
%doc %{geminstdir}/README.rdoc
%doc %{gemdir}/doc/%{gemname}-%{version}
%{gemdir}/cache/%{gemname}-%{version}.gem
%{gemdir}/specifications/%{gemname}-%{version}.gemspec
%changelog
* Mon Feb 01 2010 Matthew Kent <mkent@magoazul.com> - 1.5.3-3
- Fix License (#504476).
- Disable activesupport Requires for now (#504476).
* Fri Jan 01 2010 Matthew Kent <mkent@magoazul.com> - 1.5.2-2
- Drop versioning on requirements as this is a new package.
- Drop unused ruby_sitelib macro.
- Add a rubyabi macro.
- RPM_BUILD_ROOT -> buildroot - use one style of macros.
- Fix bin/env ruby searching in bin/newgem.
- Remove duplicate hoe dependency.
- Add check phase.
- Fix another crlf (#504476).
- Add note about rpmlint complaints (#504476).
* Mon Oct 12 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.5.2-1
- Newer release
* Fri Jun 26 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.4.1-3
- Get rid of duplicate files (thanks to Mamoru Tasaka)
* Mon Jun 08 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.4.1-2
- Bring tests back
- Depend on ruby(abi)
- Replace defines with globals
- Don't drop the empty USAGE files
* Fri Jun 05 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.4.1-1
- Package generated by gem2rpm
- Don't ship tests
- Fix end of line encodings
- Remove empty files
- Fix up License