# TODO:
-# - provide standalone ruby-tk package (to replace retired -tk subpackage)
# - include ext/ in docs
# - replace ri with fastri
# - patch ri to search multiple indexes (one per package), so RPMs can install ri docs
+# - gemify irb (?)
#
# Conditional build:
%bcond_without doc # skip (time-consuming) docs generating; intended for speed up test builds
%bcond_without batteries # Don't include rubygems, json, rake, minitest
%bcond_without default_ruby # use this Ruby as default system Ruby
+%bcond_without dtrace # disable tracing with dtrace
%bcond_with bootstrap # build bootstrap version
%bcond_with tests # build without tests
-%define rel 5
-%define ruby_version 2.4
-%define patchlevel 4
+%define rel 2
+%define ruby_version 2.6
+%define patchlevel 8
%define pkg_version %{ruby_version}.%{patchlevel}
%define ruby_suffix %{!?with_default_ruby:%{ruby_version}}
-%define doc_version 2_4_3
+%define doc_version 2_6_7
%define oname ruby
Summary: Ruby - interpreted scripting language
Summary(ja.UTF-8): オブジェクト指向言語Rubyインタプリタ
Group: Development/Languages
# https://www.ruby-lang.org/en/downloads/
Source0: https://cache.ruby-lang.org/pub/ruby/%{ruby_version}/%{oname}-%{pkg_version}.tar.xz
-# Source0-md5: 4f30cefb7d50c6fa4d801f47ed9d82ca
-Source2: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
-# Source2-md5: d21fb29009644bd174dbba0dad53f1f5
-Source3: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
-# Source3-md5: 3aef8f1b7fb3d140ac9ba8f3061c832e
-Source50: http://www.unicode.org/Public/9.0.0/ucd/CaseFolding.txt
+# Source0-md5: 4dc6e5e1988364898b082416a0c477c7
+Source2: https://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
+# Source2-md5: 1e70282bfffc377d0efe5bcbca4b8127
+Source3: https://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
+# Source3-md5: 004471ae881d8a7851c11c4c83c14ca3
+Source50: https://www.unicode.org/Public/9.0.0/ucd/CaseFolding.txt
# Source50-md5: e3fbf2f626f10070000fe66f3a2ff5ef
-Source51: http://www.unicode.org/Public/9.0.0/ucd/CompositionExclusions.txt
+Source51: https://www.unicode.org/Public/9.0.0/ucd/CompositionExclusions.txt
# Source51-md5: 263381d7b4b5e2d52a91e1bbbd4722d4
-Source52: http://www.unicode.org/Public/9.0.0/ucd/NormalizationTest.txt
+Source52: https://www.unicode.org/Public/9.0.0/ucd/NormalizationTest.txt
# Source52-md5: aacb8a8acfc449d09136fe39f3f97cf1
-Source53: http://www.unicode.org/Public/9.0.0/ucd/SpecialCasing.txt
+Source53: https://www.unicode.org/Public/9.0.0/ucd/SpecialCasing.txt
# Source53-md5: fea30f45a2f81ffa474fd984d297e2ea
-Source54: http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
+Source54: https://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
# Source54-md5: dde25b1cf9bbb4ba1140ac12e4128b0b
-Source100: ftp://ftp.ruby-lang.org/pub/ruby/1.8/%{oname}-1.8.7-p330.tar.gz
-# Source100-md5: 50a49edb787211598d08e756e733e42e
Source4: rdoc.1
Source5: testrb.1
Source6: operating_system.rb
-#Patch1: %{oname}-ffs.patch
+Patch0: autoconf2.70.patch
+Patch1: bison3.59.patch
Patch2: fix-bison-invocation.patch
Patch3: mkmf-verbose.patch
Patch4: strip-ccache.patch
Patch5: ruby-version.patch
Patch6: duplicated-paths.patch
+Patch7: openssl3.patch
# obsolete?
Patch8: rubygems-2.0.0-binary-extensions.patch
Patch9: custom-rubygems-location.patch
BuildRequires: pkgconfig
BuildRequires: readline-devel >= 4.2
BuildRequires: rpm-build >= 5.4.10-49
+BuildRequires: rpmbuild(macros) >= 1.527
+# which version is minimum now? 1.8.7 is not enough, fails with:
+# ./tool/generic_erb.rb:31: syntax error, unexpected ':', expecting ')'
+# ...O.popen("tput smso", "r", err: IO::NULL, &:read) rescue nil)
+BuildRequires: ruby >= 1:1.9
BuildRequires: sed >= 4.0
-BuildRequires: systemtap-sdt-devel
+%{?with_dtrace:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
BuildRequires: yaml-devel
%if %{without bootstrap}
# bootstrap needs ruby binary, erb module
BuildRequires: rpm-rubyprov
-BuildRequires: ruby
BuildRequires: ruby-modules
%endif
Requires(post,postun): /sbin/ldconfig
Conflicts: ruby-activesupport2 < 2.3.11-2
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define bigdecimal_ver 1.3.2
-%define did_you_mean_ver 1.1.0
-%define io_console_ver 0.4.6
-%define irb_ver 0.9.6
-%define json_ver 2.0.4
-%define minitest_ver 5.10.1
-%define net_telnet_ver 0.1.1
-%define openssl_ver 2.0.7
-%define power_assert_ver 0.4.1
-%define psych_ver 2.2.2
-%define rake_ver 12.0.0
-%define rdoc_ver 5.0.0
-%define rubygems_ver 2.6.14.1
-%define test_unit_ver 3.2.3
-%define xmlrpc_ver 0.2.1
+# hack: skip rubygem(ipaddr)
+%define _noautoreq ipaddr
+
+# separate modules
+%define bigdecimal_ver 1.4.1
+%define bundler_ver 1.17.2
+%define did_you_mean_ver 1.3.0
+%define io_console_ver 0.4.7
+%define irb_ver 1.0.0
+%define json_ver 2.1.0
+%define minitest_ver 5.11.3
+%define net_telnet_ver 0.2.0
+%define power_assert_ver 1.1.3
+%define psych_ver 3.1.0
+%define rake_ver 12.3.3
+%define rdoc_ver 6.1.2.1
+%define rubygems_ver 3.0.3.1
+%define test_unit_ver 3.2.9
+%define xmlrpc_ver 0.3.0
+# default modules, separated
+%define irb_ver 1.0.0
+# default modules packaged in main modules
+%define cmath_ver 1.0.0
+%define csv_ver 3.0.9
+%define date_ver 2.0.0
+%define dbm_ver 1.0.0
+%define e2mmap_ver 0.1.0
+%define etc_ver 1.0.1
+%define fcntl_ver 1.0.0
+%define fiddle_ver 1.0.0
+%define fileutils_ver 1.1.0
+%define forwardable_ver 1.2.0
+%define gdbm_ver 2.0.0
+%define ipaddr_ver 1.2.2
+%define logger_ver 1.3.0
+%define matrix_ver 0.1.0
+%define mutex_m_ver 0.1.0
+%define ostruct_ver 0.1.0
+%define openssl_ver 2.1.2
+%define prime_ver 0.1.0
+%define rexml_ver 3.1.9.1
+%define rss_ver 0.2.7
+%define scanf_ver 1.0.0
+%define sdbm_ver 1.0.0
+%define shell_ver 0.7
+%define stringio_ver 0.0.2
+%define strscan_ver 1.0.0
+%define sync_ver 0.5.0
+%define thwait_ver 0.1.0
+%define tracer_ver 0.1.0
+%define webrick_ver 1.4.4
+%define zlib_ver 1.0.0
%define ruby_ridir %{_datadir}/ri/system
%define gem_dir %{_datadir}/gems
Summary: Ruby HTML documentation
Summary(pl.UTF-8): Dokumentacja HTML do Ruby
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
Ruby HTML documentation: FAQ, guide, core and standard library.
Summary(pl.UTF-8): Dokumentacja Ruby w formacie ri
Group: Documentation
Requires: %{name}-modules = %{epoch}:%{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc-ri
Ruby ri documentation.
Summary: Ruby examples
Summary(pl.UTF-8): Przykłady dla języka Ruby
Group: Development/Languages
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description examples
Ruby examples.
Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
Provides: irb = %{version}-%{release}
Provides: ruby(irb) = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description irb
The irb is acronym for Interactive Ruby. It evaluates ruby expression
Requires: %{name}-json >= %{json_ver}
Requires: %{name}-modules = 1:%{pkg_version}-%{rel}
Obsoletes: rdoc <= 0.9.0
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description rdoc
RDoc produces HTML and command-line documentation for Ruby projects.
Requires: %{name}-rdoc >= %{rdoc_ver}
Suggests: %{name}-devel
Provides: rubygems = %{rubygems_ver}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description rubygems
RubyGems is the Ruby standard for publishing and managing third party
RubyGems to standardowe narzędzie języka Ruby do publikowania i
zarządzania zewnętrznymi bibliotekami.
+%package bundler
+Summary: Library and utilities to manage a Ruby application's gem dependencies
+Summary(pl.UTF-8): Biblioteka i narzędzia do zarządzania zależnościami gem aplikacji w języku Ruby
+Version: %{bundler_ver}
+Release: %{pkg_version}.%{rel}
+Epoch: 0
+License: MIT
+Group: Development/Languages
+Provides: bundler = %{bundler_ver}
+BuildArch: noarch
+
+%description bundler
+Bundler manages an application's dependencies through its entire life,
+across many machines, systematically and repeatably.
+
+%description bundler -l pl.UTF-8
+Bundler zarządza zależnościami aplikacji przez cały czas jej życia,
+między wiloma maszynami - systematycznie i powtarzalnie.
+
%package rake
Summary: Rake is a Make-like program implemented in Ruby
Summary(pl.UTF-8): Program typu Make dla języka Ruby
Group: Development/Languages
Provides: rake = %{rake_ver}
Conflicts: ruby-modules < 1:1.9.3.429-2
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description rake
Rake is a simple Ruby build program with capabilities similar to make.
Epoch: 0
License: MIT
Group: Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description minitest
minitest/unit is a small and incredibly fast unit testing framework.
Epoch: 0
License: Ruby or BSD
Group: Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description power_assert
Power Assert shows each value of variables and method calls in the
License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPL v2+)
Group: Development/Libraries
Requires: ruby-power_assert = %{power_assert_ver}-%{pkg_version}.%{rel}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description test-unit
test-unit (Test::Unit) is unit testing framework for Ruby, based on
Epoch: 0
License: MIT
Group: Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description did_you_mean
"Did you mean?" experience in Ruby: the error message will tell you
Release: %{pkg_version}.%{rel}
Epoch: 0
Group: Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description net-telnet
Provides telnet client functionality.
wywołującego je. Aby to osiągnąć wystarczy bardzo mało kodu.
%prep
-%setup -q -n %{oname}-%{pkg_version} -a2 -a3 %{?with_bootstrap:-a100}
-#%patch1 -p1
+%setup -q -n %{oname}-%{pkg_version} -a2 -a3
+%patch0 -p1
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
#%patch8 -p1
%patch9 -p1
%patch12 -p1
-o -name 'ruby.1' -o -name '*.html' -o -name '*.tcl' ')' \
| xargs %{__sed} -i 's,/usr/local/bin/,%{_bindir}/,'
+%if %{with bootstrap}
+# avoid regeneration, needs iostring module
+touch enc/unicode/9.0.0/*.h
+%endif
+
%build
-rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | xargs)
+rubygems_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rubygems.rb | sed 's/\.freeze//g' | xargs)
if [ $rubygems_ver != %{rubygems_ver} ]; then
echo "Set %%define rubygems_ver to $rubygems_ver and re-run."
exit 1
fi
-rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc.rb | xargs)
-if [ $rdoc_ver != %{rdoc_ver} ]; then
+rdoc_ver=$(awk '/VERSION =/ && $1 == "VERSION" {print $3}' lib/rdoc/version.rb | xargs)
+if [ "$rdoc_ver" != %{rdoc_ver} ]; then
echo "Set %%define rdoc_ver to $rdoc_ver and re-run."
exit 1
fi
cp -f /usr/share/automake/config.sub .
-# build ruby-1.8.7 first
-%if %{with bootstrap}
-cd %{oname}-1.8.7-p330
-%configure
-%{__make}
-cd ..
-%endif
-
%{__autoconf}
%configure \
- %{?with_bootstrap:--with-baseruby=%{oname}-1.8.7-p330/miniruby} \
+ %{?with_bootstrap:--with-baseruby="%{_bindir}/ruby -I$(pwd)/lib"} \
--program-suffix=%{ruby_suffix} \
--with-archlibdir=%{_libdir} \
--with-rubygemsdir=%{rubygems_dir} \
--disable-install-doc \
--disable-rpath \
--disable-rubygems \
+ %{__enable_disable dtrace} \
--with-ruby-version='' \
%{__make} -j1 main \
- COPY="cp -p" Q= \
- %{?with_bootstrap:BASERUBY="%{oname}-1.8.7-p330/miniruby -I./ruby-1.8.7-p330/lib"}
+ COPY="cp -p" \
+ V=1
%if %{with doc}
%{__make} -j1 rdoc
# Kill bundled certificates, as they should be part of ca-certificates.
for cert in \
- AddTrustExternalCARoot.pem \
- DigiCertHighAssuranceEVRootCA.pem \
GlobalSignRootCA.pem \
; do
%{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/*/$cert
%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
-install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
+install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal
%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
+%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal/util.so $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal/
%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal $RPM_BUILD_ROOT%{ruby_libdir}/bigdecimal
ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal.so
+install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal
+ln -s %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal/util.so $RPM_BUILD_ROOT%{ruby_libarchdir}/bigdecimal/util.so
install -d $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib
install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io
ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych.rb $RPM_BUILD_ROOT%{ruby_libdir}/psych.rb
ln -s %{gem_libdir}/psych-%{psych_ver}/lib/psych.so $RPM_BUILD_ROOT%{ruby_archdir}/psych.so
+install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bundler-%{bundler_ver}/lib
+install -d $RPM_BUILD_ROOT%{gem_libdir}/bundler-%{bundler_ver}/lib
+%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/bundler* $RPM_BUILD_ROOT%{gem_dir}/gems/bundler-%{bundler_ver}/lib
+%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/bundler-%{bundler_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications
+ln -s %{gem_dir}/gems/bundler-%{bundler_ver}/lib/bundler $RPM_BUILD_ROOT%{ruby_libdir}/bundler
+ln -s %{gem_dir}/gems/bundler-%{bundler_ver}/lib/bundler.rb $RPM_BUILD_ROOT%{ruby_libdir}/bundler.rb
+
+# replace default irb with its not gemified version
+%{__mv} $RPM_BUILD_ROOT%{gem_dir}/gems/irb-%{irb_ver}/exe/irb $RPM_BUILD_ROOT%{_bindir}/irb%{ruby_suffix}
+
# Adjust the gemspec files so that the gems will load properly
sed -i '/^end$/ i\
s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
# https://github.com/rubygems/rubygems/pull/694
for s in rake-%{rake_ver}.gemspec rdoc-%{rdoc_ver}.gemspec json-%{json_ver}.gemspec; do
s="$RPM_BUILD_ROOT%{gem_dir}/specifications/$s"
- %{__make} runruby TESTRUN_SCRIPT="-rubygems \
+ %{__make} runruby TESTRUN_SCRIPT="-rrubygems \
-e \"spec = Gem::Specification.load('$s')\" \
-e \"File.write '$s', spec.to_ruby\""
done
%{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
+ $RPM_BUILD_ROOT%{_bindir}/irb \
$RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
- $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/console \
$RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/exe/rake \
$RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/exe/{rdoc,ri} \
+ $RPM_BUILD_ROOT%{gem_dir}/gems/bundler-%{bundler_ver}/exe/{bundle,bundler} \
$RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{cal,test,time,uumerge}.rb \
$RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper,rss}/*.rb \
$RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/webrick/*.cgi
# gem non library files
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/test
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,benchmark,doc,test,tmp,did_you_mean.gemspec,.*}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/{[A-Z]*,test,.autotest}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin,net-telnet.gemspec,.*}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,bin,power_assert.gemspec,.*}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,bin,doc,rake.gemspec,azure-pipelines.yml}
%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample,test}
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/{[A-Z]*,test}
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/{[A-Z]*,doc,test}
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/{[A-Z]*,doc}
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/xmlrpc-%{xmlrpc_ver}/{[A-Z]*,bin,xmlrpc.gemspec,.*}
%if %{without batteries}
# packaged separately
%if %{with doc}
# too much .ri
%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
-%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/created.rid
+%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/win32/page-*.ri
%endif
%clean
%attr(755,root,root) %{_bindir}/irb%{ruby_suffix}
%{ruby_libdir}/irb.rb
%{ruby_libdir}/irb
+%{gem_dir}/specifications/default/irb-%{irb_ver}.gemspec
%{_mandir}/man1/irb%{ruby_suffix}.1*
%files rdoc
%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}
%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib
%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
-%dir %{gem_dir}/gems/rdoc-5.0.0/exe
-%{gem_dir}/gems/rdoc-5.0.0/exe/rdoc
-%{gem_dir}/gems/rdoc-5.0.0/exe/ri
+%dir %{gem_dir}/gems/rdoc-%{rdoc_ver}/exe
+%{gem_dir}/gems/rdoc-%{rdoc_ver}/exe/rdoc
+%{gem_dir}/gems/rdoc-%{rdoc_ver}/exe/ri
%if %{with batteries}
%files rubygems
%attr(755,root,root) %{_bindir}/gem%{ruby_suffix}
%{rubygems_dir}/rubygems
%{rubygems_dir}/rubygems.rb
-%{rubygems_dir}/ubygems.rb
-%{rubygems_dir}/rbconfig
+
+%files bundler
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/bundler%{ruby_suffix}
+%attr(755,root,root) %{_bindir}/bundle%{ruby_suffix}
+%{gem_dir}/gems/bundler-%{bundler_ver}
+%{gem_dir}/specifications/bundler-%{bundler_ver}.gemspec
+%{_mandir}/man1/bundle*.1*
+%{_mandir}/man5/gemfile.5*
%files rake
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/rake%{ruby_suffix}
%dir %{gem_dir}/gems/rake-%{rake_ver}
%{gem_dir}/gems/rake-%{rake_ver}/lib
-%dir %{gem_dir}/gems/rake-%{rake_ver}/bin
-%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/console
-%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/setup
%{gem_dir}/specifications/rake-%{rake_ver}.gemspec
-%{gem_dir}/gems/rake-%{rake_ver}/appveyor.yml
%dir %{gem_dir}/gems/rake-%{rake_ver}/exe
%attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/exe/rake
%dir %{gem_dir}/gems/power_assert-%{power_assert_ver}
%{gem_dir}/gems/power_assert-%{power_assert_ver}/lib
%{gem_dir}/specifications/power_assert-%{power_assert_ver}.gemspec
-%dir %{gem_dir}/gems/power_assert-0.4.1/benchmarks
-%{gem_dir}/gems/power_assert-0.4.1/benchmarks/bm_yhpg.rb
-%{gem_dir}/gems/power_assert-0.4.1/benchmarks/helper.rb
%files minitest
%defattr(644,root,root,755)
%files did_you_mean
%defattr(644,root,root,755)
%dir %{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}
-%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/benchmark
-%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/evaluation
%{gem_dir}/gems/did_you_mean-%{did_you_mean_ver}/lib
%{gem_dir}/specifications/did_you_mean-%{did_you_mean_ver}.gemspec
%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
+%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal
+%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal/util.so
+%{ruby_libdir}/bigdecimal.rb
%{ruby_libdir}/bigdecimal
%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
%{ruby_libdir}/openssl
%{ruby_libdir}/optparse
%{ruby_libdir}/racc
-%{ruby_libdir}/rbconfig
%{ruby_libdir}/rexml
%{ruby_libdir}/rinda
%{ruby_libdir}/ripper
%{ruby_libdir}/abbrev.rb
%{ruby_libdir}/base64.rb
%{ruby_libdir}/benchmark.rb
+%{ruby_libdir}/bundler
+%{ruby_libdir}/bundler.rb
%{ruby_libdir}/cgi.rb
%{ruby_libdir}/cmath.rb
%{ruby_libdir}/csv.rb
+%{ruby_libdir}/csv
+%{ruby_libdir}/coverage.rb
%{ruby_libdir}/date.rb
%{ruby_libdir}/debug.rb
%{ruby_libdir}/delegate.rb
%{ruby_libdir}/digest.rb
%{ruby_libdir}/drb.rb
%{ruby_libdir}/e2mmap.rb
+%{ruby_libdir}/e2mmap
%{ruby_libdir}/erb.rb
%{ruby_libdir}/expect.rb
%{ruby_libdir}/fiddle.rb
%{ruby_libdir}/fileutils.rb
+%{ruby_libdir}/fileutils
%{ruby_libdir}/find.rb
%{ruby_libdir}/forwardable.rb
%dir %{ruby_libdir}/forwardable
%{ruby_libdir}/json.rb
%{ruby_libdir}/kconv.rb
%{ruby_libdir}/logger.rb
-%{ruby_libdir}/mathn.rb
%{ruby_libdir}/matrix.rb
%{ruby_libdir}/monitor.rb
%{ruby_libdir}/mutex_m.rb
%{ruby_libdir}/sync.rb
%{ruby_libdir}/tempfile.rb
%{ruby_libdir}/thwait.rb
+%{ruby_libdir}/thwait
%{ruby_libdir}/time.rb
%{ruby_libdir}/timeout.rb
%{ruby_libdir}/tmpdir.rb
%{ruby_libdir}/tracer.rb
+%{ruby_libdir}/tracer
%{ruby_libdir}/tsort.rb
%{ruby_libdir}/un.rb
%{ruby_libdir}/unicode_normalize
-%{ruby_libdir}/unicode_normalize.rb
%{ruby_libdir}/uri.rb
%{ruby_libdir}/weakref.rb
%{ruby_libdir}/webrick.rb
%if %{with batteries}
%exclude %{ruby_libdir}/rubygems.rb
-%exclude %{ruby_libdir}/ubygems.rb
-%exclude %{ruby_libdir}/rbconfig/datadir.rb
%endif
%exclude %{ruby_libdir}/irb.rb
%exclude %{ruby_libdir}/mkmf.rb
%{ruby_archdir}/rbconfig.rb
%attr(755,root,root) %{ruby_archdir}/bigdecimal.so
+%dir %{ruby_archdir}/bigdecimal
+%attr(755,root,root) %{ruby_archdir}/bigdecimal/util.so
%attr(755,root,root) %{ruby_archdir}/continuation.so
%attr(755,root,root) %{ruby_archdir}/coverage.so
%attr(755,root,root) %{ruby_archdir}/date_core.so
%attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
%dir %{ruby_archdir}/io
%attr(755,root,root) %{ruby_archdir}/io/*.so
-%dir %{ruby_archdir}/mathn
-%attr(755,root,root) %{ruby_archdir}/mathn/*.so
%dir %{ruby_archdir}/racc
%attr(755,root,root) %{ruby_archdir}/racc/*.so
%dir %{ruby_archdir}/rbconfig
%dir %{gem_dir}/gems
%dir %{gem_dir}/specifications
%dir %{gem_dir}/specifications/default
+%{gem_dir}/specifications/default/cmath-%{cmath_ver}.gemspec
+%{gem_dir}/specifications/default/csv-%{csv_ver}.gemspec
+%{gem_dir}/specifications/default/date-%{date_ver}.gemspec
+%{gem_dir}/specifications/default/dbm-%{dbm_ver}.gemspec
+%{gem_dir}/specifications/default/e2mmap-%{e2mmap_ver}.gemspec
+%{gem_dir}/specifications/default/etc-%{etc_ver}.gemspec
+%{gem_dir}/specifications/default/fcntl-%{fcntl_ver}.gemspec
+%{gem_dir}/specifications/default/fiddle-%{fiddle_ver}.gemspec
+%{gem_dir}/specifications/default/fileutils-%{fileutils_ver}.gemspec
+%{gem_dir}/specifications/default/forwardable-%{forwardable_ver}.gemspec
+%{gem_dir}/specifications/default/gdbm-%{gdbm_ver}.gemspec
+%{gem_dir}/specifications/default/ipaddr-%{ipaddr_ver}.gemspec
+%{gem_dir}/specifications/default/logger-%{logger_ver}.gemspec
+%{gem_dir}/specifications/default/matrix-%{matrix_ver}.gemspec
+%{gem_dir}/specifications/default/mutex_m-%{mutex_m_ver}.gemspec
+%{gem_dir}/specifications/default/ostruct-%{ostruct_ver}.gemspec
%{gem_dir}/specifications/default/openssl-%{openssl_ver}.gemspec
+%{gem_dir}/specifications/default/prime-%{prime_ver}.gemspec
+%{gem_dir}/specifications/default/rexml-%{rexml_ver}.gemspec
+%{gem_dir}/specifications/default/rss-%{rss_ver}.gemspec
+%{gem_dir}/specifications/default/scanf-%{scanf_ver}.gemspec
+%{gem_dir}/specifications/default/sdbm-%{sdbm_ver}.gemspec
+%{gem_dir}/specifications/default/shell-%{shell_ver}.gemspec
+%{gem_dir}/specifications/default/stringio-%{stringio_ver}.gemspec
+%{gem_dir}/specifications/default/strscan-%{strscan_ver}.gemspec
+%{gem_dir}/specifications/default/sync-%{sync_ver}.gemspec
+%{gem_dir}/specifications/default/thwait-%{thwait_ver}.gemspec
+%{gem_dir}/specifications/default/tracer-%{tracer_ver}.gemspec
+%{gem_dir}/specifications/default/webrick-%{webrick_ver}.gemspec
+%{gem_dir}/specifications/default/zlib-%{zlib_ver}.gemspec
%{_mandir}/man1/erb%{ruby_suffix}.1*
%{_mandir}/man1/ri%{ruby_suffix}.1*
%{ruby_ridir}/BigDecimal
%{ruby_ridir}/BigMath
%{ruby_ridir}/Binding
+%{ruby_ridir}/Bundler
%{ruby_ridir}/CGI
%{ruby_ridir}/CMath
%{ruby_ridir}/CSV
%{ruby_ridir}/Float
%{ruby_ridir}/FloatDomainError
%{ruby_ridir}/Forwardable
+%{ruby_ridir}/FrozenError
%{ruby_ridir}/GC
%{ruby_ridir}/GDBM
%{ruby_ridir}/GDBMError
%{ruby_ridir}/GDBMFatalError
%{ruby_ridir}/Gem
%{ruby_ridir}/GetoptLong
+%{ruby_ridir}/HTTPClientException
+%{ruby_ridir}/HTTPGatewayTimeOut
%{ruby_ridir}/HTTPMovedTemporarily
%{ruby_ridir}/HTTPMultipleChoice
+%{ruby_ridir}/HTTPRequestEntityTooLarge
+%{ruby_ridir}/HTTPRequestTimeOut
%{ruby_ridir}/HTTPRequestURITooLarge
+%{ruby_ridir}/HTTPRequestURITooLong
+%{ruby_ridir}/HTTPRequestedRangeNotSatisfiable
%{ruby_ridir}/Hash
%{ruby_ridir}/IO
%{ruby_ridir}/IOError
%{ruby_ridir}/Module
%{ruby_ridir}/Monitor
%{ruby_ridir}/MonitorMixin
+%{ruby_ridir}/Mutex
%{ruby_ridir}/Mutex_m
%{ruby_ridir}/NKF
%{ruby_ridir}/NameError
%{ruby_ridir}/TSort
%{ruby_ridir}/TempIO
%{ruby_ridir}/Tempfile
-%{ruby_ridir}/Test
%{ruby_ridir}/ThWait
%{ruby_ridir}/Thread
%{ruby_ridir}/ThreadError
%{ruby_ridir}/WEBrick
%{ruby_ridir}/WIN32OLE
%{ruby_ridir}/WIN32OLERuntimeError
+%{ruby_ridir}/WIN32OLEQueryInterfaceError
%{ruby_ridir}/WIN32OLE_EVENT
%{ruby_ridir}/WIN32OLE_METHOD
%{ruby_ridir}/WIN32OLE_PARAM
%{ruby_ridir}/fatal
%{ruby_ridir}/lib
%{ruby_ridir}/syntax
-%{ruby_ridir}/unknown
-%{ruby_ridir}/page-ChangeLog*.ri
+%{ruby_ridir}/page-CONTRIBUTING_md.ri
+%{ruby_ridir}/page-COPYING.ri
+%lang(ja) %{ruby_ridir}/page-COPYING_ja.ri
+%{ruby_ridir}/page-LEGAL.ri
%{ruby_ridir}/page-NEWS*.ri
%{ruby_ridir}/page-README_md.ri
+%lang(ja) %{ruby_ridir}/page-README_ja_md.ri
%{ruby_ridir}/page-*_rdoc.ri
%endif