X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ruby.spec;h=83f9a76f54505e73e963ea47e6051e47ff7fec5b;hb=88345633ccd2d0a1e6d79f26d58c32d2e95601f7;hp=ca3497583173fedf4b73d9fe7220129848c26df4;hpb=c588a52c870d2e14cbfcd49c36ed5eca1d5793f3;p=packages%2Fruby.git diff --git a/ruby.spec b/ruby.spec index ca34975..83f9a76 100644 --- a/ruby.spec +++ b/ruby.spec @@ -5,30 +5,41 @@ # # Conditional build: %bcond_without doc # skip (time-consuming) docs generating; intended for speed up test builds -%bcond_with tk # build Tk bindings (tcl8.6 is not supported) +%bcond_with tk # Tk bindings %bcond_without batteries # Don't include rubygems, json, rake, minitest %bcond_without default_ruby # use this Ruby as default system Ruby %bcond_with bootstrap # build bootstrap version -%bcond_without tests # build without tests +%bcond_with tests # build without tests -%define rel 0.2 -%define ruby_version 2.1 -%define basever 2.1 -%define patchlevel 6 +# prevent some weird build error: +# readlink: unrecognized option '--library=pthread' +# caused by: +# $ chrpath -l /home/users/glen/tmp/ruby-2.3.3-root-glen/usr/lib64/ruby/2.3/enc/encdb.so +# /home/users/glen/tmp/ruby-2.3.3-root-glen/usr/lib64/ruby/2.3/enc/encdb.so: RPATH=--library=pthread +%define debug 1 + +%define rel 0.1 +%define ruby_version 2.3 +%define basever 2.3 +%define patchlevel 3 +%define pkg_version %{basever}.%{patchlevel} %define ruby_suffix %{!?with_default_ruby:%{ruby_version}} -%define doc_version 2_1_0 +%define doc_version 2_2_5 -%define bigdecimal_ver 1.2.4 -%define io_console_ver 0.4.3 +%define bigdecimal_ver 1.2.8 +%define io_console_ver 0.4.5 %define irb_ver 0.9.6 -%define json_ver 1.8.1 -%define minitest_ver 4.7.5 -%define psych_ver 2.0.5 -%define rake_ver 10.1.0 -%define rdoc_ver 4.1.0 -%define rubygems_ver 2.2.3 -%define test_unit_ver 2.1.6.0 +%define json_ver 1.8.3 +%define minitest_ver 5.8.5 +%define psych_ver 2.1.0 +%define rake_ver 10.4.2 +%define rdoc_ver 4.2.1 +%define rubygems_ver 2.5.2 +%define test_unit_ver 3.1.5 +%define power_assert_ver 0.2.6 +%define did_you_mean_ver 1.0.0 +%define net_telnet_ver 0.1.1 %define oname ruby Summary: Ruby - interpreted scripting language @@ -37,54 +48,59 @@ Summary(pl.UTF-8): Ruby - interpretowany język skryptowy Summary(pt_BR.UTF-8): Linguagem de script orientada a objeto Summary(zh_CN.UTF-8): ruby - 一种快速高效的面向对象脚本编程语言 Name: ruby%{ruby_suffix} -Version: %{basever}.%{patchlevel} +Version: %{pkg_version} Release: %{rel} Epoch: 1 -# Public Domain for example for: include/ruby/st.h, strftime.c, ... -License: (Ruby or BSD) and Public Domain +# Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ... +# MIT and CCO: ccan/* +# zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c +# UCD: some of enc/trans/**/*.src +License: (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD Group: Development/Languages # https://www.ruby-lang.org/en/downloads/ -Source0: https://ftp.ruby-lang.org/pub/ruby/2.1/%{oname}-%{basever}.%{patchlevel}.tar.xz -# Source0-md5: ec6f10ca331ce947802ede86259513a8 +Source0: https://ftp.ruby-lang.org/pub/ruby/2.2/%{oname}-%{pkg_version}.tar.xz +# Source0-md5: 0cba3d1b677d2695236ace62ca6d2255 Source1: http://www.ruby-doc.org/download/%{oname}-doc-bundle.tar.gz # Source1-md5: ad1af0043be98ba1a4f6d0185df63876 Source2: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz -# Source2-md5: bf479c714ba189f9df633600b40aeef5 +# Source2-md5: ac3d547e5ea9ef5a89be161cd967a5e8 Source3: http://www.ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz -# Source3-md5: 3515d672874a1e48d4a8fd32c50639e7 +# Source3-md5: 12f6b7a5e923fbae0f768d3cf760e88e 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 Patch0: %{oname}-lib64.patch -Patch1: %{oname}-ffs.patch +#Patch1: %{oname}-ffs.patch Patch2: fix-bison-invocation.patch Patch3: mkmf-verbose.patch Patch4: strip-ccache.patch -Patch5: duplicated-paths.patch -Patch7: empty-ruby-version.patch +Patch5: ruby-version.patch +Patch6: duplicated-paths.patch +# obsolete? Patch8: rubygems-2.0.0-binary-extensions.patch Patch9: custom-rubygems-location.patch -Patch10: %{oname}-posixsh.patch -Patch11: x32-asm.patch Patch12: archlibdir.patch URL: http://www.ruby-lang.org/ -BuildRequires: autoconf >= 2.60 +BuildRequires: autoconf >= 2.67 BuildRequires: automake BuildRequires: bison >= 1.875 BuildRequires: db-devel BuildRequires: gdbm-devel >= 1.8.3 +BuildRequires: gmp-devel BuildRequires: libffi-devel BuildRequires: ncurses-devel -BuildRequires: openssl-devel +BuildRequires: openssl-devel >= 0.9.6 BuildRequires: pkgconfig BuildRequires: readline-devel >= 4.2 BuildRequires: rpm-build >= 5.4.10-49 BuildRequires: sed >= 4.0 +BuildRequires: systemtap-sdt-devel BuildRequires: tar >= 1:1.22 BuildRequires: xz BuildRequires: yaml-devel +BuildRequires: zlib-devel %if %{without bootstrap} # bootstrap needs ruby binary, erb module BuildRequires: rpm-rubyprov @@ -92,10 +108,10 @@ BuildRequires: ruby BuildRequires: ruby-modules %endif %if %{with tk} -BuildRequires: tk-devel +BuildRequires: tk-devel < 8.7 +BuildRequires: tk-devel >= 8.4 %endif Requires(post,postun): /sbin/ldconfig -Provides: ruby(ver) = %{ruby_version} Obsoletes: ruby-REXML <= 2.4.0-2 Obsoletes: ruby-doc < 1.8.4 Obsoletes: ruby-fastthread <= 0.6.3 @@ -173,10 +189,6 @@ Provides: ruby-bigdecimal = %{bigdecimal_ver} Provides: ruby-io-console = %{io_console_ver} # ruby-modules deprecated, rpm5 generates ruby(abi) itself Provides: ruby-modules(ver) = %{ruby_version} -%if %{with batteries} -Provides: ruby-minitest = %{minitest_ver} -Obsoletes: ruby-minitest <= 1.5.0 -%endif # FIXME later Provides: ruby(abi) = %{ruby_version} %requires_ge_to openssl openssl-devel @@ -281,10 +293,10 @@ Przykłady programów w języku Ruby. %package irb Summary: The Interactive Ruby Version: %{irb_ver} -Release: %{basever}.%{patchlevel}.%{rel} +Release: %{pkg_version}.%{rel} Epoch: 0 Group: Development/Languages -Requires: %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel} +Requires: %{name}-modules = 1:%{pkg_version}-%{rel} Provides: irb = %{version}-%{release} Provides: ruby(irb) = %{version}-%{release} %if "%{_rpmversion}" >= "5" @@ -299,13 +311,14 @@ from the terminal. Summary: A tool to generate HTML and command-line documentation for Ruby projects Summary(pl.UTF-8): Narzędzie do generowania dokumentacji HTML i linii poleceń dla projektów w Rubym Version: %{rdoc_ver} -Release: %{basever}.%{patchlevel}.%{rel} +Release: %{pkg_version}.%{rel} Epoch: 0 -License: GPL v2 and Ruby and MIT +# SIL: lib/rdoc/generator/template/darkfish/css/fonts.css +License: GPLv2 and Ruby and MIT and SIL Group: Development/Libraries Requires: %{name}-irb >= %{irb_ver} Requires: %{name}-json >= %{json_ver} -Requires: %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel} +Requires: %{name}-modules = 1:%{pkg_version}-%{rel} Obsoletes: rdoc <= 0.9.0 %if "%{_rpmversion}" >= "5" BuildArch: noarch @@ -325,11 +338,11 @@ wyświetlania dokumentacji online. Summary: RubyGems - the Ruby standard for packaging Ruby libraries Summary(pl.UTF-8): RubyGems - standard Ruby'ego pakietowania bibliotek Version: %{rubygems_ver} -Release: %{basever}.%{patchlevel}.%{rel} +Release: %{pkg_version}.%{rel} Epoch: 0 License: Ruby or MIT Group: Development/Libraries -Requires: %{name}-modules = 1:%{basever}.%{patchlevel}-%{rel} +Requires: %{name}-modules = 1:%{pkg_version}-%{rel} Requires: %{name}-rdoc >= %{rdoc_ver} Suggests: %{name}-devel Provides: rubygems = %{rubygems_ver} @@ -349,7 +362,7 @@ zarządzania zewnętrznymi bibliotekami. Summary: Rake is a Make-like program implemented in Ruby Summary(pl.UTF-8): Program typu Make dla języka Ruby Version: %{rake_ver} -Release: %{basever}.%{patchlevel}.%{rel} +Release: %{pkg_version}.%{rel} Epoch: 0 License: MIT Group: Development/Languages @@ -391,9 +404,10 @@ Ma następujące cechy: Summary: JSON library for Ruby Summary(pl.UTF-8): Biblioteka JSON dla języka Ruby Version: %{json_ver} -Release: %{basever}.%{patchlevel}.%{rel} +Release: %{pkg_version}.%{rel} Epoch: 0 -License: MIT +# UCD: ext/json/generator/generator.c +License: (Ruby or GPLv2) and UCD Group: Development/Languages Obsoletes: ruby-json-rubyforge Conflicts: ruby-modules < 1:1.9.3.429-3 @@ -404,24 +418,125 @@ This is a JSON implementation as a Ruby extension in C. %description json -l pl.UTF-8 Biblioteka JSON dla języka Ruby. +%package minitest +Summary: Minitest provides a complete suite of testing facilities +Version: %{minitest_ver} +Release: %{pkg_version}.%{rel} +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. + +minitest/spec is a functionally complete spec engine. + +minitest/benchmark is an awesome way to assert the performance of your +algorithms in a repeatable manner. + +minitest/mock by Steven Baker, is a beautifully tiny mock object +framework. + +minitest/pride shows pride in testing and adds coloring to your test +output. + +%package power_assert +# The Summary/Description fields are rather poor. +# https://github.com/k-tsj/power_assert/issues/3 +Summary: Power Assert for Ruby +Version: %{power_assert_ver} +Release: %{pkg_version}.%{rel} +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 +expression. It is useful for testing, providing which value wasn't +correct when the condition is not satisfied. + +%package test-unit +# The Summary/Description fields are rather poor. +# https://github.com/test-unit/test-unit/issues/73 +Summary: Improved version of Test::Unit bundled in Ruby 1.8.x +Version: %{test_unit_ver} +Release: %{pkg_version}.%{rel} +Epoch: 0 +Group: Development/Libraries +# lib/test/unit/diff.rb is a double license of the Ruby license and PSF license. +# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later. +License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description test-unit +Ruby 1.9.x bundles minitest not Test::Unit. Test::Unit bundled in Ruby +1.8.x had not been improved but unbundled Test::Unit (test-unit) is +improved actively. + +%package did_you_mean +Summary: "Did you mean?" experience in Ruby +Version: %{did_you_mean_ver} +Release: %{pkg_version}.%{rel} +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 +the right one when you misspelled something. + +%package net-telnet +Summary: Provides telnet client functionality +Version: %{net_telnet_ver} +Release: %{pkg_version}.%{rel} +Epoch: 0 +Group: Development/Libraries +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description net-telnet +Provides telnet client functionality. + +This class also has, through delegation, all the methods of a socket +object (by default, a TCPSocket, but can be set by the Proxy option to +new()). This provides methods such as close() to end the session and +sysread() to read data directly from the host, instead of via the +waitfor() mechanism. Note that if you do use sysread() directly when +in telnet mode, you should probably pass the output through +preprocess() to extract telnet command sequences. + %prep -%setup -q -n %{oname}-%{basever}.%{patchlevel} -a1 -a2 -a3 %{?with_bootstrap:-a100} +%setup -q -n %{oname}-%{pkg_version} -a1 -a2 -a3 %{?with_bootstrap:-a100} %patch0 -p1 -%patch1 -p1 +#%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 -#%patch7 -p1 +%patch6 -p1 #%patch8 -p1 %patch9 -p1 -#%patch10 -p1 -#%patch11 -p1 %patch12 -p1 # must be regenerated with new bison %{__rm} parse.{c,h} +# Remove bundled libraries to be sure they are not used. +%{__rm} -r ext/psych/yaml +%{__rm} -r ext/fiddle/libffi* + # Install custom operating_system.rb. install -d lib/rubygems/defaults cp -p %{SOURCE6} lib/rubygems/defaults @@ -473,11 +588,10 @@ cd .. --with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \ --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \ --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \ - --enable-shared \ - --enable-pthread \ --enable-multiarch \ - --disable-rubygems \ + --enable-shared \ --disable-install-doc \ + --disable-rubygems \ --with-ruby-version='' \ %{__make} -j1 main \ @@ -489,6 +603,10 @@ cd .. %endif %if %{with tests} +# unset these, as testsuite does "git commit" somewhere, which points to pld .spec repo. doh +unset GIT_DIR GIT_WORK_TREE + +unset GIT DISABLE_TESTS="" %ifarch armv7l armv7hl armv7hnl @@ -547,12 +665,14 @@ for cert in \ DigiCertHighAssuranceEVRootCA.pem \ EntrustnetSecureServerCertificationAuthority.pem \ GeoTrustGlobalCA.pem \ -do + AddTrustExternalCARoot.pem \ + AddTrustExternalCARoot-2048.pem \ +; do %{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/$cert done -install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{basever}.%{patchlevel} -cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{basever}.%{patchlevel} +install -d $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version} +cp -Rf sample/* $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version} cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/rdoc%{ruby_suffix}.1 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/testrb%{ruby_suffix}.1 @@ -563,7 +683,7 @@ gem_dir=$(./miniruby -Ilib -I. -I.ext/common ./tool/runruby.rb -- --disable-gems # Move gems root into common directory, out of Ruby directory structure. install -d $RPM_BUILD_ROOT%{gem_dir} -mv $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir} +%{__mv} $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir} # Move bundled rubygems to %gem_dir # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems @@ -572,61 +692,57 @@ mv $RPM_BUILD_ROOT${gem_dir}/{gems,specifications} $RPM_BUILD_ROOT%{gem_dir} # as there may came files from other packages as well. actually, unlikely as # the links to got system dir and only ruby may package there (other distro # packages should go to vendor dirs) +%if 0 install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rake* $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/lib ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake $RPM_BUILD_ROOT%{ruby_libdir} ln -s %{gem_dir}/gems/rake-%{rake_ver}/lib/rake.rb $RPM_BUILD_ROOT%{ruby_libdir} -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rake-%{rake_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%endif install -d $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/rdoc* $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/lib ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc $RPM_BUILD_ROOT%{ruby_libdir} ln -s %{gem_dir}/gems/rdoc-%{rdoc_ver}/lib/rdoc.rb $RPM_BUILD_ROOT%{ruby_libdir} -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/rdoc-%{rdoc_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__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 -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%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__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%{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%{gem_dir}/gems/io-console-%{io_console_ver}/lib install -d $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io -mv $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/io $RPM_BUILD_ROOT%{gem_dir}/gems/io-console-%{io_console_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/lib/io +%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/io-console-%{io_console_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications ln -s %{gem_dir}/gems/io-console-%{io_console_ver}/lib/io $RPM_BUILD_ROOT%{ruby_libdir}/io ln -s %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so $RPM_BUILD_ROOT%{ruby_libarchdir}/io/console.so install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/json* $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/json $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/json-%{json_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json $RPM_BUILD_ROOT%{ruby_libdir}/json ln -s %{gem_dir}/gems/json-%{json_ver}/lib/json.rb $RPM_BUILD_ROOT%{ruby_libdir}/json.rb install -d $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/parser.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext ln -s %{gem_libdir}/json-%{json_ver}/lib/json/ext/generator.so $RPM_BUILD_ROOT%{ruby_libarchdir}/json/ext -install -d $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libdir}/minitest $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/lib ln -s %{gem_dir}/gems/minitest-%{minitest_ver}/lib/minitest $RPM_BUILD_ROOT%{ruby_libdir} -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/minitest-%{minitest_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications -install -d $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib install -d $RPM_BUILD_ROOT%{ruby_libdir}/test -mv $RPM_BUILD_ROOT%{ruby_libdir}/test/unit $RPM_BUILD_ROOT%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib ln -s %{gem_dir}/gems/test-unit-%{test_unit_ver}/lib/unit $RPM_BUILD_ROOT%{ruby_libdir}/test -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/test-unit-%{test_unit_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib -mv $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/ -mv $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications +%{__mv} $RPM_BUILD_ROOT%{ruby_libdir}/psych* $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib +%{__mv} $RPM_BUILD_ROOT%{ruby_libarchdir}/psych.so $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib/ +%{__mv} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/psych-%{psych_ver}.gemspec $RPM_BUILD_ROOT%{gem_dir}/specifications ln -s %{gem_dir}/gems/psych-%{psych_ver}/lib/psych $RPM_BUILD_ROOT%{ruby_libdir}/psych 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 @@ -653,8 +769,35 @@ sed -i '/^end$/ i\ sed -i '/^end$/ i\ s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec +# Push the .gemspecs through the RubyGems to let them write the stub headers. +# This speeds up loading of libraries and avoids warnings in Spring: +# 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 \ + -e \"spec = Gem::Specification.load('$s')\" \ + -e \"File.write '$s', spec.to_ruby\"" +done + ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake%{ruby_suffix} +%{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \ + $RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \ + $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/rake \ + $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/rdoc \ + $RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/bin/ri \ + $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/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,test} +%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/{[A-Z]*,bin} + %if %{without batteries} # packaged separately %{__rm} -r $RPM_BUILD_ROOT%{ruby_libdir}/{rubygems,rake,json,minitest} @@ -662,7 +805,7 @@ ln -sf %{gem_dir}/gems/rake-%{rake_ver}/bin/rake $RPM_BUILD_ROOT%{_bindir}/rake% %{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rake-* %{__rm} $RPM_BUILD_ROOT%{ruby_libdir}/{rake,rubygems,json}.rb %{__rm} $RPM_BUILD_ROOT%{_bindir}/{gem,rake} -%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake* +#%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rake* %{__rm} $RPM_BUILD_ROOT%{gem_dir}/specifications/default/{json,minitest,rake}-*.gemspec %{?with_doc:%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/ri/%{ruby_version}/system/JSON} %endif @@ -681,7 +824,7 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) -%doc NEWS LEGAL README README.EXT ChangeLog +%doc NEWS LEGAL BSDL README.md README.EXT ChangeLog %attr(755,root,root) %{_bindir}/ruby%{ruby_suffix} %attr(755,root,root) %{_libdir}/libruby.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libruby.so.%{ruby_version} @@ -718,11 +861,16 @@ rm -rf $RPM_BUILD_ROOT %if %{with tk} %files tk %defattr(644,root,root,755) +%doc ext/tk/{ChangeLog.tkextlib,MANUAL_tcltklib.eng,README.fork} +%lang(ja) %doc ext/tk/MANUAL_tcltklib.ja +%{ruby_libdir}/multi-tk.rb +%{ruby_libdir}/remote-tk.rb %{ruby_libdir}/tcltk.rb %{ruby_libdir}/tk*.rb %{ruby_libdir}/tk %{ruby_libdir}/tkextlib -%attr(755,root,root) %{ruby_archdir}/t*.so +%attr(755,root,root) %{ruby_archdir}/tcltklib.so +%attr(755,root,root) %{ruby_archdir}/tkutil.so %endif %files irb @@ -757,11 +905,12 @@ rm -rf $RPM_BUILD_ROOT %files rake %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/rake%{ruby_suffix} -%{_mandir}/man1/rake%{ruby_suffix}.1* -%{ruby_libdir}/rake -%{ruby_libdir}/rake.rb +#%{_mandir}/man1/rake%{ruby_suffix}.1* +#%{ruby_libdir}/rake +#%{ruby_libdir}/rake.rb %dir %{gem_dir}/gems/rake-%{rake_ver} %{gem_dir}/gems/rake-%{rake_ver}/lib +%{gem_dir}/gems/rake-%{rake_ver}/rakelib %dir %{gem_dir}/gems/rake-%{rake_ver}/bin %attr(755,root,root) %{gem_dir}/gems/rake-%{rake_ver}/bin/rake %{gem_dir}/specifications/rake-%{rake_ver}.gemspec @@ -784,13 +933,46 @@ rm -rf $RPM_BUILD_ROOT %{gem_dir}/specifications/json-%{json_ver}.gemspec %endif +%files power_assert +%defattr(644,root,root,755) +%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 + +%files minitest +%defattr(644,root,root,755) +%{ruby_libdir}/minitest +%{gem_dir}/gems/minitest-%{minitest_ver} +%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec + +%files test-unit +%defattr(644,root,root,755) +%dir %{gem_dir}/gems/test-unit-%{test_unit_ver} +%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib +%{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec +%{_mandir}/man1/testrb%{ruby_suffix}.1* + +%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 + +%files net-telnet +%defattr(644,root,root,755) +%dir %{gem_dir}/gems/net-telnet-%{net_telnet_ver} +%{gem_dir}/gems/net-telnet-%{net_telnet_ver}/lib +%{gem_dir}/specifications/net-telnet-%{net_telnet_ver}.gemspec + %files modules %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/erb%{ruby_suffix} %{ruby_libdir}/cgi -%{ruby_libdir}/date +#%{ruby_libdir}/date %{ruby_libdir}/digest -%{ruby_libdir}/dl +#%{ruby_libdir}/dl %{ruby_libdir}/drb %{ruby_libdir}/fiddle %{ruby_libdir}/io @@ -805,7 +987,6 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/ripper %{ruby_libdir}/rss %{ruby_libdir}/shell -#%{ruby_libdir}/syck %{ruby_libdir}/syslog %{ruby_libdir}/test %{ruby_libdir}/uri @@ -819,13 +1000,13 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/benchmark.rb %{ruby_libdir}/cgi.rb %{ruby_libdir}/cmath.rb -%{ruby_libdir}/complex.rb +#%{ruby_libdir}/complex.rb %{ruby_libdir}/csv.rb %{ruby_libdir}/date.rb %{ruby_libdir}/debug.rb %{ruby_libdir}/delegate.rb %{ruby_libdir}/digest.rb -%{ruby_libdir}/dl.rb +#%{ruby_libdir}/dl.rb %{ruby_libdir}/drb.rb %{ruby_libdir}/e2mmap.rb %{ruby_libdir}/erb.rb @@ -835,7 +1016,7 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/find.rb %{ruby_libdir}/forwardable.rb %{ruby_libdir}/getoptlong.rb -%{ruby_libdir}/gserver.rb +#%{ruby_libdir}/gserver.rb %{ruby_libdir}/ipaddr.rb %{ruby_libdir}/json.rb %{ruby_libdir}/kconv.rb @@ -848,6 +1029,7 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/open-uri.rb %{ruby_libdir}/open3.rb %{ruby_libdir}/openssl.rb +%{ruby_libdir}/optionparser.rb %{ruby_libdir}/optparse.rb %{ruby_libdir}/ostruct.rb %{ruby_libdir}/pathname.rb @@ -858,7 +1040,7 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/profiler.rb %{ruby_libdir}/pstore.rb %{ruby_libdir}/psych.rb -%{ruby_libdir}/rational.rb +#%{ruby_libdir}/rational.rb %{ruby_libdir}/rdoc.rb %{ruby_libdir}/resolv-replace.rb %{ruby_libdir}/resolv.rb @@ -880,6 +1062,8 @@ rm -rf $RPM_BUILD_ROOT %{ruby_libdir}/tracer.rb %{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 @@ -890,21 +1074,20 @@ rm -rf $RPM_BUILD_ROOT %exclude %{ruby_libdir}/rubygems.rb %exclude %{ruby_libdir}/ubygems.rb %exclude %{ruby_libdir}/rbconfig/datadir.rb -%exclude %{ruby_libdir}/rbconfig/obsolete.rb +#%exclude %{ruby_libdir}/rbconfig/obsolete.rb %endif %exclude %{ruby_libdir}/irb.rb %exclude %{ruby_libdir}/mkmf.rb -%exclude %{ruby_libdir}/rake.rb +#%exclude %{ruby_libdir}/rake.rb %{ruby_archdir}/rbconfig.rb %attr(755,root,root) %{ruby_archdir}/bigdecimal.so %attr(755,root,root) %{ruby_archdir}/continuation.so %attr(755,root,root) %{ruby_archdir}/coverage.so -#%attr(755,root,root) %{ruby_archdir}/curses.so %attr(755,root,root) %{ruby_archdir}/date_core.so %attr(755,root,root) %{ruby_archdir}/dbm.so %attr(755,root,root) %{ruby_archdir}/digest.so -%attr(755,root,root) %{ruby_archdir}/dl.so +#%attr(755,root,root) %{ruby_archdir}/dl.so %attr(755,root,root) %{ruby_archdir}/etc.so %attr(755,root,root) %{ruby_archdir}/fcntl.so %attr(755,root,root) %{ruby_archdir}/fiber.so @@ -926,10 +1109,12 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{ruby_archdir}/syslog.so %attr(755,root,root) %{ruby_archdir}/zlib.so +%dir %{ruby_archdir}/cgi +%attr(755,root,root) %{ruby_archdir}/cgi/escape.so %dir %{ruby_archdir}/digest %attr(755,root,root) %{ruby_archdir}/digest/*.so -%dir %{ruby_archdir}/dl -%attr(755,root,root) %{ruby_archdir}/dl/callback.so +#%dir %{ruby_archdir}/dl +#%attr(755,root,root) %{ruby_archdir}/dl/callback.so %dir %{ruby_archdir}/enc %attr(755,root,root) %{ruby_archdir}/enc/*.so %dir %{ruby_archdir}/enc/trans @@ -962,13 +1147,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{gem_libdir}/io-console-%{io_console_ver}/lib/io %attr(755,root,root) %{gem_libdir}/io-console-%{io_console_ver}/lib/io/console.so -%if %{with batteries} -# minitest -%{ruby_libdir}/minitest -%{gem_dir}/gems/minitest-%{minitest_ver} -%{gem_dir}/specifications/minitest-%{minitest_ver}.gemspec -%endif - %{gem_dir}/specifications/psych-%{psych_ver}.gemspec %{gem_dir}/gems/psych-%{psych_ver} %{ruby_libdir}/psych @@ -976,15 +1154,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{gem_libdir}/psych-%{psych_ver}/lib %attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so -# test-unit -%{gem_dir}/specifications/test-unit-%{test_unit_ver}.gemspec -%dir %{gem_dir}/gems/test-unit-%{test_unit_ver} -%{gem_dir}/gems/test-unit-%{test_unit_ver}/lib -%dir %{gem_dir}/gems/test-unit-%{test_unit_ver}/bin -%attr(755,root,root) %{gem_dir}/gems/test-unit-%{test_unit_ver}/bin/testrb -%attr(755,root,root) %{_bindir}/testrb%{ruby_suffix} -%{_mandir}/man1/testrb%{ruby_suffix}.1* - %dir %{gem_dir} %dir %{gem_dir}/gems %dir %{gem_dir}/specifications @@ -1006,4 +1175,4 @@ rm -rf $RPM_BUILD_ROOT %files examples %defattr(644,root,root,755) -%{_examplesdir}/%{oname}-* +%{_examplesdir}/%{oname}-%{pkg_version}