# Generated from ruby_parser-3.18.0.gem by gem2rpm -*- rpm-spec -*- %global gem_name ruby_parser Name: rubygem-%{gem_name} Version: 3.18.0 Release: 1%{?dist} Summary: ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which does by default use a C extension) License: MIT URL: https://github.com/seattlerb/ruby_parser Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby >= 2.1 BuildRequires: ruby < 4 # BuildRequires: rubygem(oedipus_lex) >= 2.6 # BuildRequires: rubygem(oedipus_lex) < 3 # BuildRequires: rubygem(racc) >= 1.5 # BuildRequires: rubygem(racc) < 2 # BuildRequires: rubygem(hoe) >= 3.22 # BuildRequires: rubygem(hoe) < 4 BuildArch: noarch %description ruby_parser (RP) is a ruby parser written in pure ruby (utilizing racc--which does by default use a C extension). It outputs s-expressions which can be manipulated and converted back to ruby via the ruby2ruby gem. As an example: def conditional1 arg1 return 1 if arg1 == 0 return 0 end becomes: s(:defn, :conditional1, s(:args, :arg1), s(:if, s(:call, s(:lvar, :arg1), :==, s(:lit, 0)), s(:return, s(:lit, 1)), nil), s(:return, s(:lit, 0))) Tested against 801,039 files from the latest of all rubygems (as of 2013-05): * 1.8 parser is at 99.9739% accuracy, 3.651 sigma * 1.9 parser is at 99.9940% accuracy, 4.013 sigma * 2.0 parser is at 99.9939% accuracy, 4.008 sigma * 2.6 parser is at 99.9972% accuracy, 4.191 sigma. %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %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} # Run the test suite. popd %files %dir %{gem_instdir} %{_bindir}/ruby_parse %{_bindir}/ruby_parse_extract_error %{gem_instdir}/.autotest %{gem_instdir}/Manifest.txt %{gem_instdir}/bin %{gem_instdir}/compare %{gem_instdir}/debugging.md %{gem_instdir}/gauntlet.md %{gem_libdir} %{gem_instdir}/tools %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/History.rdoc %doc %{gem_instdir}/README.rdoc %{gem_instdir}/Rakefile %{gem_instdir}/test %changelog * Thu Oct 28 2021 mockbuilder - 3.18.0-1 - Initial package