directories, e.g. instead of default X.Y.Z, you can specify whatever
string.
---
- configure.in | 68 ++++++++++++++++++++++++++++-------------------------
+ configure.ac | 66 ++++++++++++++++++++++++---------------------
template/ruby.pc.in | 1 +
- 2 files changed, 37 insertions(+), 32 deletions(-)
+ 2 files changed, 36 insertions(+), 31 deletions(-)
-diff --git a/configure.in b/configure.in
-index db37cd6..6e73fae 100644
---- a/configure.in
-+++ b/configure.in
-@@ -4177,9 +4177,6 @@ AS_CASE(["$target_os"],
+diff --git a/configure.ac b/configure.ac
+index 80b137e380..63cd3b4f8b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4146,9 +4146,6 @@ AS_CASE(["$target_os"],
rubyw_install_name='$(RUBYW_INSTALL_NAME)'
])
rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}
AC_ARG_WITH(rubyarchprefix,
AS_HELP_STRING([--with-rubyarchprefix=DIR],
-@@ -4202,56 +4199,62 @@ AC_ARG_WITH(ridir,
+@@ -4171,57 +4168,63 @@ AC_ARG_WITH(ridir,
AC_SUBST(ridir)
AC_SUBST(RI_BASE_NAME)
-AS_CASE(["$ruby_version"],
- [full], [RUBY_LIB_VERSION_STYLE='3 /* full */'],
- [minor], [RUBY_LIB_VERSION_STYLE='2 /* minor */'])
--if test ${RUBY_LIB_VERSION_STYLE+set}; then
+-AS_IF([test ${RUBY_LIB_VERSION_STYLE+set}], [
- {
- echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"
+- echo '@%:@include "confdefs.h"'
- echo '#define STRINGIZE(x) x'
- test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'
- echo '#include "version.h"'
- } > conftest.c
- ruby_version="`$CPP -I. -I"${srcdir}" -I"${srcdir}/include" conftest.c | sed '/^ruby_version=/!d;s/ //g'`"
- eval $ruby_version
--elif test -z "${ruby_version}"; then
+-], [test -z "${ruby_version}"], [
- AC_MSG_ERROR([No ruby version, No place for bundled libraries])
--else
+-], [
- RUBY_LIB_VERSION="${ruby_version}"
--fi
-+RUBY_LIB_VERSION_STYLE='2 /* minor */'
+-])
++RUBY_LIB_VERSION_STYLE='3 /* full */'
+{
+echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"
++echo '@%:@include "confdefs.h"'
+echo '#define STRINGIZE(x) x'
+test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'
+echo '#include "version.h"'
- [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}])
+ [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}])
- if test "${LOAD_RELATIVE+set}"; then
+ AS_IF([test "${LOAD_RELATIVE+set}"], [
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
-@@ -4270,6 +4273,7 @@ AC_SUBST(sitearchincludedir)dnl
+@@ -4238,6 +4241,7 @@ AC_SUBST(sitearchincludedir)dnl
AC_SUBST(arch)dnl
AC_SUBST(sitearch)dnl
AC_SUBST(ruby_version)dnl
index 8a2c066..c81b211 100644
--- a/template/ruby.pc.in
+++ b/template/ruby.pc.in
-@@ -9,6 +9,7 @@ MAJOR=@MAJOR@
+@@ -2,6 +2,7 @@ MAJOR=@MAJOR@
MINOR=@MINOR@
TEENY=@TEENY@
ruby_version=@ruby_version@
+ruby_version_dir_name=@ruby_version_dir_name@
+ RUBY_API_VERSION=@RUBY_API_VERSION@
RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@
- RUBY_BASE_NAME=@RUBY_BASE_NAME@
- RUBY_VERSION_NAME=@RUBY_VERSION_NAME@
---
-2.1.0
+ arch=@arch@
From 518850aba6eee76de7715aae8d37330e34b01983 Mon Sep 17 00:00:00 2001
- version = RbConfig::CONFIG['ruby_version']
+ version = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
- BASE = if RbConfig::CONFIG.key? 'ridir' then
- File.join RbConfig::CONFIG['ridir'], version
+ BASE = File.join RbConfig::CONFIG['ridir'], version
+
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index d4c110e..d39c9a6 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
-@@ -406,7 +406,7 @@ def CONFIG.[](name, mandatory = false)
+@@ -453,7 +453,7 @@ def CONFIG.[](name, mandatory = false)
install?(:doc, :rdoc) do
if $rdocdir
- ridatadir = File.join(CONFIG['ridir'], CONFIG['ruby_version'], "system")
+ ridatadir = File.join(CONFIG['ridir'], CONFIG['ruby_version_dir_name'] || CONFIG['ruby_version'], "system")
prepare "rdoc", ridatadir
- install_recursive($rdocdir, ridatadir, :mode => $data_mode)
+ install_recursive($rdocdir, ridatadir, :no_install => rdoc_noinst, :mode => $data_mode)
end
---
-2.1.0
-
-From f8d136f9a46d1fe87eba622ab9665935d05e981b Mon Sep 17 00:00:00 2001
+From 9f0ec0233f618cbb862629816b22491c3df79578 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Tue, 31 Mar 2015 16:37:44 +0200
Subject: [PATCH 3/4] Add ruby_version_dir_name support for RubyGems.
---
- lib/rubygems/defaults.rb | 11 ++++++-----
- test/rubygems/test_gem.rb | 5 +++--
- 2 files changed, 9 insertions(+), 7 deletions(-)
+ lib/rubygems/defaults.rb | 7 ++++---
+ test/rubygems/test_gem.rb | 5 +++--
+ 2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
-index 55ca080..75eea2b 100644
+index d4ff4a262c..3f9a5bf590 100644
--- a/lib/rubygems/defaults.rb
+++ b/lib/rubygems/defaults.rb
-@@ -32,20 +32,20 @@ def self.default_dir
- [
- File.dirname(RbConfig::CONFIG['sitedir']),
- 'Gems',
-- RbConfig::CONFIG['ruby_version']
-+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
- ]
- elsif RbConfig::CONFIG['rubylibprefix'] then
- [
- RbConfig::CONFIG['rubylibprefix'],
- 'gems',
-- RbConfig::CONFIG['ruby_version']
-+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
- ]
- else
- [
- RbConfig::CONFIG['libdir'],
- ruby_engine,
- 'gems',
-- RbConfig::CONFIG['ruby_version']
-+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
- ]
- end
+@@ -34,7 +34,7 @@ def self.default_spec_cache_dir
+ # specified in the environment
-@@ -75,7 +75,8 @@ def self.default_rubygems_dirs
+ def self.default_dir
+- @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version"])
++ @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"])
+ end
- def self.user_dir
- parts = [Gem.user_home, '.gem', ruby_engine]
-- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty?
-+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
+ ##
+@@ -103,7 +103,8 @@ def self.user_dir
+ gem_dir = File.join(Gem.user_home, ".gem")
+ gem_dir = File.join(Gem.data_home, "gem") unless File.exist?(gem_dir)
+ parts = [gem_dir, ruby_engine]
+- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty?
++ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
+ parts << ruby_version_dir_name unless ruby_version_dir_name.empty?
File.join parts
end
-@@ -172,7 +173,7 @@ def self.vendor_dir # :nodoc:
- return nil unless RbConfig::CONFIG.key? 'vendordir'
+@@ -248,7 +249,7 @@ def self.vendor_dir # :nodoc:
+ return nil unless RbConfig::CONFIG.key? "vendordir"
- File.join RbConfig::CONFIG['vendordir'], 'gems',
-- RbConfig::CONFIG['ruby_version']
-+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
+ File.join RbConfig::CONFIG["vendordir"], "gems",
+- RbConfig::CONFIG["ruby_version"]
++ RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
end
- end
+ ##
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
-index 0428bea..b6e090e 100644
+index b25068405d..e9fef4a311 100644
--- a/test/rubygems/test_gem.rb
+++ b/test/rubygems/test_gem.rb
-@@ -962,7 +962,8 @@ def test_self_use_paths
+@@ -1337,7 +1337,8 @@ def test_self_use_paths
def test_self_user_dir
- parts = [@userhome, '.gem', Gem.ruby_engine]
-- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty?
-+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
+ parts = [@userhome, ".gem", Gem.ruby_engine]
+- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty?
++ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
+ parts << ruby_version_dir_name unless ruby_version_dir_name.empty?
- assert_equal File.join(parts), Gem.user_dir
- end
-@@ -1089,7 +1090,7 @@ def test_self_user_home_user_drive_and_path
- def test_self_vendor_dir
- expected =
- File.join RbConfig::CONFIG['vendordir'], 'gems',
-- RbConfig::CONFIG['ruby_version']
-+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
+ FileUtils.mkdir_p File.join(parts)
- assert_equal expected, Gem.vendor_dir
- end
---
-2.1.0
+@@ -1413,7 +1414,7 @@ def test_self_vendor_dir
+ vendordir(File.join(@tempdir, "vendor")) do
+ expected =
+ File.join RbConfig::CONFIG["vendordir"], "gems",
+- RbConfig::CONFIG["ruby_version"]
++ RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]
+
+ assert_equal expected, Gem.vendor_dir
+ end
From 88c38a030c22dbf9422ece847bdfbf87d6659313 Mon Sep 17 00:00:00 2001
name.
---
- configure.in | 2 +-
+ configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/configure.in b/configure.in
-index 6e73fae..c842725 100644
---- a/configure.in
-+++ b/configure.in
-@@ -275,7 +275,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`
+diff --git a/configure.ac b/configure.ac
+index a00f2b6776..999e2d6d5d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -124,7 +124,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`
RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"`
AC_SUBST(RUBY_BASE_NAME)
AC_SUBST(RUBYW_BASE_NAME)
-AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}')
+AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version_dir_name}')
- AC_CANONICAL_TARGET
- test x"$target_alias" = x &&
---
-2.1.0
-
+ dnl checks for alternative programs
+ AC_CANONICAL_BUILD
# TODO:
# - include ext/ in docs
-# - replace ri with fastri
-# - patch ri to search multiple indexes (one per package), so RPMs can install ri docs
#
# 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 1
-%define ruby_version 2.4
-%define patchlevel 6
+%ifarch %{x8664} aarch64
+%define with_yjit 1
+%endif
+
+%define rel 9
+%define ruby_version 3.4
+%define patchlevel 9
%define pkg_version %{ruby_version}.%{patchlevel}
-%define ruby_suffix %{!?with_default_ruby:%{ruby_version}}
-%define doc_version 2_4_6
+%define ruby_suffix %{!?with_default_ruby:%{ruby_version}}
+%define doc_version 3_4_1
+%define unicode_version 15.0.0
%define oname ruby
Summary: Ruby - interpreted scripting language
Summary(ja.UTF-8): オブジェクト指向言語Rubyインタプリタ
Epoch: 1
# 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
+# zlib: ext/digest/md5/md5.*, nkf/nkf-utf8/nkf.c (bundled gem)
# 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://cache.ruby-lang.org/pub/ruby/%{ruby_version}/%{oname}-%{pkg_version}.tar.xz
-# Source0-md5: e906495b65f9f31de4ceb0d4bbbea8b1
-Source2: https://ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
-# Source2-md5: a520f66caa420a12e859da6082242946
-Source3: https://ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
-# Source3-md5: 2a5b0c852f0e47c26f7d6db37e09a584
-Source50: http://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-md5: 263381d7b4b5e2d52a91e1bbbd4722d4
-Source52: http://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-md5: fea30f45a2f81ffa474fd984d297e2ea
-Source54: http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt
-# Source54-md5: dde25b1cf9bbb4ba1140ac12e4128b0b
-Source4: rdoc.1
-Source5: testrb.1
+# Source0-md5: b58158f56343125bc9a56841f4c2cb35
+Source2: https://ruby-doc.org/downloads/%{oname}_%{doc_version}_complete_rdocs.tgz
+# Source2-md5: a13c63951d5ce47b169935a7208f876d
Source6: operating_system.rb
-Patch1: rubygems.patch
-Patch2: fix-bison-invocation.patch
-Patch3: mkmf-verbose.patch
Patch4: strip-ccache.patch
Patch5: ruby-version.patch
Patch6: duplicated-paths.patch
-# obsolete?
-Patch8: rubygems-2.0.0-binary-extensions.patch
Patch9: custom-rubygems-location.patch
Patch12: archlibdir.patch
URL: http://www.ruby-lang.org/
BuildRequires: autoconf >= 2.67
BuildRequires: automake
-BuildRequires: bison >= 1.875
-BuildRequires: db-devel
-BuildRequires: gdbm-devel >= 1.8.3
+BuildRequires: gcc-c++
BuildRequires: gmp-devel
BuildRequires: libffi-devel
+BuildRequires: libstdc++-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel >= 0.9.6
BuildRequires: pkgconfig
-BuildRequires: readline-devel >= 4.2
-BuildRequires: rpm-build >= 4.5-83
+BuildRequires: rpm-build >= 5.4.10-49
+BuildRequires: rpmbuild(macros) >= 2.050
+# 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:3.0
+%{?with_yjit:BuildRequires: rust >= 1.58}
BuildRequires: sed >= 4.0
-BuildRequires: systemtap-sdt-devel
+%{?with_dtrace:BuildRequires: systemtap-sdt-devel}
BuildRequires: tar >= 1:1.22
BuildRequires: xz
BuildRequires: yaml-devel
BuildRequires: ruby-modules
%endif
Requires(post,postun): /sbin/ldconfig
+%{?with_yjit:%{?rust_req}}
Obsoletes: ruby-REXML <= 2.4.0-2
Obsoletes: ruby-doc < 1.8.4
Obsoletes: ruby-fastthread <= 0.6.3
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.9
-%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.4
-%define test_unit_ver 3.2.3
-%define xmlrpc_ver 0.2.1
+# hack: skip rubygem(ipaddr)
+%define _noautoreq ipaddr
+
+%define rubygems_ver 3.6.9
+%define rubygems_molinillo_ver 0.8.0
+%define rubygems_optparse_ver 0.6.0
+%define rubygems_tsort_ver 0.2.0
+
+# Default gems.
+%define bundler_ver 2.6.9
+%define bundler_connection_pool_ver 2.5.0
+%define bundler_fileutils_ver 1.7.3
+%define bundler_pub_grub_ver 0.5.0
+%define bundler_net_http_persistent_ver 4.0.4
+%define bundler_thor_ver 1.3.2
+%define bundler_tsort_ver 0.2.0
+%define bundler_uri_ver 1.0.4
+
+%define did_you_mean_ver 2.0.0
+%define erb_ver 4.0.4
+%define io_console_ver 0.8.1
+%define irb_ver 1.14.3
+%define json_ver 2.9.1
+%define openssl_ver 3.3.1
+%define psych_ver 5.2.2
+%define rdoc_ver 6.14.0
+%define stringio_ver 3.1.2
+
+# Bundled gems.
+%define bigdecimal_ver 3.1.8
+%define minitest_ver 5.25.4
+%define power_assert_ver 2.0.5
+%define rake_ver 13.2.1
+%define test_unit_ver 3.6.7
+%define rexml_ver 3.4.4
+%define rss_ver 0.3.1
+%define net_ftp_ver 0.3.8
+%define net_imap_ver 0.5.8
+%define net_pop_ver 0.1.2
+%define net_smtp_ver 0.5.1
+%define matrix_ver 0.4.2
+%define prime_ver 0.1.3
+%define rbs_ver 3.8.0
+%define typeprof_ver 0.30.1
+%define debug_ver 1.11.0
+%define racc_ver 1.8.1
+%define nkf_ver 0.2.0
+%define syslog_ver 0.2.0
+%define csv_ver 3.3.2
+%define abbrev_ver 0.1.2
+%define base64_ver 0.2.0
+%define drb_ver 2.2.1
+%define mutex_m_ver 0.3.0
+%define getoptlong_ver 0.2.1
+%define observer_ver 0.1.2
+%define resolv_replace_ver 0.1.1
+%define rinda_ver 0.2.0
+%define repl_type_completor_ver 0.1.9
+
%define ruby_ridir %{_datadir}/ri/system
%define gem_dir %{_datadir}/gems
# ruby needs frame pointers for correct exception handling
%define specflags_ia32 -fno-omit-frame-pointer
+# Ruby code violates C strict aliasing rules in many places (Alpine, openSUSE both add this;
+# Alpine notes it's needed to avoid miscompilation, openSUSE applies it for iseq.c correctness)
+%define specflags -fno-strict-aliasing
+
%description
Ruby is the interpreted scripting language for quick and easy
object-oriented programming. It has many features to process text
Group: Development/Languages
Requires: %{name} = %{epoch}:%{version}-%{release}
Suggests: ruby-rubygems
-# ruby-modules deprecated, rpm generates ruby(abi) itself
+# ruby-modules deprecated, rpm5 generates ruby(abi) itself
Provides: ruby-modules(ver) = %{ruby_version}
# FIXME later
Provides: ruby(abi) = %{ruby_version}
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.
Przykłady programów w języku Ruby.
# IMPORTANT: keep irb, rdoc, rubygems, rake, json as last packages as we reset epoch/version/release
-# and %{version},%{release} macros may not be used directly as they take last
+# and version, release macros may not be used directly as they take last
# subpackage value not main package one what you intend to use
%package irb
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.
# UCD: ext/json/generator/generator.c
License: (Ruby or GPL v2) and UCD
Group: Development/Languages
-Obsoletes: ruby-json-rubyforge
+Obsoletes: ruby-json-rubyforge < 1
Conflicts: ruby-modules < 1:1.9.3.429-3
%description json
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
Szkielet pozwala na pisanie testów, sprawdzanie wyników i automatyczne
testowanie w Rubym.
-%package did_you_mean
-Summary: "Did you mean?" experience in Ruby
-Summary(pl.UTF-8): Zachowanie "czy miałeś na myśli?" w języku Ruby
-Version: %{did_you_mean_ver}
+%package rbs
+Summary: Type signature for Ruby
+Version: %{rbs_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.
-%description did_you_mean -l pl.UTF-8
-Zachowanie "czy miałeś na myśli" w języku ruby: komunikat błędu
-podpowie właściwą pisownię w przypadku literówki.
+%description rbs
+RBS is the language for type signatures for Ruby and standard library
+definitions.
-%package net-telnet
-Summary: Provides telnet client functionality
-Summary(pl.UTF-8): Funkcjonalność klienta usługi telnet
-Version: %{net_telnet_ver}
+%package typeprof
+Summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation
+Version: %{typeprof_ver}
Release: %{pkg_version}.%{rel}
-Epoch: 0
-Group: Development/Libraries
-%if "%{_rpmversion}" >= "5"
+License: MIT
+URL: https://github.com/ruby/typeprof
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.
-%description net-telnet -l pl.UTF-8
-Ten pakiet dostarcza funkcjonalność klienta usługi telnet.
-
-Ta klasa ma, poprzez delegację, wszystkie metody obiektu gniazda
-(domyślnie TCPSocket, ale może być ustawiona przez opcję Proxy dla
-new()). Udostępnia metody takie jak: close() do zakończenia sesji czy
-sysread() do odczytu danych bezpośrednio z hosta zamiast poprzez
-mechanizm waitfor().
+%description typeprof
+TypeProf performs a type analysis of non-annotated Ruby code. It
+abstractly executes input Ruby code in a level of types instead of
+values, gathers what types are passed to and returned by methods, and
+prints the analysis result in RBS format, a standard type description
+format for Ruby 3.x
%package bigdecimal
Summary: BigDecimal - arbitrary-precision floating point decimal arithmetic
serializować i deserializować większość obiektów języka Ruby do/z
formatu YAML.
-%package xmlrpc
-Summary: A xmlrpc wrapper for Ruby
-Summary(pl.UTF-8): Obudowanie xmlrpc dla języka Ruby
-Version: %{xmlrpc_ver}
+%package rexml
+Summary: An XML toolkit for Ruby
+Version: %{rexml_ver}
Release: %{pkg_version}.%{rel}
-Epoch: 0
-License: MIT
-Group: Development/Libraries
-
-%description xmlrpc
-XMLRPC is a lightweight protocol that enables remote procedure calls
-over HTTP. It is defined at <http://www.xmlrpc.com/>.
-
-XMLRPC allows you to create simple distributed computing solutions
-that span computer languages. Its distinctive feature is its
-simplicity compared to other approaches like SOAP and CORBA.
-
-The Ruby standard library package 'xmlrpc' enables you to create a
-server that implements remote procedures and a client that calls them.
-Very little code is required to achieve either of these.
-
-%description xmlrpc -l pl.UTF-8
-XMLRPC to lekki protokół pozwalający na wywołania zdalnych procedur
-poprzez HTTP. Jest zdefiniowany na <http://www.xmlrpc.com/>.
+License: BSD
+URL: https://github.com/ruby/rexml
+BuildArch: noarch
-XMLRPC pozwala na tworzenie prostych, rozproszonych systemów
-komputerowych dla wielu języków. Wyróżniającą cechą jest prostota w
-porównaniu do innych rozwiązań, takich jak SOAP czy CORBA.
+%description rexml
+REXML was inspired by the Electric XML library for Java, which
+features an easy-to-use API, small size, and speed. Hopefully, REXML,
+designed with the same philosophy, has these same features. I've tried
+to keep the API as intuitive as possible, and have followed the Ruby
+methodology for method naming and code flow, rather than mirroring the
+Java API.
+
+REXML supports both tree and stream document parsing. Stream parsing
+is faster (about 1.5 times as fast). However, with stream parsing, you
+don't get access to features such as XPath.
+
+%package rss
+Summary: Family of libraries that support various formats of XML "feeds"
+Version: %{rss_ver}
+License: BSD
+URL: https://github.com/ruby/rss
+BuildArch: noarch
-Pakiet biblioteki standardowej języka Ruby 'xmlrpc' pozwala na
-stworzenie serwera implementującego procedury zdalne oraz klienta
-wywołującego je. Aby to osiągnąć wystarczy bardzo mało kodu.
+%description rss
+Really Simple Syndication (RSS) is a family of formats that describe
+'feeds', specially constructed XML documents that allow an interested
+person to subscribe and receive updates from a particular web service.
+This library provides tooling to read and create these feeds.
+
+%package bundled-gems
+Summary: Bundled gems which are part of Ruby StdLib
+Requires: ruby-rubygems >= %{rubygems_ver}
+# Runtime dependency of rubygem(debug).
+Recommends: rubygem(irb) >= %{irb_ver}
+Provides: rubygem(abbrev) = %{abbrev_ver}
+Provides: rubygem(base64) = %{base64_ver}
+Provides: rubygem(csv) = %{csv_ver}
+Provides: rubygem(debug) = %{debug_ver}
+Provides: rubygem(drb) = %{drb_ver}
+Provides: rubygem(getoptlong) = %{getoptlong_ver}
+Provides: rubygem(matrix) = %{matrix_ver}
+Provides: rubygem(mutex_m) = %{mutex_m_ver}
+Provides: rubygem(net-ftp) = %{net_ftp_ver}
+Provides: rubygem(net-imap) = %{net_imap_ver}
+Provides: rubygem(net-pop) = %{net_pop_ver}
+Provides: rubygem(net-smtp) = %{net_smtp_ver}
+Provides: rubygem(nkf) = %{nkf_ver}
+Provides: rubygem(observer) = %{observer_ver}
+Provides: rubygem(prime) = %{prime_ver}
+Provides: rubygem(racc) = %{racc_ver}
+Provides: rubygem(resolv-replace) = %{resolv_replace_ver}
+Provides: rubygem(repl_type_completor) = %{repl_type_completor_ver}
+Provides: rubygem(rinda) = %{rinda_ver}
+Provides: rubygem(syslog) = %{syslog_ver}
+
+%description bundled-gems
+Bundled gems which are part of Ruby StdLib. While being part of Ruby,
+these needs to be listed in Gemfile to be used by Bundler.
%prep
-%setup -q -n %{oname}-%{pkg_version} -a2 -a3
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-#%patch8 -p1
-%patch9 -p1
-%patch12 -p1
-
-install -d enc/unicode/data/9.0.0
-cp -p %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53} %{SOURCE54} enc/unicode/data/9.0.0/
+%setup -q -n %{oname}-%{pkg_version} -a2
+#%patch3 -p1
+%patch 4 -p1
+%patch 5 -p1
+%patch 6 -p1
+%patch 9 -p1
+%patch 12 -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*
+#%{__rm} -r ext/psych/yaml
+#%{__rm} -r ext/fiddle/libffi*
# Install custom operating_system.rb.
install -d lib/rubygems/defaults
%if %{with bootstrap}
# avoid regeneration, needs iostring module
-touch enc/unicode/9.0.0/*.h
+touch enc/unicode/%{unicode_version}/*.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
--with-rubyarchhdrdir=%{_includedir}/%{oname}-%{ruby_version} \
--with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
--with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \
+ --without-compress-debug-sections \
+ --enable-mkmf-verbose \
+ %{__enable_disable yjit} \
+%ifarch x32
+ --with-coroutine=ucontext \
+%endif
--enable-multiarch \
--enable-shared \
--disable-install-doc \
--disable-rpath \
--disable-rubygems \
+ %{__enable_disable dtrace} \
--with-ruby-version='' \
%{__make} -j1 main \
install -d $RPM_BUILD_ROOT{%{ruby_rdocdir},%{ruby_ridir}} \
$RPM_BUILD_ROOT%{ruby_vendorarchdir} \
$RPM_BUILD_ROOT%{ruby_vendorlibdir}/net \
- $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data \
+ $RPM_BUILD_ROOT%{ruby_vendorlibdir}/data
+
%{__make} install %{?with_doc:install-doc -j1} \
DESTDIR=$RPM_BUILD_ROOT
# Kill bundled certificates, as they should be part of ca-certificates.
for cert in \
- AddTrustExternalCARoot.pem \
- DigiCertHighAssuranceEVRootCA.pem \
GlobalSignRootCA.pem \
+ GlobalSignRootCA_R3.pem \
; do
%{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/*/$cert
done
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
-
%{__rm} -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/html
# detect this runtime, "make install" is affected by operating_system.rb what is installed in system!
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
-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
-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
+touch $RPM_BUILD_ROOT%{gem_libdir}/io-console-%{io_console_ver}/gem.build_complete
%{__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
install -d $RPM_BUILD_ROOT%{gem_dir}/gems/json-%{json_ver}/lib
install -d $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/lib
+touch $RPM_BUILD_ROOT%{gem_libdir}/json-%{json_ver}/gem.build_complete
%{__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
install -d $RPM_BUILD_ROOT%{gem_dir}/gems/psych-%{psych_ver}/lib
install -d $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/lib
+touch $RPM_BUILD_ROOT%{gem_libdir}/psych-%{psych_ver}/gem.build_complete
%{__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.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
+
+# Move the binary extensions into proper place (if no gem has binary extension,
+# the extensions directory might be empty).
+
+# if abi contains number ruby strips it in convoluted logic (said
+# logic is already cleaned up in 4.0 so x32 will need to be included
+# too)
+# https://github.com/ruby/ruby/blob/5483bfc/lib/rubygems/platform.rb#L75
+%ifnarch x32
+# https://github.com/ruby/ruby/blob/5483bfc/configure.ac#L280
+if [ -n "%{?_gnu}" ] && [ "%{?_gnu}" != "-gnu" ] && [[ "%{_target_platform}" = *%{?_gnu} ]]; then
+ abi=$(echo "%{?_gnu}" | sed 's/^-gnu/-/')
+fi
+%endif
+find $RPM_BUILD_ROOT${gem_dir}/extensions/*-%{_target_os}$abi/%{ruby_version}.*/* -maxdepth 0 \
+ -exec mv '{}' $RPM_BUILD_ROOT%{_libdir}/gems/%{name}/ \; \
+ || echo "No gem binary extensions to move."
+
+# Clean up gem cache and leftover directories from gem_dir (outside system paths)
+%{__rm} -rf $RPM_BUILD_ROOT${gem_dir}
+
+# ruby binary is installed in arch-specific dir with symlink from %{_bindir};
+# move it to %{_bindir} directly (https://bugs.ruby-lang.org/issues/20800)
+if [ -L $RPM_BUILD_ROOT%{_bindir}/ruby%{ruby_suffix} ]; then
+ %{__rm} $RPM_BUILD_ROOT%{_bindir}/ruby%{ruby_suffix}
+ %{__mv} $RPM_BUILD_ROOT%{_prefix}/*-tld-linux-gnu*/bin/ruby%{ruby_suffix} $RPM_BUILD_ROOT%{_bindir}/ruby%{ruby_suffix}
+fi
+%{__rm} -rf $RPM_BUILD_ROOT%{_prefix}/*-tld-linux-gnu*
+
+# 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}
+# add ruby_suffix to syntax_suggest
+[ -n "%{ruby_suffix}" ] && mv $RPM_BUILD_ROOT%{_bindir}/syntax_suggest $RPM_BUILD_ROOT%{_bindir}/syntax_suggest%{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
sed -i '/^end$/ i\
s.require_paths = ["lib"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/rdoc-%{rdoc_ver}.gemspec
-sed -i '/^end$/ i\
- s.require_paths = ["lib"]\
- s.extensions = ["bigdecimal.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
-
sed -i '/^end$/ i\
s.require_paths = ["lib"]\
s.extensions = ["io/console.so"]' $RPM_BUILD_ROOT%{gem_dir}/specifications/io-console-%{io_console_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%{ruby_libdir}/abbrev.rb \
- $RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/bin/console \
+ $RPM_BUILD_ROOT%{_bindir}/irb \
$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%{gem_dir}/gems/debug-%{debug_ver}/exe/rdbg \
+ $RPM_BUILD_ROOT%{gem_dir}/gems/rbs-%{rbs_ver}/exe/rbs \
+ $RPM_BUILD_ROOT%{gem_dir}/gems/erb-%{erb_ver}/libexec/erb \
+ $RPM_BUILD_ROOT%{gem_dir}/gems/typeprof-%{typeprof_ver}/bin/typeprof \
+ $RPM_BUILD_ROOT%{gem_dir}/gems/syntax_suggest-*/exe/syntax_suggest \
$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}
+ $RPM_BUILD_ROOT%{_examplesdir}/%{oname}-%{pkg_version}/{drb,logger,openssl,ripper}/*.rb
+
+# gem non library files: remove docs, build artifacts, dev scripts, samples
+# For each bundled gem, keep only lib/ (and exe/ where needed)
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/matrix-%{matrix_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/minitest-%{minitest_ver}/{[A-Z]*,test}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-ftp-%{net_ftp_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-pop-%{net_pop_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-imap-%{net_imap_ver}/{[A-Z]*,docs,sample}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/net-smtp-%{net_smtp_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/prime-%{prime_ver}/{[A-Z]*,sig}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/debug-%{debug_ver}/{[A-Z]*,misc,ext,exts.mk}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/power_assert-%{power_assert_ver}/[A-Z]*
%{__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/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/racc-%{racc_ver}/{[A-Z]*,bin,doc,ext} $RPM_BUILD_ROOT%{_bindir}/racc
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rexml-%{rexml_ver}/{[A-Z]*,doc}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rss-%{rss_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/{[A-Z]*,ext,sample}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/nkf-%{nkf_ver}/{[A-Z]*,ext,bin,exts.mk}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/syslog-%{syslog_ver}/{[A-Z]*,ext,bin,exts.mk}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rbs-%{rbs_ver}/{[A-Z]*,docs,ext,sig,src,core,stdlib,config.yml,goodcheck.yml,exts.mk}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/csv-%{csv_ver}/{[A-Z]*,doc}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/abbrev-%{abbrev_ver}/{[A-Z]*,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/base64-%{base64_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/drb-%{drb_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/mutex_m-%{mutex_m_ver}/{[A-Z]*,sig}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/getoptlong-%{getoptlong_ver}/{[A-Z]*,bin,sample}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/observer-%{observer_ver}/{[A-Z]*,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/resolv-replace-%{resolv_replace_ver}/{[A-Z]*,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rinda-%{rinda_ver}/{[A-Z]*,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/repl_type_completor-%{repl_type_completor_ver}/{[A-Z]*,sig}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/typeprof-%{typeprof_ver}/doc
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/syntax_suggest-*/exe
%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
%endif
%clean
%files
%defattr(644,root,root,755)
-%doc NEWS LEGAL BSDL README.md README.EXT ChangeLog
+%doc NEWS.md 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}
%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
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/rdoc%{ruby_suffix}
%attr(755,root,root) %{_bindir}/ri%{ruby_suffix}
-%{_mandir}/man1/rdoc%{ruby_suffix}.1*
%{ruby_libdir}/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
%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
%attr(755,root,root) %{ruby_archdir}/json/ext/*.so
%dir %{gem_libdir}/json-%{json_ver}
+%{gem_libdir}/json-%{json_ver}/gem.build_complete
%dir %{gem_libdir}/json-%{json_ver}/lib
%dir %{gem_libdir}/json-%{json_ver}/lib/json
%dir %{gem_libdir}/json-%{json_ver}/lib/json/ext
%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)
%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
+%files rbs
%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
+%attr(755,root,root) %{_bindir}/rbs
+%dir %{gem_libdir}/rbs-%{rbs_ver}
+%{gem_libdir}/rbs-%{rbs_ver}/gem.build_complete
+%attr(755,root,root) %{gem_libdir}/rbs-%{rbs_ver}/rbs_extension.so
+%{gem_dir}/gems/rbs-%{rbs_ver}
+%exclude %{gem_dir}/gems/rbs-%{rbs_ver}/.*
+%{gem_dir}/specifications/rbs-%{rbs_ver}.gemspec
+
+%files typeprof
%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
+%attr(755,root,root) %{_bindir}/typeprof
+%{gem_dir}/gems/typeprof-%{typeprof_ver}
+%exclude %{gem_dir}/gems/typeprof-%{typeprof_ver}/.*
+%{gem_dir}/specifications/typeprof-%{typeprof_ver}.gemspec
%files bigdecimal
%defattr(644,root,root,755)
%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
%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
-%{ruby_libdir}/bigdecimal
+%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/gem.build_complete
+%attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/bigdecimal.so
%{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
%files io-console
%defattr(644,root,root,755)
%{gem_dir}/gems/io-console-%{io_console_ver}
%dir %{gem_libdir}/io-console-%{io_console_ver}
+%{gem_libdir}/io-console-%{io_console_ver}/gem.build_complete
%dir %{gem_libdir}/io-console-%{io_console_ver}/lib
%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
%{gem_dir}/gems/psych-%{psych_ver}
%{ruby_libdir}/psych
%dir %{gem_libdir}/psych-%{psych_ver}
+%{gem_libdir}/psych-%{psych_ver}/gem.build_complete
%dir %{gem_libdir}/psych-%{psych_ver}/lib
%attr(755,root,root) %{gem_libdir}/psych-%{psych_ver}/lib/psych.so
%{gem_dir}/specifications/psych-%{psych_ver}.gemspec
-%files xmlrpc
+%files rexml
+%defattr(644,root,root,755)
+%dir %{gem_dir}/gems/rexml-%{rexml_ver}
+%{gem_dir}/gems/rexml-%{rexml_ver}/lib
+%{gem_dir}/specifications/rexml-%{rexml_ver}.gemspec
+
+%files rss
+%defattr(644,root,root,755)
+%dir %{gem_dir}/gems/rss-%{rss_ver}
+%{gem_dir}/gems/rss-%{rss_ver}/lib
+%{gem_dir}/specifications/rss-%{rss_ver}.gemspec
+
+%files bundled-gems
%defattr(644,root,root,755)
-%{gem_dir}/gems/xmlrpc-%{xmlrpc_ver}
-%{gem_dir}/specifications/xmlrpc-%{xmlrpc_ver}.gemspec
+%attr(755,root,root) %{_bindir}/rdbg
+%dir %{gem_libdir}/debug-%{debug_ver}
+%{gem_libdir}/debug-%{debug_ver}/gem.build_complete
+%dir %{gem_libdir}/debug-%{debug_ver}/debug
+%attr(755,root,root) %{gem_libdir}/debug-%{debug_ver}/debug/debug.so
+%dir %{gem_dir}/gems/debug-%{debug_ver}
+%{gem_dir}/gems/debug-%{debug_ver}/exe
+%{gem_dir}/gems/debug-%{debug_ver}/lib
+%{gem_dir}/specifications/debug-%{debug_ver}.gemspec
+
+%dir %{gem_dir}/gems/net-ftp-%{net_ftp_ver}
+%{gem_dir}/gems/net-ftp-%{net_ftp_ver}/lib
+%{gem_dir}/specifications/net-ftp-%{net_ftp_ver}.gemspec
+
+%dir %{gem_dir}/gems/net-imap-%{net_imap_ver}
+%{gem_dir}/gems/net-imap-%{net_imap_ver}/lib
+%dir %{gem_dir}/gems/net-imap-%{net_imap_ver}/rakelib
+%{gem_dir}/gems/net-imap-%{net_imap_ver}/rakelib/*.*
+%{gem_dir}/specifications/net-imap-%{net_imap_ver}.gemspec
+
+%dir %{gem_dir}/gems/net-pop-%{net_pop_ver}
+%{gem_dir}/gems/net-pop-%{net_pop_ver}/lib
+%{gem_dir}/specifications/net-pop-%{net_pop_ver}.gemspec
+
+%dir %{gem_dir}/gems/net-smtp-%{net_smtp_ver}
+%{gem_dir}/gems/net-smtp-%{net_smtp_ver}/lib
+%{gem_dir}/specifications/net-smtp-%{net_smtp_ver}.gemspec
+
+%dir %{gem_dir}/gems/matrix-%{matrix_ver}
+%{gem_dir}/gems/matrix-%{matrix_ver}/lib
+%{gem_dir}/specifications/matrix-%{matrix_ver}.gemspec
+
+%dir %{gem_dir}/gems/prime-%{prime_ver}
+%{gem_dir}/gems/prime-%{prime_ver}/lib
+%{gem_dir}/specifications/prime-%{prime_ver}.gemspec
+
+# Gems moved from default to bundled in 3.4
+%dir %{gem_dir}/gems/abbrev-%{abbrev_ver}
+%{gem_dir}/gems/abbrev-%{abbrev_ver}/lib
+%{gem_dir}/specifications/abbrev-%{abbrev_ver}.gemspec
+
+%dir %{gem_dir}/gems/base64-%{base64_ver}
+%{gem_dir}/gems/base64-%{base64_ver}/lib
+%{gem_dir}/specifications/base64-%{base64_ver}.gemspec
+
+%dir %{gem_dir}/gems/csv-%{csv_ver}
+%{gem_dir}/gems/csv-%{csv_ver}/lib
+%{gem_dir}/specifications/csv-%{csv_ver}.gemspec
+
+%dir %{gem_dir}/gems/drb-%{drb_ver}
+%{gem_dir}/gems/drb-%{drb_ver}/lib
+%{gem_dir}/specifications/drb-%{drb_ver}.gemspec
+
+%dir %{gem_dir}/gems/getoptlong-%{getoptlong_ver}
+%{gem_dir}/gems/getoptlong-%{getoptlong_ver}/lib
+%{gem_dir}/specifications/getoptlong-%{getoptlong_ver}.gemspec
+
+%dir %{gem_dir}/gems/mutex_m-%{mutex_m_ver}
+%{gem_dir}/gems/mutex_m-%{mutex_m_ver}/lib
+%{gem_dir}/specifications/mutex_m-%{mutex_m_ver}.gemspec
+
+%dir %{gem_dir}/gems/nkf-%{nkf_ver}
+%{gem_dir}/gems/nkf-%{nkf_ver}/lib
+%dir %{gem_libdir}/nkf-%{nkf_ver}
+%{gem_libdir}/nkf-%{nkf_ver}/gem.build_complete
+%attr(755,root,root) %{gem_libdir}/nkf-%{nkf_ver}/nkf.so
+%{gem_dir}/specifications/nkf-%{nkf_ver}.gemspec
+
+%dir %{gem_dir}/gems/observer-%{observer_ver}
+%{gem_dir}/gems/observer-%{observer_ver}/lib
+%{gem_dir}/specifications/observer-%{observer_ver}.gemspec
+
+%dir %{gem_dir}/gems/racc-%{racc_ver}
+%{gem_dir}/gems/racc-%{racc_ver}/lib
+%dir %{gem_libdir}/racc-%{racc_ver}
+%{gem_libdir}/racc-%{racc_ver}/gem.build_complete
+%dir %{gem_libdir}/racc-%{racc_ver}/racc
+%attr(755,root,root) %{gem_libdir}/racc-%{racc_ver}/racc/cparse.so
+%{gem_dir}/specifications/racc-%{racc_ver}.gemspec
+
+%dir %{gem_dir}/gems/resolv-replace-%{resolv_replace_ver}
+%{gem_dir}/gems/resolv-replace-%{resolv_replace_ver}/lib
+%{gem_dir}/specifications/resolv-replace-%{resolv_replace_ver}.gemspec
+
+%dir %{gem_dir}/gems/rinda-%{rinda_ver}
+%{gem_dir}/gems/rinda-%{rinda_ver}/lib
+%{gem_dir}/specifications/rinda-%{rinda_ver}.gemspec
+
+%dir %{gem_dir}/gems/syslog-%{syslog_ver}
+%{gem_dir}/gems/syslog-%{syslog_ver}/lib
+%dir %{gem_libdir}/syslog-%{syslog_ver}
+%{gem_libdir}/syslog-%{syslog_ver}/gem.build_complete
+%attr(755,root,root) %{gem_libdir}/syslog-%{syslog_ver}/syslog_ext.so
+%{gem_dir}/specifications/syslog-%{syslog_ver}.gemspec
+
+%dir %{gem_dir}/gems/repl_type_completor-%{repl_type_completor_ver}
+%{gem_dir}/gems/repl_type_completor-%{repl_type_completor_ver}/lib
+%{gem_dir}/specifications/repl_type_completor-%{repl_type_completor_ver}.gemspec
+
%files modules
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/erb%{ruby_suffix}
+%attr(755,root,root) %{_bindir}/syntax_suggest%{ruby_suffix}
%{ruby_libdir}/cgi
%{ruby_libdir}/digest
-%{ruby_libdir}/drb
%{ruby_libdir}/fiddle
%{ruby_libdir}/io
-%{ruby_libdir}/matrix
%{ruby_libdir}/net
%{ruby_libdir}/openssl
%{ruby_libdir}/optparse
-%{ruby_libdir}/racc
-%{ruby_libdir}/rbconfig
-%{ruby_libdir}/rexml
-%{ruby_libdir}/rinda
+%{ruby_libdir}/prism
%{ruby_libdir}/ripper
-%{ruby_libdir}/rss
-%{ruby_libdir}/shell
-%{ruby_libdir}/syslog
%{ruby_libdir}/test
%{ruby_libdir}/uri
-%{ruby_libdir}/webrick
%{ruby_libdir}/yaml
-
%{ruby_libdir}/English.rb
-%{ruby_libdir}/abbrev.rb
-%{ruby_libdir}/base64.rb
%{ruby_libdir}/benchmark.rb
+%{ruby_libdir}/bundled_gems.rb
+%{ruby_libdir}/bundler
+%{ruby_libdir}/bundler.rb
%{ruby_libdir}/cgi.rb
-%{ruby_libdir}/cmath.rb
-%{ruby_libdir}/csv.rb
+%{ruby_libdir}/coverage.rb
%{ruby_libdir}/date.rb
-%{ruby_libdir}/debug.rb
%{ruby_libdir}/delegate.rb
+%{ruby_libdir}/did_you_mean.rb
+%{ruby_libdir}/did_you_mean
%{ruby_libdir}/digest.rb
-%{ruby_libdir}/drb.rb
-%{ruby_libdir}/e2mmap.rb
+%{ruby_libdir}/error_highlight.rb
+%dir %{ruby_libdir}/error_highlight
+%{ruby_libdir}/error_highlight/*.rb
%{ruby_libdir}/erb.rb
+%dir %{ruby_libdir}/erb
+%{ruby_libdir}/erb/*.rb
%{ruby_libdir}/expect.rb
%{ruby_libdir}/fiddle.rb
%{ruby_libdir}/fileutils.rb
%{ruby_libdir}/forwardable.rb
%dir %{ruby_libdir}/forwardable
%{ruby_libdir}/forwardable/impl.rb
-%{ruby_libdir}/getoptlong.rb
%{ruby_libdir}/ipaddr.rb
%{ruby_libdir}/json.rb
-%{ruby_libdir}/kconv.rb
%{ruby_libdir}/logger.rb
-%{ruby_libdir}/mathn.rb
-%{ruby_libdir}/matrix.rb
+%dir %{ruby_libdir}/logger
+%{ruby_libdir}/logger/*.rb
%{ruby_libdir}/monitor.rb
-%{ruby_libdir}/mutex_m.rb
-%{ruby_libdir}/observer.rb
+%{ruby_libdir}/objspace.rb
+%dir %{ruby_libdir}/objspace
+%{ruby_libdir}/objspace/*.rb
%{ruby_libdir}/open-uri.rb
%{ruby_libdir}/open3.rb
+%dir %{ruby_libdir}/open3
+%{ruby_libdir}/open3/version.rb
%{ruby_libdir}/openssl.rb
%{ruby_libdir}/optionparser.rb
%{ruby_libdir}/optparse.rb
%{ruby_libdir}/pathname.rb
%{ruby_libdir}/pp.rb
%{ruby_libdir}/prettyprint.rb
-%{ruby_libdir}/prime.rb
-%{ruby_libdir}/profile.rb
-%{ruby_libdir}/profiler.rb
+%{ruby_libdir}/prism.rb
%{ruby_libdir}/pstore.rb
+%dir %{ruby_libdir}/random
+%{ruby_libdir}/random/*.rb
%{ruby_libdir}/rdoc.rb
-%{ruby_libdir}/resolv-replace.rb
+%{ruby_libdir}/readline.rb
+%{ruby_libdir}/reline.rb
+%dir %{ruby_libdir}/reline
+%{ruby_libdir}/reline/*.rb
+%dir %{ruby_libdir}/reline/key_actor
+%{ruby_libdir}/reline/key_actor/*.rb
+%dir %{ruby_libdir}/reline/io
+%{ruby_libdir}/reline/io/*.rb
+%dir %{ruby_libdir}/reline/unicode
+%{ruby_libdir}/reline/unicode/*.rb
%{ruby_libdir}/resolv.rb
%{ruby_libdir}/ripper.rb
-%{ruby_libdir}/rss.rb
-%{ruby_libdir}/scanf.rb
+%dir %{ruby_libdir}/ruby_vm
+%{ruby_libdir}/ruby_vm/rjit
%{ruby_libdir}/securerandom.rb
%{ruby_libdir}/set.rb
-%{ruby_libdir}/shell.rb
+%dir %{ruby_libdir}/set
+%{ruby_libdir}/set/*.rb
%{ruby_libdir}/shellwords.rb
%{ruby_libdir}/singleton.rb
%{ruby_libdir}/socket.rb
-%{ruby_libdir}/sync.rb
+%{ruby_libdir}/strscan
+%{ruby_libdir}/syntax_suggest.rb
+%dir %{ruby_libdir}/syntax_suggest
+%{ruby_libdir}/syntax_suggest/*.rb
+%dir %{ruby_libdir}/syntax_suggest/capture
+%{ruby_libdir}/syntax_suggest/capture/*.rb
%{ruby_libdir}/tempfile.rb
-%{ruby_libdir}/thwait.rb
%{ruby_libdir}/time.rb
%{ruby_libdir}/timeout.rb
%{ruby_libdir}/tmpdir.rb
-%{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
%{ruby_libdir}/yaml.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
%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}/dbm.so
%attr(755,root,root) %{ruby_archdir}/digest.so
%attr(755,root,root) %{ruby_archdir}/etc.so
+%dir %{ruby_archdir}/erb
+%attr(755,root,root) %{ruby_archdir}/erb/escape.so
%attr(755,root,root) %{ruby_archdir}/fcntl.so
-%attr(755,root,root) %{ruby_archdir}/fiber.so
%attr(755,root,root) %{ruby_archdir}/fiddle.so
-%attr(755,root,root) %{ruby_archdir}/gdbm.so
-%attr(755,root,root) %{ruby_archdir}/nkf.so
+%attr(755,root,root) %{ruby_archdir}/monitor.so
%attr(755,root,root) %{ruby_archdir}/objspace.so
%attr(755,root,root) %{ruby_archdir}/openssl.so
%attr(755,root,root) %{ruby_archdir}/pathname.so
%attr(755,root,root) %{ruby_archdir}/pty.so
-%attr(755,root,root) %{ruby_archdir}/readline.so
%attr(755,root,root) %{ruby_archdir}/ripper.so
-%attr(755,root,root) %{ruby_archdir}/sdbm.so
%attr(755,root,root) %{ruby_archdir}/socket.so
%attr(755,root,root) %{ruby_archdir}/stringio.so
%attr(755,root,root) %{ruby_archdir}/strscan.so
-%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}/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
%attr(755,root,root) %{ruby_archdir}/rbconfig/sizeof.so
%dir %{gem_dir}
%dir %{gem_dir}/gems
+# for libexec/erb
+%{gem_dir}/gems/erb-%{erb_ver}
+
%dir %{gem_dir}/specifications
%dir %{gem_dir}/specifications/default
-%{gem_dir}/specifications/default/openssl-%{openssl_ver}.gemspec
+%{gem_dir}/specifications/default/*.gemspec
%{_mandir}/man1/erb%{ruby_suffix}.1*
%{_mandir}/man1/ri%{ruby_suffix}.1*
%if %{with doc}
%files doc
%defattr(644,root,root,755)
-%doc ruby_%{doc_version}_stdlib
-%doc ruby_%{doc_version}_core
+%doc ruby_%{doc_version}_complete
%files doc-ri
%defattr(644,root,root,755)
-%{ruby_ridir}/ACL
-%{ruby_ridir}/ARGF
-%{ruby_ridir}/Abbrev
-%{ruby_ridir}/Addrinfo
-%{ruby_ridir}/ArgumentError
-%{ruby_ridir}/Array
-%{ruby_ridir}/Base64
-%{ruby_ridir}/BasicObject
-%{ruby_ridir}/BasicSocket
-%{ruby_ridir}/Benchmark
-%{ruby_ridir}/BigDecimal
-%{ruby_ridir}/BigMath
-%{ruby_ridir}/Binding
-%{ruby_ridir}/CGI
-%{ruby_ridir}/CMath
-%{ruby_ridir}/CSV
-%{ruby_ridir}/Class
-%{ruby_ridir}/ClosedQueueError
-%{ruby_ridir}/Comparable
-%{ruby_ridir}/Complex
-%{ruby_ridir}/ConditionVariable
-%{ruby_ridir}/Continuation
-%{ruby_ridir}/Coverage
-%{ruby_ridir}/DBM
-%{ruby_ridir}/DBMError
-%{ruby_ridir}/DEBUGGER__
-%{ruby_ridir}/DRb
-%{ruby_ridir}/Data
-%{ruby_ridir}/Date
-%{ruby_ridir}/DateTime
-%{ruby_ridir}/Delegator
-%{ruby_ridir}/Digest
-%{ruby_ridir}/Dir
-%{ruby_ridir}/ENV
-%{ruby_ridir}/EOFError
-%{ruby_ridir}/ERB
-%{ruby_ridir}/EXCEPTION_TYPE
-%{ruby_ridir}/Encoding
-%{ruby_ridir}/EncodingError
-%{ruby_ridir}/English
-%{ruby_ridir}/Enumerable
-%{ruby_ridir}/Enumerator
-%{ruby_ridir}/Errno
-%{ruby_ridir}/Etc
-%{ruby_ridir}/Exception
-%{ruby_ridir}/Exception2MessageMapper
-%{ruby_ridir}/FalseClass
-%{ruby_ridir}/Fcntl
-%{ruby_ridir}/Fiber
-%{ruby_ridir}/FiberError
-%{ruby_ridir}/Fiddle
-%{ruby_ridir}/File
-%{ruby_ridir}/FileTest
-%{ruby_ridir}/FileUtils
-%{ruby_ridir}/Find
-%{ruby_ridir}/Float
-%{ruby_ridir}/FloatDomainError
-%{ruby_ridir}/Forwardable
-%{ruby_ridir}/GC
-%{ruby_ridir}/GDBM
-%{ruby_ridir}/GDBMError
-%{ruby_ridir}/GDBMFatalError
-%{ruby_ridir}/Gem
-%{ruby_ridir}/GetoptLong
-%{ruby_ridir}/HTTPMovedTemporarily
-%{ruby_ridir}/HTTPMultipleChoice
-%{ruby_ridir}/HTTPRequestURITooLarge
-%{ruby_ridir}/Hash
-%{ruby_ridir}/IO
-%{ruby_ridir}/IOError
-%{ruby_ridir}/IPAddr
-%{ruby_ridir}/IPSocket
-%{ruby_ridir}/IRB
-%{ruby_ridir}/IndexError
-%{ruby_ridir}/Integer
-%{ruby_ridir}/Interrupt
-%{ruby_ridir}/JSON
-%{ruby_ridir}/Jacobian
-%{ruby_ridir}/Kconv
-%{ruby_ridir}/Kernel
-%{ruby_ridir}/KeyError
-%{ruby_ridir}/LUSolve
-%{ruby_ridir}/LoadError
-%{ruby_ridir}/LocalJumpError
-%{ruby_ridir}/Logger
-%{ruby_ridir}/MakeMakefile
-%{ruby_ridir}/Marshal
-%{ruby_ridir}/MatchData
-%{ruby_ridir}/Math
-%{ruby_ridir}/Matrix
-%{ruby_ridir}/Method
-%{ruby_ridir}/Module
-%{ruby_ridir}/Monitor
-%{ruby_ridir}/MonitorMixin
-%{ruby_ridir}/Mutex_m
-%{ruby_ridir}/NKF
-%{ruby_ridir}/NameError
-%{ruby_ridir}/Net
-%{ruby_ridir}/Newton
-%{ruby_ridir}/NilClass
-%{ruby_ridir}/NoMemoryError
-%{ruby_ridir}/NoMethodError
-%{ruby_ridir}/NotImplementedError
-%{ruby_ridir}/Numeric
-%{ruby_ridir}/OLEProperty
-%{ruby_ridir}/Object
-%{ruby_ridir}/ObjectSpace
-%{ruby_ridir}/Observable
-%{ruby_ridir}/Open3
-%{ruby_ridir}/OpenSSL
-%{ruby_ridir}/OpenStruct
-%{ruby_ridir}/OpenURI
-%{ruby_ridir}/OptionParser
-%{ruby_ridir}/PP
-%{ruby_ridir}/PStore
-%{ruby_ridir}/PTY
-%{ruby_ridir}/Pathname
-%{ruby_ridir}/PrettyPrint
-%{ruby_ridir}/Prime
-%{ruby_ridir}/Proc
-%{ruby_ridir}/Process
-%{ruby_ridir}/Profiler__
-%{ruby_ridir}/Psych
-%{ruby_ridir}/Queue
-%{ruby_ridir}/RDoc
-%{ruby_ridir}/RDocTask
-%{ruby_ridir}/REXML
-%{ruby_ridir}/RSS
-%{ruby_ridir}/Racc
-%{ruby_ridir}/Rake
-%{ruby_ridir}/Random
-%{ruby_ridir}/Range
-%{ruby_ridir}/RangeError
-%{ruby_ridir}/Rational
-%{ruby_ridir}/RbConfig
-%{ruby_ridir}/Readline
-%{ruby_ridir}/Regexp
-%{ruby_ridir}/RegexpError
-%{ruby_ridir}/Resolv
-%{ruby_ridir}/Rinda
-%{ruby_ridir}/Ripper
-%{ruby_ridir}/RubyLex
-%{ruby_ridir}/RubyToken
-%{ruby_ridir}/RubyVM
-%{ruby_ridir}/RuntimeError
-%{ruby_ridir}/SDBM
-%{ruby_ridir}/SDBMError
-%{ruby_ridir}/SOCKSSocket
-%{ruby_ridir}/Scanf
-%{ruby_ridir}/ScriptError
-%{ruby_ridir}/SecureRandom
-%{ruby_ridir}/SecurityError
-%{ruby_ridir}/Set
-%{ruby_ridir}/Shell
-%{ruby_ridir}/Shellwords
-%{ruby_ridir}/Signal
-%{ruby_ridir}/SignalException
-%{ruby_ridir}/SimpleDelegator
-%{ruby_ridir}/SingleForwardable
-%{ruby_ridir}/Singleton
-%{ruby_ridir}/SizedQueue
-%{ruby_ridir}/Socket
-%{ruby_ridir}/SocketError
-%{ruby_ridir}/SortedSet
-%{ruby_ridir}/StandardError
-%{ruby_ridir}/StopIteration
-%{ruby_ridir}/String
-%{ruby_ridir}/StringIO
-%{ruby_ridir}/StringScanner
-%{ruby_ridir}/Struct
-%{ruby_ridir}/Symbol
-%{ruby_ridir}/Sync
-%{ruby_ridir}/Sync_m
-%{ruby_ridir}/Synchronizer
-%{ruby_ridir}/Synchronizer_m
-%{ruby_ridir}/SyntaxError
-%{ruby_ridir}/Syslog
-%{ruby_ridir}/SystemCallError
-%{ruby_ridir}/SystemExit
-%{ruby_ridir}/SystemStackError
-%{ruby_ridir}/TCPServer
-%{ruby_ridir}/TCPSocket
-%{ruby_ridir}/TSort
-%{ruby_ridir}/TempIO
-%{ruby_ridir}/Tempfile
-%{ruby_ridir}/Test
-%{ruby_ridir}/ThWait
-%{ruby_ridir}/Thread
-%{ruby_ridir}/ThreadError
-%{ruby_ridir}/ThreadGroup
-%{ruby_ridir}/ThreadsWait
-%{ruby_ridir}/Time
-%{ruby_ridir}/Timeout
-%{ruby_ridir}/TracePoint
-%{ruby_ridir}/Tracer
-%{ruby_ridir}/TrueClass
-%{ruby_ridir}/TypeError
-%{ruby_ridir}/UDPSocket
-%{ruby_ridir}/UNIXServer
-%{ruby_ridir}/UNIXSocket
-%{ruby_ridir}/URI
-%{ruby_ridir}/UnboundMethod
-%{ruby_ridir}/UncaughtThrowError
-%{ruby_ridir}/UnicodeNormalize
-%{ruby_ridir}/Vector
-%{ruby_ridir}/WEBrick
-%{ruby_ridir}/WIN32OLE
-%{ruby_ridir}/WIN32OLERuntimeError
-%{ruby_ridir}/WIN32OLE_EVENT
-%{ruby_ridir}/WIN32OLE_METHOD
-%{ruby_ridir}/WIN32OLE_PARAM
-%{ruby_ridir}/WIN32OLE_RECORD
-%{ruby_ridir}/WIN32OLE_TYPE
-%{ruby_ridir}/WIN32OLE_TYPELIB
-%{ruby_ridir}/WIN32OLE_VARIABLE
-%{ruby_ridir}/WIN32OLE_VARIANT
-%{ruby_ridir}/Warning
-%{ruby_ridir}/WeakRef
-%{ruby_ridir}/XML
-%{ruby_ridir}/XMLEncoding_ja
-%{ruby_ridir}/XMP
-%{ruby_ridir}/YAML
-%{ruby_ridir}/ZeroDivisionError
-%{ruby_ridir}/Zlib
+%{ruby_ridir}/[A-Z]*
+%{ruby_ridir}/contributing
%{ruby_ridir}/fatal
-%{ruby_ridir}/lib
+%{ruby_ridir}/date
+%{ruby_ridir}/regexp
+%{ruby_ridir}/rjit
+%{ruby_ridir}/ruby
%{ruby_ridir}/syntax
-%{ruby_ridir}/unknown
-%{ruby_ridir}/page-ChangeLog*.ri
-%{ruby_ridir}/page-NEWS*.ri
+%{ruby_ridir}/optparse
+%lang(ja) %{ruby_ridir}/page-COPYING_ja.ri
+%lang(ja) %{ruby_ridir}/page-README_ja_md.ri
+%{ruby_ridir}/page-COPYING.ri
+%{ruby_ridir}/page-LEGAL.ri
+%{ruby_ridir}/page-NEWS_md.ri
%{ruby_ridir}/page-README_md.ri
-%{ruby_ridir}/page-*_rdoc.ri
+%{ruby_ridir}/page-[a-z]*.ri
+%{ruby_ridir}/yjit
%endif
%files examples
+++ /dev/null
-From ec90622235ae19b28a327cb50a10e0311e8f3d71 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Thu, 3 Nov 2011 16:43:05 +0100
-Subject: [PATCH 1/8] Add dedicate extensions folder into $LOAD_PATH.
-
----
- lib/rubygems/specification.rb | 32 ++++++++++++++++++++++++++++++--
- 1 file changed, 30 insertions(+), 2 deletions(-)
-
-diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index cabdf8d..87b14d2 100644
---- a/lib/rubygems/specification.rb
-+++ b/lib/rubygems/specification.rb
-@@ -1256,6 +1256,12 @@ class Gem::Specification
- File.join full_gem_path, path
- end
-
-+ unless extensions.empty?
-+ paths += require_paths.map do |path|
-+ File.join ext_dir, path
-+ end
-+ end
-+
- # gem directories must come after -I and ENV['RUBYLIB']
- insert_index = Gem.load_path_insert_index
-
-@@ -1374,11 +1380,16 @@ class Gem::Specification
-
- def contains_requirable_file? file
- root = full_gem_path
-+ ext = ext_dir
- suffixes = Gem.suffixes
-
- require_paths.any? do |lib|
-- base = "#{root}/#{lib}/#{file}"
-- suffixes.any? { |suf| File.file? "#{base}#{suf}" }
-+ base = ["#{root}/#{lib}/#{file}"]
-+ base << "#{ext}/#{lib}/#{file}" unless extensions.empty?
-+
-+ base.any? do |path|
-+ suffixes.any? { |suf| File.file? "#{path}#{suf}" }
-+ end
- end
- end
-
-@@ -1674,6 +1685,23 @@ class Gem::Specification
- end
-
- ##
-+ # Returns the full path to this spec's ext directory.
-+ # eg: /usr/local/lib/ruby/1.8/exts/mygem-1.0
-+
-+ def ext_dir
-+ @gem_dir ||= File.expand_path File.join(exts_dir, full_name)
-+ end
-+
-+ ##
-+ # Returns the full path to the exts directory containing this spec's
-+ # gem directory. eg: /usr/local/lib/ruby/1.8/exts
-+
-+ def exts_dir
-+ # TODO: this logic seems terribly broken, but tests fail if just base_dir
-+ @exts_dir ||= File.join(loaded_from && base_dir || Gem.dir, "exts")
-+ end
-+
-+ ##
- # Deprecated and ignored, defaults to true.
- #
- # Formerly used to indicate this gem was RDoc-capable.
---
-1.8.1.2
-
-
-From e42819f32fc5d935f7e7189ec4be8bdab0a2cf3f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Wed, 16 Nov 2011 13:26:48 +0100
-Subject: [PATCH 2/8] Use spec's ext dir for extension installation.
-
----
- lib/rubygems/installer.rb | 2 +-
- lib/rubygems/specification.rb | 7 +++----
- 2 files changed, 4 insertions(+), 5 deletions(-)
-
-diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
-index 780a88b..854c177 100644
---- a/lib/rubygems/installer.rb
-+++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
- say "This could take a while..."
- end
-
-- dest_path = File.join gem_dir, spec.require_paths.first
-+ dest_path = spec.ext_dir
- ran_rake = false # only run rake once
-
- spec.extensions.each do |extension|
-diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index 87b14d2..492ddbe 100644
---- a/lib/rubygems/specification.rb
-+++ b/lib/rubygems/specification.rb
-@@ -1689,16 +1689,15 @@ class Gem::Specification
- # eg: /usr/local/lib/ruby/1.8/exts/mygem-1.0
-
- def ext_dir
-- @gem_dir ||= File.expand_path File.join(exts_dir, full_name)
-+ @ext_dir ||= File.join exts_dir, full_name, require_paths.first
- end
-
- ##
- # Returns the full path to the exts directory containing this spec's
-- # gem directory. eg: /usr/local/lib/ruby/1.8/exts
-+ # gem directory. eg: /usr/local/lib/ruby/1.8/gems
-
- def exts_dir
-- # TODO: this logic seems terribly broken, but tests fail if just base_dir
-- @exts_dir ||= File.join(loaded_from && base_dir || Gem.dir, "exts")
-+ @exts_dir ||= gems_dir
- end
-
- ##
---
-1.8.1.2
-
-
-From 0e9dd0655111f7dda805233c79a3771459d9a66a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Wed, 16 Nov 2011 14:52:16 +0100
-Subject: [PATCH 3/9] Simplify the extending of $LOAD_PATH for binary gems.
-
----
- lib/rubygems/specification.rb | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index 492ddbe..c703827 100644
---- a/lib/rubygems/specification.rb
-+++ b/lib/rubygems/specification.rb
-@@ -1256,11 +1256,7 @@ class Gem::Specification
- File.join full_gem_path, path
- end
-
-- unless extensions.empty?
-- paths += require_paths.map do |path|
-- File.join ext_dir, path
-- end
-- end
-+ paths << ext_dir unless extensions.empty? || paths.include?(ext_dir)
-
- # gem directories must come after -I and ENV['RUBYLIB']
- insert_index = Gem.load_path_insert_index
-@@ -1697,7 +1693,10 @@ class Gem::Specification
- # gem directory. eg: /usr/local/lib/ruby/1.8/gems
-
- def exts_dir
-- @exts_dir ||= gems_dir
-+ @exts_dir ||= begin
-+ dirs = Gem.default_dirs.detect {|location, paths| paths[:gem_dir] == base_dir}
-+ dirs ? File.join(dirs.last[:ext_dir], 'exts') : gems_dir
-+ end
- end
-
- ##
---
-1.8.1.2
-
-
-From 9a8556c609e800d0dbd24af416d613f2e82f323c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Fri, 9 Dec 2011 16:31:04 +0100
-Subject: [PATCH 4/8] Fix the binary extension search path construction.
-
----
- lib/rubygems/installer.rb | 2 +-
- lib/rubygems/specification.rb | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
-index 854c177..f1f2ad7 100644
---- a/lib/rubygems/installer.rb
-+++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
- say "This could take a while..."
- end
-
-- dest_path = spec.ext_dir
-+ dest_path = File.join spec.ext_dir, spec.require_paths.first
- ran_rake = false # only run rake once
-
- spec.extensions.each do |extension|
-diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index c703827..fa9ea6e 100644
---- a/lib/rubygems/specification.rb
-+++ b/lib/rubygems/specification.rb
-@@ -1256,7 +1256,7 @@ class Gem::Specification
- File.join full_gem_path, path
- end
-
-- paths << ext_dir unless extensions.empty? || paths.include?(ext_dir)
-+ paths << File.join(ext_dir, require_paths.first) unless extensions.empty? || (ext_dir == full_gem_path)
-
- # gem directories must come after -I and ENV['RUBYLIB']
- insert_index = Gem.load_path_insert_index
-@@ -1685,7 +1685,7 @@ class Gem::Specification
- # eg: /usr/local/lib/ruby/1.8/exts/mygem-1.0
-
- def ext_dir
-- @ext_dir ||= File.join exts_dir, full_name, require_paths.first
-+ @ext_dir ||= File.join exts_dir, full_name
- end
-
- ##
---
-1.8.1.2
-
-
-From 476c2f90cc6f5f490858f253a9b23eb19d53d2fc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Tue, 13 Dec 2011 12:14:54 +0100
-Subject: [PATCH 5/8] Remove binary extensions during uninstall.
-
----
- lib/rubygems/uninstaller.rb | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/rubygems/uninstaller.rb b/lib/rubygems/uninstaller.rb
-index d672b9d..5c31a0c 100644
---- a/lib/rubygems/uninstaller.rb
-+++ b/lib/rubygems/uninstaller.rb
-@@ -246,6 +246,7 @@ class Gem::Uninstaller
- File.writable?(spec.base_dir)
-
- FileUtils.rm_rf spec.full_gem_path
-+ FileUtils.rm_rf spec.ext_dir
-
- # TODO: should this be moved to spec?... I vote eww (also exists in docmgr)
- old_platform_name = [spec.name,
---
-1.8.1.2
-
-
-From 35dc17e86f701fe1be80d98ace79735c535fd570 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Tue, 13 Dec 2011 14:27:14 +0100
-Subject: [PATCH 6/8] Avoid dependency on customized operating_system.rb.
-
----
- lib/rubygems/defaults.rb | 11 +++++++++++
- lib/rubygems/specification.rb | 5 +----
- 2 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
-index ea84e5c..b221954 100644
---- a/lib/rubygems/defaults.rb
-+++ b/lib/rubygems/defaults.rb
-@@ -101,6 +101,17 @@ module Gem
- end
-
- ##
-+ # Returns binary extensions dir for specified RubyGems base dir or nil
-+ # if such directory cannot be determined.
-+ #
-+ # By default, the binary extensions are located side by side with their
-+ # Ruby counterparts, therefore nil is returned
-+
-+ def self.default_ext_dir_for base_dir
-+ nil
-+ end
-+
-+ ##
- # A wrapper around RUBY_ENGINE const that may not be defined
-
- def self.ruby_engine
-diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
-index fa9ea6e..2b10499 100644
---- a/lib/rubygems/specification.rb
-+++ b/lib/rubygems/specification.rb
-@@ -1693,10 +1693,7 @@ class Gem::Specification
- # gem directory. eg: /usr/local/lib/ruby/1.8/gems
-
- def exts_dir
-- @exts_dir ||= begin
-- dirs = Gem.default_dirs.detect {|location, paths| paths[:gem_dir] == base_dir}
-- dirs ? File.join(dirs.last[:ext_dir], 'exts') : gems_dir
-- end
-+ @exts_dir ||= Gem.default_ext_dir_for(base_dir) || gems_dir
- end
-
- ##
---
-1.8.1.2
-
-
-From 0937c0b0a3c2ed08ab5b0875f7f95e24157525c2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Thu, 7 Feb 2013 13:07:34 +0100
-Subject: [PATCH 7/8] Fix binary extensions installation when --install-dir is
- specified.
-
----
- lib/rubygems/installer.rb | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
-index f1f2ad7..e1577fc 100644
---- a/lib/rubygems/installer.rb
-+++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
- say "This could take a while..."
- end
-
-- dest_path = File.join spec.ext_dir, spec.require_paths.first
-+ dest_path = File.join(options[:install_dir] ? gem_dir : spec.ext_dir, spec.require_paths.first)
- ran_rake = false # only run rake once
-
- spec.extensions.each do |extension|
---
-1.8.1.2
-
-
-From 062a11c59731f5875d5a8821a212c8a41cb84577 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Fri, 15 Feb 2013 17:07:07 +0100
-Subject: [PATCH 8/8] Use correct option.
-
----
- lib/rubygems/installer.rb | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
-index e1577fc..1492c68 100644
---- a/lib/rubygems/installer.rb
-+++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
- say "This could take a while..."
- end
-
-- dest_path = File.join(options[:install_dir] ? gem_dir : spec.ext_dir, spec.require_paths.first)
-+ dest_path = File.join(@install_dir ? gem_dir : spec.ext_dir, spec.require_paths.first)
- ran_rake = false # only run rake once
-
- spec.extensions.each do |extension|
---
-1.8.1.2
-