Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
%global gem_name awestruct
%global mandir %{_mandir}/man1
Summary: A static site generation tool
Name: rubygem-%{gem_name}
Version: 0.5.3
Release: 1%{?dist}
Group: Development/Tools
License: MIT
# Patch0: Disable the s3 deployer since it depends on a library not yet
# available in Fedora (rubygem-s3cmd)
Patch0: awestruct-disable-s3-deployer.patch
# Patch1: Set the EXECJS_RUNTIME environment variable suitable for Fedora
Patch1: awestruct-set-execjs-runtime.patch
%if 0%{?rhel} > 6 || 0%{?fedora} > 18
Requires: ruby(release)
BuildRequires: ruby(release)
Requires: ruby(abi) = 1.9.1
BuildRequires: ruby(abi) = 1.9.1
Requires: ruby(rubygems)
Requires: rubygem(tilt)
Requires: rubygem(haml)
BuildRequires: rubygem(compass)
BuildRequires: rubygem(compass-960-plugin)
BuildRequires: rubygem(bootstrap-sass)
Requires: rubygem(json)
Requires: rubygem(rest-client)
BuildRequires: rubygem(git)
BuildRequires: git
BuildRequires: js
#Requires: rubygem(ruby-s3cmd)
Requires: rubygem(listen)
BuildRequires: rubygem(nokogiri)
Requires: rubygem(rack)
Requires: rubygem(rb-inotify)
BuildRequires: rubygems-devel
BuildRequires: ruby(rubygems)
BuildRequires: rubygem(asciidoctor)
BuildRequires: rubygem(coffee-script)
#BuildRequires: rubygem(htmlcompressor)
BuildRequires: rubygem(rspec)
BuildRequires: rubygem(hashery)
BuildRequires: rubygem(rack-test)
BuildRequires: rubygem(RedCloth)
BuildRequires: rubygem(slim)
BuildRequires: rubygem(redcarpet)
# rdiscount is required for haml < 4.0
BuildRequires: rubygem(rdiscount)
BuildRequires: rubygem(mustache)
BuildRequires: rubygem(uglifier)
#BuildRequires: rubygem(rake)
BuildArch: noarch
Provides: rubygem(%{gem_name}) = %{version}
Provides: %{gem_name} = %{version}
Awestruct is a build tool for creating non-trivial static websites using tools
like Compass, Haml, Markdown and AsciiDoc as well as common CSS frameworks like
Twitter Bootstrap and Blueprint.
%package doc
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation for %{name}
gem unpack -V %{SOURCE0}
%setup -q -D -T -n %{gem_name}-%{version}
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
# loosen dependency requirements since they're determined by packaging system
sed -i "s/\(_dependency(.*\), .*/\1)/" %{gem_name}.gemspec
sed -i "s/.*\(ruby-s3cmd\|htmlcompressor\)/#&/" %{gem_name}.gemspec
%patch0 -p1
%patch1 -p1
gem build %{gem_name}.gemspec
# orgmode test requires unavailable orgmode gem
mv spec/orgmode_handler_spec.rb spec/orgmode_handler_spec.rb.disabled
# less test requires unavailable less and javascript environment gems
mv spec/less_handler_spec.rb spec/less_handler_spec.rb.disabled
# minify test requires unavailable htmlcompressor gem
mv spec/minify_spec.rb spec/minify_spec.rb.disabled
# one of the tests is dependent on the presence of the Rakefile
touch Rakefile Gemfile
LANG=en_US.utf8 EXECJS_RUNTIME=SpiderMonkey rspec spec/*_spec.rb
rm Rakefile Gemfile
mkdir -p %{buildroot}%{gem_dir}
cp -pa .%{gem_dir}/* \
mkdir -p %{buildroot}%{_bindir}
cp -pa .%{_bindir}/* \
mkdir -p %{buildroot}%{mandir}
cp -pa .%{gem_instdir}/man/*.1 \
%dir %{gem_instdir}
%exclude %{gem_cache}
%exclude %{gem_instdir}/spec
%exclude %{gem_instdir}/man
%files doc
%doc %{gem_docdir}
* Fri Nov 1 2013 William Benton <> - 0.5.3-1
- updated to upstream version 0.5.3
- fixed several missing BRs and a test failure
* Thu Mar 28 2013 Dan Allen <> - 0.5.0-1
- Initial package
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.