Project

General

Profile

Download (2.72 KB) Statistics
| Branch: | Tag: | Revision:
%define rbname ruby_parser
%define version 2.3.1
%define release 1

Summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which does by default use a C extension)
Name: rubygem-%{rbname}

Version: %{version}
Release: %{release}%{dist}
Group: Development/Ruby
License: Distributable
URL: https://github.com/seattlerb/ruby_parser
Source0: %{rbname}-%{version}.gem
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Requires: ruby
Requires: rubygems >= 1.8.10

Requires: rubygem-sexp_processor => 3.0
Requires: rubygem-sexp_processor < 4
BuildRequires: ruby
BuildRequires: rubygems >= 1.8.10
BuildArch: noarch
Provides: rubygem(ruby_parser) = %{version}

%define gemdir /usr/lib/ruby/gems/1.8
%define gembuilddir %{buildroot}%{gemdir}

%description
ruby_parser (RP) is a ruby parser written in pure ruby (utilizing
racc--which does by default use a C extension). RP's output is
the same as ParseTree's output: s-expressions using ruby's arrays and
base types.
As an example:
def conditional1(arg1)
if arg1 == 0 then
return 1
end
return 0
end
becomes:
s(:defn, :conditional1,
s(:args, :arg1),
s(:scope,
s(:block,
s(:if,
s(:call, s(:lvar, :arg1), :==, s(:arglist, s(:lit, 0))),
s(:return, s(:lit, 1)),
nil),
s(:return, s(:lit, 0)))))


%prep
%setup -T -c

%build

%install
%{__rm} -rf %{buildroot}
mkdir -p %{gembuilddir}
gem install --local --install-dir %{gembuilddir} --force %{SOURCE0}
mkdir -p %{buildroot}/%{_bindir}
mv %{gembuilddir}/bin/* %{buildroot}/%{_bindir}
rmdir %{gembuilddir}/bin

# Drop the standalone mode for tests - won't run that way due to missing
# rubygems require anyway. One instance in lib as well
find %{buildroot}/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/{test,lib} -type f | \
xargs -n 1 sed -i -e '/^#!\/usr\/.*\/ruby.*/d'

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-, root, root)
%{_bindir}/ruby_parse
%{gemdir}/gems/ruby_parser-2.3.1/.autotest
%doc %{gemdir}/gems/ruby_parser-2.3.1/History.txt
%doc %{gemdir}/gems/ruby_parser-2.3.1/Manifest.txt
%doc %{gemdir}/gems/ruby_parser-2.3.1/README.txt
%{gemdir}/gems/ruby_parser-2.3.1/Rakefile
%{gemdir}/gems/ruby_parser-2.3.1/bin/ruby_parse
%{gemdir}/gems/ruby_parser-2.3.1/lib/gauntlet_rubyparser.rb
%{gemdir}/gems/ruby_parser-2.3.1/lib/ruby_lexer.rb
%{gemdir}/gems/ruby_parser-2.3.1/lib/ruby_parser.y
%{gemdir}/gems/ruby_parser-2.3.1/lib/ruby_parser.rb
%{gemdir}/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb
%{gemdir}/gems/ruby_parser-2.3.1/test/test_ruby_lexer.rb
%{gemdir}/gems/ruby_parser-2.3.1/test/test_ruby_parser.rb
%{gemdir}/gems/ruby_parser-2.3.1/test/test_ruby_parser_extras.rb
%{gemdir}/gems/ruby_parser-2.3.1/.gemtest


%doc %{gemdir}/doc/ruby_parser-2.3.1
%{gemdir}/cache/ruby_parser-2.3.1.gem
%{gemdir}/specifications/ruby_parser-2.3.1.gemspec

%changelog
(52-52/60)