Browse Source

ruby: update to 2.0.0-p353

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@8023 ec354946-7b23-47d6-9f5a-488ba84defc7
daisuke 10 years ago
parent
commit
5618842922
1 changed files with 186 additions and 80 deletions
  1. 186 80
      r/ruby/ruby-vl.spec

+ 186 - 80
r/ruby/ruby-vl.spec

@@ -1,33 +1,34 @@
-%global major_version 1
-%global minor_version 9
-%global teeny_version 3
-%global patch_level 392
+%global major_version 2
+%global minor_version 0
+%global teeny_version 0
+%global patch_level 353
 
 %global major_minor_version %{major_version}.%{minor_version}
 
 %global ruby_version %{major_minor_version}.%{teeny_version}
 %global ruby_version_patch_level %{major_minor_version}.%{teeny_version}.%{patch_level}
-%global ruby_abi %{major_minor_version}.1
+%global ruby_release %{ruby_version}
+%global ruby_abi %{ruby_version}
 
 %global ruby_archive %{name}-%{ruby_version}-p%{patch_level}
 
-%global ruby_libdir %{_datadir}/%{name}/%{ruby_abi}
-%global ruby_libarchdir %{_libdir}/%{name}/%{ruby_abi}
+%global ruby_libdir %{_datadir}/%{name}/%{ruby_release}
+%global ruby_libarchdir %{_libdir}/%{name}/%{ruby_release}
 
-%global ruby_hdrdir %{_includedir}/%{name}-%{ruby_abi}
+%global ruby_hdrdir %{_includedir}/%{name}-%{ruby_release}
 
 # This is the local lib/arch and should not be used for packaging.
 %global ruby_sitedir site_ruby
-%global ruby_sitelibdir %{_prefix}/local/share/ruby/%{ruby_sitedir}/%{ruby_abi}
-%global ruby_sitearchdir %{_prefix}/local/%{_lib}/ruby/%{ruby_sitedir}/%{ruby_abi}
+%global ruby_sitelibdir %{_prefix}/local/share/ruby/%{ruby_sitedir}/%{ruby_release}
+%global ruby_sitearchdir %{_prefix}/local/%{_lib}/ruby/%{ruby_sitedir}/%{ruby_release}
 
 # This is the general location for libs/archs compatible with all
 # or most of the Ruby versions
 %global ruby_vendordir vendor_ruby
-%global ruby_vendorlibdir %{_prefix}/share/ruby/%{ruby_vendordir}/%{ruby_abi}
-%global ruby_vendorarchdir %{_libdir}/ruby/%{ruby_vendordir}/%{ruby_abi}
+%global ruby_vendorlibdir %{_prefix}/share/ruby/%{ruby_vendordir}/%{ruby_release}
+%global ruby_vendorarchdir %{_libdir}/ruby/%{ruby_vendordir}/%{ruby_release}
 
-%global rubygems_version 1.8.23
+%global rubygems_version 2.0.3
 
 # The RubyGems library has to stay out of Ruby directory tree, since the
 # RubyGems should be share by all Ruby implementations.
@@ -38,15 +39,23 @@
 %global gem_extdir %{_libdir}/gems
 %global gem_extdirs %{_exec_prefix}/lib{,64}/gems
 
-%global rake_version 0.9.2.2
+%global rake_version 0.9.6
 # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM.
 # http://redmine.ruby-lang.org/issues/5313
 %global irb_version %{ruby_version_patch_level}
-%global rdoc_version 3.9.5
-%global bigdecimal_version 1.1.0
-%global io_console_version 0.3
-%global json_version 1.5.5
-%global minitest_version 2.5.1
+%global rdoc_version 4.0.0
+%global bigdecimal_version 1.2.0
+%global io_console_version 0.4.2
+%global json_version 1.7.7
+%global minitest_version 4.3.2
+%global psych_version 2.0.0
+
+# Note:
+# As seen on perl srpm, as this (ruby) srpm contains several sub-components,
+# we cannot reset the release number to 1 even when the main (ruby) version
+# is updated - because it may be that the versions of sub-components don't
+# change.
+%global ruby_rel 1
 
 %bcond_without emacsen
 %define rbmode          ruby-mode
@@ -58,18 +67,14 @@ Summary: An interpreter of object-oriented scripting language
 Summary(ja): オブジェクト指向言語 Ruby インタプリタ
 Name: ruby
 Version: %{ruby_version_patch_level}
-# Note:
-# As seen on perl srpm, as this (ruby) srpm contains several sub-components,
-# we cannot reset the release number to 1 even when the main (ruby) version
-# is updated - because it may be that the versions of sub-components don't
-# change.
-Release: 10%{?_dist_release}
+Release: %{ruby_rel}%{?_dist_release}
 Group: Development/Languages
 # Public Domain for example for: include/ruby/st.h, strftime.c, ...
 License: (Ruby or BSD) and Public Domain
 URL: http://ruby-lang.org/
 Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.bz2
 Source1: operating_system.rb
+Source3: abrt_prelude.rb
 
 Source6: %{rbmode_el}-install.sh
 Source7: %{rbmode_el}-remove.sh
@@ -78,33 +83,52 @@ Source8: %{rbmode_el}-init.el
 # changelog of fedora package
 Source10: Changelog.fedora
 
-# http://redmine.ruby-lang.org/issues/5231
-Patch0: ruby-1.9.3-disable-versioned-paths.patch
-# TODO: Should be submitted upstream?
-Patch1: ruby-1.9.3-arch-specific-dir.patch
-# http://redmine.ruby-lang.org/issues/5281
-Patch2: ruby-1.9.3-added-site-and-vendor-arch-flags.patch
-# Force multiarch directories for i.86 to be always named i686.
-Patch3: ruby-1.9.3-always-use-i686.patch
-# http://redmine.ruby-lang.org/issues/5465
-Patch4: ruby-1.9.3-fix-s390x-build.patch
-# Fix the uninstaller, so that it doesn't say that gem doesn't exist
-# when it exists outside of the GEM_HOME (already fixed in the upstream)
-Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch
-# Already fixed upstream:
-# https://github.com/ruby/ruby/commit/f212df564a4e1025f9fb019ce727022a97bfff53
-Patch7: ruby-1.9.3-bignum-test-fix.patch
+### Patch[0-99] from fedora package
+# http://bugs.ruby-lang.org/issues/7807
+Patch0: ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch
+# Force multiarch directories for i.86 to be always named i386. This solves
+# some differencies in build between Fedora and RHEL.
+Patch3: ruby-1.9.3-always-use-i386.patch
+# Fixes random WEBRick test failures.
+# https://bugs.ruby-lang.org/issues/6573.
+Patch5: ruby-1.9.3.p195-fix-webrick-tests.patch
 # Allows to install RubyGems into custom directory, outside of Ruby's tree.
 # http://redmine.ruby-lang.org/issues/5617
-Patch8: ruby-1.9.3-custom-rubygems-location.patch
+Patch8: ruby-2.0.0-custom-rubygems-location.patch
 # Add support for installing binary extensions according to FHS.
 # https://github.com/rubygems/rubygems/issues/210
-Patch9: rubygems-1.8.11-binary-extensions.patch
-# On koji, network related tests sometimes cause internal server error,
-# ignore these
-Patch10: ruby-1.9.3-p327-ignore-internal-server-error-on-test.patch
+# Note that 8th patch might be resolved by
+# https://bugs.ruby-lang.org/issues/7897
+Patch9: rubygems-2.0.0-binary-extensions.patch
 # Make mkmf verbose by default
 Patch12: ruby-1.9.3-mkmf-verbose.patch
+# This slightly changes behavior of "gem install --install-dir" behavior.
+# Without this patch, Specifications.dirs is modified and gems installed on
+# the system cannot be required anymore. This causes later issues when RDoc
+# documentation should be generated, since json gem is sudenly not accessible.
+# https://github.com/rubygems/rubygems/pull/452
+Patch13: rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch
+# This prevents issues, when ruby configuration specifies --with-ruby-version=''.
+# https://github.com/rubygems/rubygems/pull/455
+Patch14: rubygems-2.0.0-Fixes-for-empty-ruby-version.patch
+# Adds aarch64 support.
+# http://bugs.ruby-lang.org/issues/8331
+# https://bugzilla.redhat.com/show_bug.cgi?id=926463
+# Please note that this is the BZ patch, it might be good idea to update it
+# with its upstream version when available.
+Patch16: ruby-2.0.0-p195-aarch64.patch
+# Adds support for '--with-prelude' configuration option. This allows to built
+# in support for ABRT.
+# http://bugs.ruby-lang.org/issues/8566
+Patch17: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
+# Fixes issues with DESTDIR.
+# https://bugs.ruby-lang.org/issues/8115
+Patch18: ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch
+# Fixes multilib conlicts of .gemspec files.
+# https://bugs.ruby-lang.org/issues/8623
+Patch19: ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-default-.gems.patch
+
+
 
 Requires: %{name}-libs = %{version}-%{release}
 Requires: ruby(rubygems) >= %{rubygems_version}
@@ -171,7 +195,8 @@ Rubyのための拡張ライブラリやRubyを組み込んだアプリケーシ
 Summary:    Libraries necessary to run Ruby
 Group:      Development/Libraries
 License:    Ruby or BSD
-Provides:   ruby(abi) = %{ruby_abi}
+Provides:   ruby(abi) = %{ruby_release}
+Provides:   ruby(release) = %{ruby_release}
 Provides:   libruby = %{version}-%{release}
 Obsoletes:  libruby < 1.9
 Obsoletes:  drb erb
@@ -192,9 +217,11 @@ Summary(ja): Ruby アプリケーションやライブラリのためのパッ
 Version:    %{rubygems_version}
 Group:      Development/Libraries
 License:    Ruby or MIT
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   rubygem(rdoc) >= %{rdoc_version}
 Requires:   rubygem(io-console) >= %{io_console_version}
+Requires:   rubygem(psych) >= %{psych_version}
+Requires:   ca-certificates
 Provides:   gem = %{version}-%{release}
 Provides:   ruby(rubygems) = %{version}-%{release}
 Obsoletes:  rubygems <= 1.8.24-1vl7
@@ -227,7 +254,7 @@ Summary(ja): Ruby ベースの make のようなユーティリティ
 Version:    %{rake_version}
 Group:      Development/Libraries
 License:    Ruby or MIT
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Provides:   rake = %{version}-%{release}
 Provides:   rubygem(rake) = %{version}-%{release}
@@ -267,7 +294,7 @@ Summary(ja): Rubyのソースコードからドキュメントを生成するツ
 Version:    %{rdoc_version}
 Group:      Development/Libraries
 License:    GPLv2 and Ruby and MIT
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Requires:   ruby(irb) = %{irb_version}
 Provides:   rdoc = %{version}-%{release}
@@ -307,7 +334,7 @@ Summary:    BigDecimal provides arbitrary-precision floating point decimal arith
 Version:    %{bigdecimal_version}
 Group:      Development/Libraries
 License:    GPL+ or Artistic
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Provides:   rubygem(bigdecimal) = %{version}-%{release}
 
@@ -328,7 +355,7 @@ conversion between base 10 and base 2.
 Summary:    IO/Console is a simple console utilizing library
 Version:    %{io_console_version}
 Group:      Development/Libraries
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Provides:   rubygem(io-console) = %{version}-%{release}
 
@@ -342,7 +369,7 @@ Summary:    This is a JSON implementation as a Ruby extension in C
 Version:    %{json_version}
 Group:      Development/Libraries
 License:    Ruby or GPLv2
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Provides:   rubygem(json) = %{version}-%{release}
 
@@ -358,7 +385,7 @@ Summary:    Minitest provides a complete suite of testing facilities.
 Version:    %{minitest_version}
 Group:      Development/Libraries
 License:    MIT
-Requires:   ruby(abi) = %{ruby_abi}
+Requires:   ruby(release) = %{ruby_release}
 Requires:   ruby(rubygems) >= %{rubygems_version}
 Provides:   rubygem(minitest) = %{version}-%{release}
 BuildArch:  noarch
@@ -378,6 +405,24 @@ minitest/pride shows pride in testing and adds coloring to your test
 output.
 
 
+%package -n rubygem-psych
+Summary:    A libyaml wrapper for Ruby
+Version:    %{psych_version}
+Group:      Development/Libraries
+License:    MIT
+Requires:   ruby(release)
+Requires:   ruby(rubygems) >= %{rubygems_version}
+Provides:   rubygem(psych) = %{version}-%{release}
+
+%description -n rubygem-psych
+Psych is a YAML parser and emitter. Psych leverages
+libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and
+emitting
+capabilities. In addition to wrapping libyaml, Psych also knows how to
+serialize and de-serialize most Ruby objects to and from the YAML
+format.
+
+
 %package tcltk
 Summary:    Tcl/Tk interface for scripting language Ruby
 Summary(ja): RubyのTcl/Tkインタフェースライブラリ
@@ -413,32 +458,43 @@ Emacs上でRubyスクリプトを書くのに便利なモードです.
 %setup -q -n %{ruby_archive}
 
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
 %patch3 -p1
-%patch4 -p1
 %patch5 -p1
-%patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%patch10 -p1
 %patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+
+cp -a %{SOURCE3} .
 
 %build
 autoconf
 
 %configure \
         --with-rubylibprefix='%{ruby_libdir}' \
+        --with-rubyarchprefix='%{ruby_libarchdir}' \
         --with-archdir='%{ruby_libarchdir}' \
         --with-sitedir='%{ruby_sitelibdir}' \
         --with-sitearchdir='%{ruby_sitearchdir}' \
         --with-vendordir='%{ruby_vendorlibdir}' \
         --with-vendorarchdir='%{ruby_vendorarchdir}' \
         --with-rubyhdrdir='%{_includedir}' \
+        --with-rubyarchhdrdir='%{_includedir}' \
+        --with-sitearchhdrdir='%{_includedir}/$(arch)' \
+        --with-vendorarchhdrdir='%{_includedir}/$(arch)' \
         --with-rubygemsdir='%{rubygems_dir}' \
+        --with-ruby-pc='%{name}.pc' \
         --disable-rpath \
         --enable-shared \
-        --disable-versioned-paths
+        --with-ruby-version='' \
+        --enable-multiarch \
+        --with-prelude=./abrt_prelude.rb
+
 
 # Q= makes the build output more verbose and allows to check compiler options.
 make %{?_smp_mflags} COPY="cp -p" Q=
@@ -448,6 +504,10 @@ make %{?_smp_mflags} COPY="cp -p" Q=
 rm -rf %{buildroot}
 make install DESTDIR=%{buildroot}
 
+# Version is empty if --with-ruby-version is specified.
+# http://bugs.ruby-lang.org/issues/7807
+sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_libdir}/pkgconfig/%{name}.pc
+
 # install ruby-mode
 %if %{with emacsen}
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/emacs/site-lisp/%{rbmode}
@@ -456,7 +516,6 @@ mkdir -p $RPM_BUILD_ROOT/%{_prefix}/lib/emacsen-common/packages/remove
 cp misc/*.el %{SOURCE8} $RPM_BUILD_ROOT/%{_datadir}/emacs/site-lisp/%{rbmode}
 
 %_installemacsenscript %{rbmode} %{SOURCE6}
-
 %_removeemacsenscript  %{rbmode} %{SOURCE7}
 
 %endif
@@ -464,19 +523,19 @@ cp misc/*.el %{SOURCE8} $RPM_BUILD_ROOT/%{_datadir}/emacs/site-lisp/%{rbmode}
 # Dump the macros into macro.ruby to use them to build other Ruby libraries.
 mkdir -p %{buildroot}%{_sysconfdir}/rpm
 cat >> %{buildroot}%{_sysconfdir}/rpm/macros.ruby << \EOF
-%%ruby_libdir %%{_datadir}/%{name}/%{ruby_abi}
-%%ruby_libarchdir %%{_libdir}/%{name}/%{ruby_abi}
+%%ruby_libdir %%{_datadir}/%{name}
+%%ruby_libarchdir %%{_libdir}/%{name}
 
 # This is the local lib/arch and should not be used for packaging.
 %%ruby_sitedir site_ruby
-%%ruby_sitelibdir %%{_prefix}/local/share/%{name}/%%{ruby_sitedir}/%{ruby_abi}
-%%ruby_sitearchdir %%{_prefix}/local/%%{_lib}/%{name}/%%{ruby_sitedir}/%{ruby_abi}
+%%ruby_sitelibdir %%{_prefix}/local/share/%{name}/%%{ruby_sitedir}
+%%ruby_sitearchdir %%{_prefix}/local/%%{_lib}/%{name}/%%{ruby_sitedir}
 
 # This is the general location for libs/archs compatible with all
 # or most of the Ruby versions
 %%ruby_vendordir vendor_ruby
-%%ruby_vendorlibdir %%{_datadir}/%{name}/%%{ruby_vendordir}/%{ruby_abi}
-%%ruby_vendorarchdir %%{_libdir}/%{name}/%%{ruby_vendordir}/%{ruby_abi}
+%%ruby_vendorlibdir %%{_datadir}/%{name}/%%{ruby_vendordir}
+%%ruby_vendorarchdir %%{_libdir}/%{name}/%%{ruby_vendordir}
 EOF
 
 cat >> %{buildroot}%{_sysconfdir}/rpm/macros.rubygems << \EOF
@@ -497,7 +556,7 @@ mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults
 cp %{SOURCE1} %{buildroot}%{rubygems_dir}/rubygems/defaults
 
 # Move gems root into common direcotry, out of Ruby directory structure.
-mv %{buildroot}%{ruby_libdir}/gems/%{ruby_abi} %{buildroot}%{gem_dir}
+mv %{buildroot}%{ruby_libdir}/gems %{buildroot}%{gem_dir}
 
 # Create folders for gem binary extensions.
 mkdir -p %{buildroot}%{gem_extdirs}/exts
@@ -505,12 +564,17 @@ mkdir -p %{buildroot}%{gem_extdirs}/exts
 # Move bundled rubygems to %%gem_dir and %%gem_extdir
 # make symlinks for io-console and bigdecimal, 
 # which are considered to be part of stdlib by other Gems
+## rake
 mkdir -p %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/lib
 mv %{buildroot}%{ruby_libdir}/rake* %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/lib
+mv %{buildroot}%{gem_dir}/specifications/default/rake-%{rake_version}.gemspec %{buildroot}%{gem_dir}/specifications
 
+## rdoc
 mkdir -p %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib
 mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib
+mv %{buildroot}%{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %{buildroot}%{gem_dir}/specifications
 
+## bigdecimal
 # gem_dir
 mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib
 mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib
@@ -519,7 +583,9 @@ ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroo
 mkdir -p %{buildroot}%{gem_extdir}/exts/bigdecimal-%{bigdecimal_version}/lib
 mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{gem_extdir}/exts/bigdecimal-%{bigdecimal_version}/lib
 ln -s %{gem_extdir}/exts/bigdecimal-%{bigdecimal_version}/lib/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so
+mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications
 
+## io_console
 # gem_dir
 mkdir -p %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib
 mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib
@@ -528,37 +594,55 @@ ln -s %{gem_dir}/gems/io-console-%{io_console_version}/lib/io %{buildroot}%{ruby
 mkdir -p %{buildroot}%{gem_extdir}/exts/io-console-%{io_console_version}/lib/io
 mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{gem_extdir}/exts/io-console-%{io_console_version}/lib/io
 ln -s %{gem_extdir}/exts/io-console-%{io_console_version}/lib/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so
+mv %{buildroot}%{gem_dir}/specifications/default/io-console-%{io_console_version}.gemspec %{buildroot}%{gem_dir}/specifications
 
+## json
 # gem_dir
 mkdir -p %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib
 mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib
+ln -s %{gem_dir}/gems/json-%{json_version}/lib/json %{buildroot}%{ruby_libdir}/json
 # gem_extdir
 mkdir -p %{buildroot}%{gem_extdir}/exts/json-%{json_version}/lib
 mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{gem_extdir}/exts/json-%{json_version}/lib/
+ln -s %{gem_extdir}/exts/json-%{json_version}/lib/json.so %{buildroot}%{ruby_libarchdir}/json.so
+mv %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %{buildroot}%{gem_dir}/specifications
 
+## minitest
 mkdir -p %{buildroot}%{gem_dir}/gems/minitest-%{minitest_version}/lib
 mv %{buildroot}%{ruby_libdir}/minitest %{buildroot}%{gem_dir}/gems/minitest-%{minitest_version}/lib
+mv %{buildroot}%{gem_dir}/specifications/default/minitest-%{minitest_version}.gemspec %{buildroot}%{gem_dir}/specifications
+ln -s %{gem_dir}/gems/minitest-%{minitest_version}/lib/minitest %{buildroot}%{ruby_libdir}/minitest
+
+## psych
+mkdir -p %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib
+mkdir -p %{buildroot}%{gem_extdir}/exts/psych-%{psych_version}/lib
+mv %{buildroot}%{ruby_libdir}/psych* %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib
+mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{gem_extdir}/exts/psych-%{psych_version}/lib/
+mv %{buildroot}%{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %{buildroot}%{gem_dir}/specifications
+ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir}/psych
+ln -s %{gem_extdir}/exts/psych-%{psych_version}/lib/psych.so %{buildroot}%{ruby_libarchdir}/psych.so
+ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb
 
 # Adjust the gemspec files so that the gems will load properly
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/rake-%{rake_version}.gemspec
 
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec
 
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]\
   s.extensions = ["bigdecimal.so"]' %{buildroot}%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec
 
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]\
   s.extensions = ["io/console.so"]' %{buildroot}%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec
 
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]\
   s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}%{gem_dir}/specifications/json-%{json_version}.gemspec
 
-sed -i '2 a\
+sed -i '/^end$/ i\
   s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec
 
 %check
@@ -568,14 +652,21 @@ DISABLE_TESTS=""
 # https://bugs.ruby-lang.org/issues/6221
 DISABLE_TESTS="-x test_drbssl.rb $DISABLE_TESTS"
 
+# Disable tests which requires /dev/pts
+DISABLE_TESTS="-x test_curses.rb $DISABLE_TESTS"
+
 %ifarch armv7l armv7hl armv7hnl
 # test_call_double(DL::TestDL) fails on ARM HardFP
 # http://bugs.ruby-lang.org/issues/6592
 DISABLE_TESTS="-x test_dl2.rb $DISABLE_TESTS"
 %endif
 
+touch abrt.rb
+
 %ifnarch ppc ppc64
-make check TESTS="-v $DISABLE_TESTS"
+# Allow MD5 in OpenSSL.
+# https://bugs.ruby-lang.org/issues/9154
+OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS"
 %endif
 
 %post libs -p /sbin/ldconfig
@@ -630,7 +721,7 @@ fi
 
 %{_includedir}/*
 %{_libdir}/libruby.so
-%{_libdir}/pkgconfig/ruby-%{major_minor_version}.pc
+%{_libdir}/pkgconfig/ruby.pc
 
 %files libs
 %doc COPYING
@@ -660,7 +751,6 @@ fi
 %{ruby_libdir}/dl
 %{ruby_libdir}/drb
 %{ruby_libdir}/fiddle
-%exclude %{ruby_libdir}/gems
 %exclude %{ruby_libdir}/irb
 %{ruby_libdir}/matrix
 %{ruby_libdir}/net
@@ -674,8 +764,8 @@ fi
 %{ruby_libdir}/ripper
 %{ruby_libdir}/rss
 %{ruby_libdir}/shell
-%{ruby_libdir}/syck
 %{ruby_libdir}/test
+%{ruby_libdir}/syslog
 %exclude %{ruby_libdir}/tk
 %exclude %{ruby_libdir}/tkextlib
 %{ruby_libdir}/uri
@@ -755,12 +845,12 @@ fi
 %{ruby_libarchdir}/enc/utf_32be.so
 %{ruby_libarchdir}/enc/utf_32le.so
 %{ruby_libarchdir}/enc/windows_1251.so
+%{ruby_libarchdir}/enc/windows_31j.so
 %{ruby_libarchdir}/etc.so
 %{ruby_libarchdir}/fcntl.so
 %{ruby_libarchdir}/fiber.so
 %{ruby_libarchdir}/fiddle.so
 %{ruby_libarchdir}/gdbm.so
-%{ruby_libarchdir}/iconv.so
 %dir %{ruby_libarchdir}/io
 %{ruby_libarchdir}/io/nonblock.so
 %{ruby_libarchdir}/io/wait.so
@@ -782,7 +872,6 @@ fi
 %{ruby_libarchdir}/socket.so
 %{ruby_libarchdir}/stringio.so
 %{ruby_libarchdir}/strscan.so
-%{ruby_libarchdir}/syck.so
 %{ruby_libarchdir}/syslog.so
 %exclude %{ruby_libarchdir}/tcltklib.so
 %exclude %{ruby_libarchdir}/tkutil.so
@@ -797,6 +886,7 @@ fi
 %exclude %{_exec_prefix}/lib*/gems/exts/bigdecimal-%{bigdecimal_version}
 %exclude %{_exec_prefix}/lib*/gems/exts/io-console-%{io_console_version}
 %exclude %{_exec_prefix}/lib*/gems/exts/json-%{json_version}
+%exclude %{_exec_prefix}/lib*/gems/exts/psych-%{psych_version}
 %exclude %{gem_dir}/gems/rake-%{rake_version}
 %exclude %{gem_dir}/gems/rdoc-%{rdoc_version}
 %exclude %{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec
@@ -805,6 +895,7 @@ fi
 %exclude %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec
 %exclude %{gem_dir}/specifications/rake-%{rake_version}.gemspec
 %exclude %{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec
+%exclude %{gem_dir}/specifications/psych-%{psych_version}.gemspec
 
 %files rubygems-devel
 %config(noreplace) %{_sysconfdir}/rpm/macros.rubygems
@@ -851,14 +942,25 @@ fi
 %{gem_dir}/specifications/io-console-%{io_console_version}.gemspec
 
 %files -n rubygem-json
+%{ruby_libdir}/json
+%{ruby_libarchdir}/json.so
 %{gem_extdir}/exts/json-%{json_version}
 %{gem_dir}/gems/json-%{json_version}
 %{gem_dir}/specifications/json-%{json_version}.gemspec
 
 %files -n rubygem-minitest
+%{ruby_libdir}/minitest
 %{gem_dir}/gems/minitest-%{minitest_version}
 %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec
 
+%files -n rubygem-psych
+%{ruby_libdir}/psych
+%{ruby_libdir}/psych.rb
+%{ruby_libarchdir}/psych.so
+%{gem_extdir}/exts/psych-%{psych_version}
+%{gem_dir}/gems/psych-%{psych_version}
+%{gem_dir}/specifications/psych-%{psych_version}.gemspec
+
 %files tcltk
 %{ruby_libdir}/*-tk.rb
 %{ruby_libdir}/tcltk.rb
@@ -878,6 +980,10 @@ fi
 %endif
 
 %changelog
+* Tue Dec 03 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 2.0.0.353-1
+- update to 2.0.0-p353
+- change ruby(abi) -> ruby(release)
+
 * Mon Feb 25 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 1.9.3.392-10
 - update to 1.9.3-p392