[packages/ruby/DEVEL-3.4] Up to 3.4.9 (initial)

arekm arekm at pld-linux.org
Sun Mar 15 02:55:55 CET 2026


commit 6f5d181bb6c560855d94c8d0e2df1212895bc545
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Mar 15 02:20:27 2026 +0100

    Up to 3.4.9 (initial)

 fix-bison-invocation.patch                         |  10 -
 operating_system.rb                                |   2 +
 ...build-extension-libraries-in-bundled-gems.patch | 338 ---------------------
 ruby.spec                                          | 267 +++++++++-------
 4 files changed, 161 insertions(+), 456 deletions(-)
---
diff --git a/ruby.spec b/ruby.spec
index d9e8b10..413bbc3 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -1,8 +1,5 @@
 # TODO:
 #	- include ext/ in docs
-#	- replace ri with fastri
-#	- patch ri to search multiple indexes (one per package), so RPMs can install ri docs
-#	- gemify irb (?)
 #
 # Conditional build:
 %bcond_without	doc		# skip (time-consuming) docs generating; intended for speed up test builds
@@ -13,12 +10,12 @@
 %bcond_with	tests		# build without tests
 
 %define		rel		1
-%define		ruby_version	3.2
-%define		patchlevel	10
+%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	3_1_2
-%define		unicode_version	12.1.0
+%define		doc_version	3_3_0
+%define		unicode_version	15.0.0
 %define		oname	ruby
 Summary:	Ruby - interpreted scripting language
 Summary(ja.UTF-8):	オブジェクト指向言語Rubyインタプリタ
@@ -31,17 +28,15 @@ Release:	%{rel}
 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:	48eba639bdc9bfb589450f8a6f91fad1
-Source2:	https://ruby-doc.org/downloads/%{oname}_%{doc_version}_stdlib_rdocs.tgz
-# Source2-md5:	d8b945c2da4f60d9ea2886e163f0203c
-Source3:	https://ruby-doc.org/downloads/%{oname}_%{doc_version}_core_rdocs.tgz
-# Source3-md5:	84f245aff74470bb90c69ecc8c8b7664
+# Source0-md5:	b58158f56343125bc9a56841f4c2cb35
+Source2:	https://ruby-doc.org/downloads/%{oname}_%{doc_version}_complete_rdocs.tgz
+# Source2-md5:	058ec53cf5e9d8805161f1b198616b6d
 %if 0
 Source50:	https://www.unicode.org/Public/%{unicode_version}/ucd/CaseFolding.txt
 # Source50-md5:	e3fbf2f626f10070000fe66f3a2ff5ef
@@ -57,34 +52,28 @@ Source54:	https://www.unicode.org/Public/%{unicode_version}/ucd/UnicodeData.txt
 Source4:	rdoc.1
 Source5:	testrb.1
 Source6:	operating_system.rb
-Patch2:		fix-bison-invocation.patch
 #Patch3:		mkmf-verbose.patch
 Patch4:		strip-ccache.patch
 Patch5:		ruby-version.patch
 Patch6:		duplicated-paths.patch
 Patch9:		custom-rubygems-location.patch
-Patch10:	ruby-3.2.0-build-extension-libraries-in-bundled-gems.patch
 Patch12:	archlibdir.patch
 URL:		http://www.ruby-lang.org/
 BuildRequires:	autoconf >= 2.67
 BuildRequires:	automake
-BuildRequires:	bison >= 1.875
-BuildRequires:	db-devel
 BuildRequires:  gcc-c++
-BuildRequires:	gdbm-devel >= 1.8.3
 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 >= 5.4.10-49
 BuildRequires:	rpmbuild(macros) >= 1.527
 # which version is minimum now? 1.8.7 is not enough, fails with:
 # ./tool/generic_erb.rb:31: syntax error, unexpected ':', expecting ')'
 # ...O.popen("tput smso", "r", err: IO::NULL, &:read) rescue nil)
-BuildRequires:	ruby >= 1:1.9
+BuildRequires:	ruby >= 1:3.0
 BuildRequires:	rust
 BuildRequires:	sed >= 4.0
 %{?with_dtrace:BuildRequires:	systemtap-sdt-devel}
@@ -109,49 +98,61 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # hack: skip rubygem(ipaddr)
 %define	_noautoreq	ipaddr
 
-%define rubygems_ver 3.4.19
+%define rubygems_ver 3.6.9
 %define rubygems_molinillo_ver 0.8.0
-%define rubygems_optparse_ver 0.3.0
-%define rubygems_tsort_ver 0.1.0
+%define rubygems_optparse_ver 0.6.0
+%define rubygems_tsort_ver 0.2.0
 
 # Default gems.
-%define bundler_ver 2.4.19
-%define bundler_connection_pool_ver 2.3.0
-%define bundler_fileutils_ver 1.7.0
+%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.1
-%define bundler_thor_ver 1.2.1
-%define bundler_tsort_ver 0.1.1
-%define bundler_uri_ver 0.12.1
-
-%define bigdecimal_ver 3.1.3
-%define did_you_mean_ver 1.6.3
-%define erb_ver 4.0.2
-%define io_console_ver 0.6.0
-%define irb_ver 1.6.2
-%define json_ver 2.6.3
-%define openssl_ver 3.1.0
-%define psych_ver 5.0.1
-%define racc_ver 1.6.2
-%define rdoc_ver 6.5.1.1
-%define stringio_ver 3.0.4
+%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 minitest_ver 5.25.1
-%define power_assert_ver 2.0.3
-%define rake_ver 13.0.6
-%define test_unit_ver 3.5.7
+%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.2.1
-%define net_imap_ver 0.3.9
+%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.3.4
+%define net_smtp_ver 0.5.1
 %define matrix_ver 0.4.2
-%define prime_ver 0.1.2
-%define rbs_ver 2.8.2
-%define typeprof_ver 0.21.3
-%define debug_ver 1.7.1
+%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
@@ -183,6 +184,10 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # 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
@@ -662,33 +667,38 @@ 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
-%patch 2 -p1
+%setup -q -n %{oname}-%{pkg_version} -a2
 #%patch3 -p1
 %patch 4 -p1
 %patch 5 -p1
 %patch 6 -p1
 %patch 9 -p1
-
-# (from rawhide) Once the upstream tarball contains the files on the right place, this code
-# won't be necessary. This should happen at the same moment when the patch10
-# is not needed anymore.
-##mkdir .bundle/specifications
-#find .bundle/gems -name '*-[0-9]*.gemspec' -exec cp -t .bundle/specifications/ {} +
-#%patch10 -p1
 %patch 12 -p1
 
 %if 0
@@ -834,6 +844,7 @@ sed -i -e 's/Version: \${ruby_version}/Version: %{ruby_version}/' $RPM_BUILD_ROO
 # Kill bundled certificates, as they should be part of ca-certificates.
 for cert in \
 	GlobalSignRootCA.pem \
+	GlobalSignRootCA_R3.pem \
 ; do
 	%{__rm} $RPM_BUILD_ROOT%{rubygems_dir}/rubygems/ssl_certs/*/$cert
 done
@@ -873,16 +884,6 @@ 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
 
-install -d $RPM_BUILD_ROOT%{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}/lib
-install -d $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal
-touch $RPM_BUILD_ROOT%{gem_libdir}/bigdecimal-%{bigdecimal_ver}/gem.build_complete
-%{__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%{ruby_libarchdir}/bigdecimal
-
 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
@@ -944,10 +945,6 @@ sed -i '/^end$/ i\
 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
@@ -971,14 +968,13 @@ done
 
 %{__sed} -i -e '1s,/usr/bin/env ruby,/usr/bin/ruby,' \
  	$RPM_BUILD_ROOT%{_bindir}/irb \
-	$RPM_BUILD_ROOT%{ruby_libdir}/abbrev.rb \
 	$RPM_BUILD_ROOT%{gem_dir}/gems/rake-%{rake_ver}/exe/rake \
 	$RPM_BUILD_ROOT%{gem_dir}/gems/rdoc-%{rdoc_ver}/exe/{rdoc,ri} \
         $RPM_BUILD_ROOT%{gem_dir}/gems/bundler-%{bundler_ver}/libexec/{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}/exe/typeprof \
+        $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}/*.rb
@@ -995,9 +991,22 @@ done
 %{__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/test-unit-%{test_unit_ver}/{[A-Z]*,doc,sample}
-%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/racc-%{racc_ver}/bin $RPM_BUILD_ROOT%{_bindir}/racc # racc binary can be installed from ruby-racc package
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/racc-%{racc_ver}/{bin,doc,ext} $RPM_BUILD_ROOT%{_bindir}/racc # racc binary can be installed from ruby-racc package
 %{__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}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/nkf-%{nkf_ver}/{[A-Z]*,ext,bin}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/syslog-%{syslog_ver}/{[A-Z]*,ext}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rbs-%{rbs_ver}/{[A-Z]*,docs,ext,sig,src,core,stdlib,config.yml,goodcheck.yml,*.gemspec}
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/csv-%{csv_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/abbrev-%{abbrev_ver}/[A-Z]*
+%{__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]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/getoptlong-%{getoptlong_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/observer-%{observer_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/resolv-replace-%{resolv_replace_ver}/[A-Z]*
+%{__rm} -r $RPM_BUILD_ROOT%{gem_dir}/gems/rinda-%{rinda_ver}/[A-Z]*
 
 %if %{without batteries}
 # packaged separately
@@ -1014,7 +1023,6 @@ done
 %if %{with doc}
 # too much .ri
 %{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/cache.ri
-%{__rm} $RPM_BUILD_ROOT%{ruby_ridir}/win32/page-*.ri
 %endif
 
 %clean
@@ -1158,11 +1166,9 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{gem_dir}/gems/bigdecimal-%{bigdecimal_ver}
 %dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}
-%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
 %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/gem.build_complete
+%dir %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib
 %attr(755,root,root) %{gem_libdir}/bigdecimal-%{bigdecimal_ver}/lib/bigdecimal.so
-%{ruby_libdir}/bigdecimal.rb
-%{ruby_libdir}/bigdecimal
 %{gem_dir}/specifications/bigdecimal-%{bigdecimal_ver}.gemspec
 
 %files io-console
@@ -1237,6 +1243,68 @@ rm -rf $RPM_BUILD_ROOT
 %{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
+%attr(755,root,root) %{gem_libdir}/racc-%{racc_ver}/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.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)
@@ -1244,37 +1312,30 @@ rm -rf $RPM_BUILD_ROOT
 %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}/net
 %{ruby_libdir}/openssl
 %{ruby_libdir}/optparse
-%{ruby_libdir}/racc
-%{ruby_libdir}/rinda
+%{ruby_libdir}/prism
 %{ruby_libdir}/ripper
-%{ruby_libdir}/syslog
 %{ruby_libdir}/test
 %{ruby_libdir}/uri
 %{ruby_libdir}/yaml
 %{ruby_libdir}/English.rb
-%{ruby_libdir}/abbrev.rb
-%{ruby_libdir}/base64.rb
 %{ruby_libdir}/benchmark.rb
 %dir %{ruby_libdir}/benchmark
 %{ruby_libdir}/benchmark/version.rb
+%{ruby_libdir}/bundled_gems.rb
 %{ruby_libdir}/bundler
 %{ruby_libdir}/bundler.rb
 %{ruby_libdir}/cgi.rb
-%{ruby_libdir}/csv.rb
-%{ruby_libdir}/csv
 %{ruby_libdir}/coverage.rb
 %{ruby_libdir}/date.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}/error_highlight.rb
 %dir %{ruby_libdir}/error_highlight
 %{ruby_libdir}/error_highlight/*.rb
@@ -1288,19 +1349,15 @@ rm -rf $RPM_BUILD_ROOT
 %{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
 %dir %{ruby_libdir}/logger
 %{ruby_libdir}/logger/*.rb
 %{ruby_libdir}/monitor.rb
-%{ruby_libdir}/mutex_m.rb
 %{ruby_libdir}/objspace.rb
 %dir %{ruby_libdir}/objspace
 %{ruby_libdir}/objspace/*.rb
-%{ruby_libdir}/observer.rb
 %{ruby_libdir}/open-uri.rb
 %{ruby_libdir}/open3.rb
 %dir %{ruby_libdir}/open3
@@ -1312,8 +1369,8 @@ rm -rf $RPM_BUILD_ROOT
 %{ruby_libdir}/pathname.rb
 %{ruby_libdir}/pp.rb
 %{ruby_libdir}/prettyprint.rb
+%{ruby_libdir}/prism.rb
 %{ruby_libdir}/pstore.rb
-%{ruby_libdir}/racc.rb
 %dir %{ruby_libdir}/random
 %{ruby_libdir}/random/*.rb
 %{ruby_libdir}/rdoc.rb
@@ -1323,13 +1380,14 @@ rm -rf $RPM_BUILD_ROOT
 %{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-replace.rb
 %{ruby_libdir}/resolv.rb
 %{ruby_libdir}/ripper.rb
 %dir %{ruby_libdir}/ruby_vm
-%{ruby_libdir}/ruby_vm/mjit
+%{ruby_libdir}/ruby_vm/rjit
 %{ruby_libdir}/securerandom.rb
 %{ruby_libdir}/set.rb
 %dir %{ruby_libdir}/set
@@ -1360,7 +1418,6 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -1370,17 +1427,14 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{ruby_archdir}/fcntl.so
 %attr(755,root,root) %{ruby_archdir}/fiddle.so
 %attr(755,root,root) %{ruby_archdir}/monitor.so
-%attr(755,root,root) %{ruby_archdir}/nkf.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}/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
@@ -1393,8 +1447,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{ruby_archdir}/enc/trans/*.so
 %dir %{ruby_archdir}/io
 %attr(755,root,root) %{ruby_archdir}/io/*.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
 
@@ -1416,8 +1468,7 @@ rm -rf $RPM_BUILD_ROOT
 %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)
@@ -1425,7 +1476,7 @@ rm -rf $RPM_BUILD_ROOT
 %{ruby_ridir}/contributing
 %{ruby_ridir}/fatal
 %{ruby_ridir}/syntax
-%{ruby_ridir}/win32
+%{ruby_ridir}/windows
 %{ruby_ridir}/optparse
 %lang(ja) %{ruby_ridir}/page-COPYING_ja.ri
 %lang(ja) %{ruby_ridir}/page-README_ja_md.ri
diff --git a/fix-bison-invocation.patch b/fix-bison-invocation.patch
deleted file mode 100644
index 2ff5cc3..0000000
--- a/fix-bison-invocation.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ruby-2.6.5/ext/ripper/depend~	2019-10-01 13:01:01.000000000 +0200
-+++ ruby-2.6.5/ext/ripper/depend	2019-11-25 08:47:14.265303943 +0100
-@@ -11,7 +11,7 @@
-
- .y.c:
- 	$(ECHO) compiling compiler $<
--	$(Q) $(BISON) -t -v -oy.tab.c $<
-+	$(Q) $(BISON) -d -t -v -oy.tab.c $<
- 	$(Q) sed -e "/^#/s!y\.tab\.c!$@!" -f $(top_srcdir)/tool/ytab.sed y.tab.c > $@
- 	@$(RM) y.tab.c
diff --git a/operating_system.rb b/operating_system.rb
index e9051b2..d6399ee 100644
--- a/operating_system.rb
+++ b/operating_system.rb
@@ -112,6 +112,8 @@ module Gem
     def default_path
       path = default_dirs.collect {|location, paths| paths[:gem_dir]}
       path.unshift Gem.user_dir if File.exist? Gem.user_home
+      path << Gem.vendor_dir if Gem.vendor_dir && File.directory?(Gem.vendor_dir)
+      path
     end
 
     def default_bindir
diff --git a/ruby-3.2.0-build-extension-libraries-in-bundled-gems.patch b/ruby-3.2.0-build-extension-libraries-in-bundled-gems.patch
deleted file mode 100644
index de8d4d3..0000000
--- a/ruby-3.2.0-build-extension-libraries-in-bundled-gems.patch
+++ /dev/null
@@ -1,338 +0,0 @@
-From 111f8422427d78becc9183ae149b2105a16bf327 Mon Sep 17 00:00:00 2001
-From: Nobuyoshi Nakada <nobu at ruby-lang.org>
-Date: Tue, 5 Apr 2022 23:24:00 +0900
-Subject: [PATCH 1/5] Bundled gems are expanded under `.bundle/gems` now
-
----
- ext/extmk.rb          | 13 +++++++------
- template/exts.mk.tmpl |  2 +-
- 2 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/ext/extmk.rb b/ext/extmk.rb
-index 4a087f294ac9..1da9e2704521 100755
---- a/ext/extmk.rb
-+++ b/ext/extmk.rb
-@@ -146,7 +146,7 @@ def extmake(target, basedir = 'ext', maybestatic = true)
-     top_srcdir = $top_srcdir
-     topdir = $topdir
-     hdrdir = $hdrdir
--    prefix = "../" * (target.count("/")+1)
-+    prefix = "../" * (basedir.count("/")+target.count("/")+1)
-     $top_srcdir = relative_from(top_srcdir, prefix)
-     $hdrdir = relative_from(hdrdir, prefix)
-     $topdir = prefix + $topdir
-@@ -460,10 +460,11 @@ def $mflags.defined?(var)
- end unless $extstatic
- 
- @gemname = nil
--if ARGV[0]
--  ext_prefix, exts = ARGV.shift.split('/', 2)
-+if exts = ARGV.shift
-+  ext_prefix = exts[%r[\A(?>\.bundle/)?[^/]+(?:/(?=(.+)?)|\z)]]
-+  exts = $1
-   $extension = [exts] if exts
--  if ext_prefix == 'gems'
-+  if ext_prefix.start_with?('.')
-     @gemname = exts
-   elsif exts
-     $static_ext.delete_if {|t, *| !File.fnmatch(t, exts)}
-@@ -515,7 +516,7 @@ def $mflags.defined?(var)
-     exts.delete_if {|d| File.fnmatch?("-*", d)}
-   end
- end
--ext_prefix = File.basename(ext_prefix)
-+ext_prefix = ext_prefix[$top_srcdir.size+1..-2]
- 
- extend Module.new {
-   def timestamp_file(name, target_prefix = nil)
-@@ -634,7 +635,7 @@ def initialize(src)
-   end
- }
- 
--Dir.chdir ".."
-+Dir.chdir dir
- unless $destdir.to_s.empty?
-   $mflags.defined?("DESTDIR") or $mflags << "DESTDIR=#{$destdir}"
- end
-diff --git a/template/exts.mk.tmpl b/template/exts.mk.tmpl
-index 2f37f4480ac5..964939e365a1 100644
---- a/template/exts.mk.tmpl
-+++ b/template/exts.mk.tmpl
-@@ -25,7 +25,7 @@ macros["old_extensions"] = []
- 
- contpat = /(?>(?>[^\\\n]|\\.)*\\\n)*(?>[^\\\n]|\\.)*/
- Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
--  gem = /\Agems(?=\/)/ =~ e
-+  gem = e.start_with?(".bundle/gems/")
-   s = File.read(e)
-   s.scan(/^(extensions|SUBMAKEOPTS|EXT[A-Z]+|MFLAGS|NOTE_[A-Z]+)[ \t]*=[ \t]*(#{contpat})$/o) do |n, v|
-     v.gsub!(/\\\n[ \t]*/, ' ')
-
-From 6ea34cac22131d28a9cc50e7875e854aed9bdb88 Mon Sep 17 00:00:00 2001
-From: Nobuyoshi Nakada <nobu at ruby-lang.org>
-Date: Wed, 6 Apr 2022 20:25:53 +0900
-Subject: [PATCH 2/5] Retrieve configured gems info
-
----
- template/configure-ext.mk.tmpl | 2 +-
- template/exts.mk.tmpl          | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/template/configure-ext.mk.tmpl b/template/configure-ext.mk.tmpl
-index 6636a7759c54..8ba6b963e3ec 100644
---- a/template/configure-ext.mk.tmpl
-+++ b/template/configure-ext.mk.tmpl
-@@ -27,7 +27,7 @@ SCRIPT_ARGS = <%=script_args.gsub("#", "\\#")%>
- EXTMK_ARGS = $(SCRIPT_ARGS) --gnumake=$(gnumake) --extflags="$(EXTLDFLAGS)" \
- 	   --make-flags="MINIRUBY='$(MINIRUBY)'"
- 
--all: exts # gems
-+all: exts gems
- exts:
- gems:
- 
-diff --git a/template/exts.mk.tmpl b/template/exts.mk.tmpl
-index 964939e365a1..e544c4c88bd7 100644
---- a/template/exts.mk.tmpl
-+++ b/template/exts.mk.tmpl
-@@ -19,7 +19,7 @@ opt = OptionParser.new do |o|
-   o.on('--configure-exts=FILE') {|v| confexts = v}
-   o.order!(ARGV)
- end
--confexts &&= File.read(confexts).scan(/^exts: (.*\.mk)/).flatten rescue nil
-+confexts &&= File.read(confexts).scan(/^(?:ext|gem)s: (.*\.mk)/).flatten rescue nil
- confexts ||= []
- macros["old_extensions"] = []
- 
-@@ -30,7 +30,7 @@ Dir.glob("{ext,.bundle/gems}/*/exts.mk") do |e|
-   s.scan(/^(extensions|SUBMAKEOPTS|EXT[A-Z]+|MFLAGS|NOTE_[A-Z]+)[ \t]*=[ \t]*(#{contpat})$/o) do |n, v|
-     v.gsub!(/\\\n[ \t]*/, ' ')
-     next if v.empty?
--    next if gem and n != "extensions"
-+    next if n != "extensions"
-     n = "old_extensions" if n == "extensions" and !confexts.include?(e)
-     v = v.split
-     m = macros[n] ||= []
-
-From be9d00ee7c72766551ba8c3530f1538034498a6a Mon Sep 17 00:00:00 2001
-From: Nobuyoshi Nakada <nobu at ruby-lang.org>
-Date: Wed, 6 Apr 2022 20:28:00 +0900
-Subject: [PATCH 3/5] Move the target directory of bundled gems like as
- rubygems
-
----
- ext/extmk.rb | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/ext/extmk.rb b/ext/extmk.rb
-index 1da9e2704521..a440af27fc5d 100755
---- a/ext/extmk.rb
-+++ b/ext/extmk.rb
-@@ -2,6 +2,9 @@
- # -*- mode: ruby; coding: us-ascii -*-
- # frozen_string_literal: false
- 
-+module Gem; end # only needs Gem::Platform
-+require 'rubygems/platform'
-+
- # :stopdoc:
- $extension = nil
- $extstatic = nil
-@@ -535,11 +538,12 @@ def create_makefile(*args, &block)
-     super(*args) do |conf|
-       conf.find do |s|
-         s.sub!(/^(TARGET_SO_DIR *= *)\$\(RUBYARCHDIR\)/) {
--          "TARGET_GEM_DIR = $(extout)/gems/$(arch)/#{@gemname}\n"\
-+          "TARGET_GEM_DIR = $(topdir)/.bundle/extensions/$(gem_platform)/$(ruby_version)/#{@gemname}\n"\
-           "#{$1}$(TARGET_GEM_DIR)$(target_prefix)"
-         }
-       end
-       conf.any? {|s| /^TARGET *= *\S/ =~ s} and conf << %{
-+gem_platform = #{Gem::Platform.local}
- 
- # default target
- all:
-
-From c4daf8e445925695c34bab8bf5135dcd1e8575a3 Mon Sep 17 00:00:00 2001
-From: Nobuyoshi Nakada <nobu at ruby-lang.org>
-Date: Wed, 6 Apr 2022 22:57:01 +0900
-Subject: [PATCH 4/5] Obey spec file locations to rubygems
-
----
- common.mk          | 3 ++-
- defs/gmake.mk      | 2 +-
- tool/gem-unpack.rb | 5 +++--
- 3 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/common.mk b/common.mk
-index 7c552cba1e04..b4adb2729c0e 100644
---- a/common.mk
-+++ b/common.mk
-@@ -1359,10 +1359,11 @@ extract-gems$(gnumake:yes=-nongnumake): PHONY
- 	$(Q) $(RUNRUBY) -C "$(srcdir)" \
- 	    -Itool -rgem-unpack -answ \
- 	    -e 'BEGIN {FileUtils.mkdir_p(d = ".bundle/gems")}' \
-+	    -e 'BEGIN {FileUtils.mkdir_p(s = ".bundle/specifications")}' \
- 	    -e 'gem, ver = *$$F' \
- 	    -e 'next if !ver or /^#/=~gem' \
- 	    -e 'g = "#{gem}-#{ver}"' \
--	    -e 'File.directory?("#{d}/#{g}") or Gem.unpack("gems/#{g}.gem", d)' \
-+	    -e 'File.directory?("#{d}/#{g}") or Gem.unpack("gems/#{g}.gem", d, s)' \
- 	    gems/bundled_gems
- 
- update-bundled_gems: PHONY
-diff --git a/defs/gmake.mk b/defs/gmake.mk
-index a625379a6804..27e3e21cc4d6 100644
---- a/defs/gmake.mk
-+++ b/defs/gmake.mk
-@@ -290,7 +290,7 @@ extract-gems: | $(patsubst %,.bundle/gems/%,$(bundled-gems))
- 	$(ECHO) Extracting bundle gem $*...
- 	$(Q) $(BASERUBY) -C "$(srcdir)" \
- 	    -Itool -rgem-unpack \
--	    -e 'Gem.unpack("gems/$(@F).gem", ".bundle/gems")'
-+	    -e 'Gem.unpack("gems/$(@F).gem", ".bundle/gems", ".bundle/specifications")'
- 
- $(srcdir)/.bundle/gems:
- 	$(MAKEDIRS) $@
-diff --git a/tool/gem-unpack.rb b/tool/gem-unpack.rb
-index cb05719463f2..fe10b0e420fa 100644
---- a/tool/gem-unpack.rb
-+++ b/tool/gem-unpack.rb
-@@ -5,13 +5,14 @@
- # This library is used by "make extract-gems" to
- # unpack bundled gem files.
- 
--def Gem.unpack(file, dir = nil)
-+def Gem.unpack(file, dir = nil, spec_dir = nil)
-   pkg = Gem::Package.new(file)
-   spec = pkg.spec
-   target = spec.full_name
-   target = File.join(dir, target) if dir
-   pkg.extract_files target
--  spec_file = File.join(target, "#{spec.name}-#{spec.version}.gemspec")
-+  FileUtils.mkdir_p(spec_dir ||= target)
-+  spec_file = File.join(spec_dir, "#{spec.name}-#{spec.version}.gemspec")
-   open(spec_file, 'wb') do |f|
-     f.print spec.to_ruby
-   end
-
-From 3de652d8198be9cd2998c095903889a80e738275 Mon Sep 17 00:00:00 2001
-From: Nobuyoshi Nakada <nobu at ruby-lang.org>
-Date: Thu, 7 Apr 2022 01:44:43 +0900
-Subject: [PATCH 5/5] Install built gem extension binaries
-
----
- tool/rbinstall.rb | 56 ++++++++++++++---------------------------------
- 1 file changed, 16 insertions(+), 40 deletions(-)
-
-diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
-index 9d9b672be472..624961b4eee6 100755
---- a/tool/rbinstall.rb
-+++ b/tool/rbinstall.rb
-@@ -858,6 +858,9 @@ class UnpackedInstaller < GemInstaller
-     def write_cache_file
-     end
- 
-+    def build_extensions
-+    end
-+
-     def shebang(bin_file_name)
-       path = File.join(gem_dir, spec.bindir, bin_file_name)
-       first_line = File.open(path, "rb") {|file| file.gets}
-@@ -940,13 +943,12 @@ def ensure_writable_dir(dir)
-   install_default_gem('ext', srcdir, bindir)
- end
- 
--def load_gemspec(file, expanded = false)
-+def load_gemspec(file, base = nil)
-   file = File.realpath(file)
-   code = File.read(file, encoding: "utf-8:-")
-   code.gsub!(/(?:`git[^\`]*`|%x\[git[^\]]*\])\.split\([^\)]*\)/m) do
-     files = []
--    if expanded
--      base = File.dirname(file)
-+    if base
-       Dir.glob("**/*", File::FNM_DOTMATCH, base: base) do |n|
-         case File.basename(n); when ".", ".."; next; end
-         next if File.directory?(File.join(base, n))
-@@ -959,7 +961,7 @@ def load_gemspec(file, expanded = false)
-   unless Gem::Specification === spec
-     raise TypeError, "[#{file}] isn't a Gem::Specification (#{spec.class} instead)."
-   end
--  spec.loaded_from = file
-+  spec.loaded_from = base ? File.join(base, File.basename(file)) : file
-   spec.files.reject! {|n| n.end_with?(".gemspec") or n.start_with?(".git")}
- 
-   spec
-@@ -1014,20 +1016,6 @@ def install_default_gem(dir, srcdir, bindir)
- end
- 
- install?(:ext, :comm, :gem, :'bundled-gems') do
--  if CONFIG['CROSS_COMPILING'] == 'yes'
--    # The following hacky steps set "$ruby = BASERUBY" in tool/fake.rb
--    $hdrdir = ''
--    $extmk = nil
--    $ruby = nil  # ...
--    ruby_path = $ruby + " -I#{Dir.pwd}" # $baseruby + " -I#{Dir.pwd}"
--  else
--    # ruby_path = File.expand_path(with_destdir(File.join(bindir, ruby_install_name)))
--    ENV['RUBYLIB'] = nil
--    ENV['RUBYOPT'] = nil
--    ruby_path = File.expand_path(with_destdir(File.join(bindir, ruby_install_name))) + " --disable=gems -I#{with_destdir(archlibdir)}"
--  end
--  Gem.instance_variable_set(:@ruby, ruby_path) if Gem.ruby != ruby_path
--
-   gem_dir = Gem.default_dir
-   install_dir = with_destdir(gem_dir)
-   prepare "bundled gems", gem_dir
-@@ -1047,40 +1035,28 @@ def install_default_gem(dir, srcdir, bindir)
-     :wrappers => true,
-     :format_executable => true,
-   }
--  gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}"
--  extensions_dir = with_destdir(Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir)
-+
-+  extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir
-+  specifications_dir = File.join(gem_dir, "specifications")
-+  build_dir = Gem::StubSpecification.gemspec_stub("", ".bundle", ".bundle").extensions_dir
- 
-   File.foreach("#{srcdir}/gems/bundled_gems") do |name|
-     next if /^\s*(?:#|$)/ =~ name
-     next unless /^(\S+)\s+(\S+).*/ =~ name
-     gem_name = "#$1-#$2"
--    path = "#{srcdir}/.bundle/gems/#{gem_name}/#{gem_name}.gemspec"
--    if File.exist?(path)
--      spec = load_gemspec(path)
--    else
--      path = "#{srcdir}/.bundle/gems/#{gem_name}/#$1.gemspec"
--      next unless File.exist?(path)
--      spec = load_gemspec(path, true)
--    end
-+    path = "#{srcdir}/.bundle/specifications/#{gem_name}.gemspec"
-+    next unless File.exist?(path)
-+    spec = load_gemspec(path, "#{srcdir}/.bundle/gems/#{gem_name}")
-     next unless spec.platform == Gem::Platform::RUBY
-     next unless spec.full_name == gem_name
--    if !spec.extensions.empty? && CONFIG["EXTSTATIC"] == "static"
--      puts "skip installation of #{spec.name} #{spec.version}; bundled gem with an extension library is not supported on --with-static-linked-ext"
--      next
--    end
-     spec.extension_dir = "#{extensions_dir}/#{spec.full_name}"
--    if File.directory?(ext = "#{gem_ext_dir}/#{spec.full_name}")
--      spec.extensions[0] ||= "-"
--    end
-     package = RbInstall::DirPackage.new spec
-     ins = RbInstall::UnpackedInstaller.new(package, options)
-     puts "#{INDENT}#{spec.name} #{spec.version}"
-     ins.install
--    unless $dryrun
--      File.chmod($data_mode, File.join(install_dir, "specifications", "#{spec.full_name}.gemspec"))
--    end
--    unless spec.extensions.empty?
--      install_recursive(ext, spec.extension_dir)
-+    install_recursive("#{build_dir}/#{gem_name}", "#{extensions_dir}/#{gem_name}") do |src, dest|
-+      # puts "#{INDENT}    #{dest[extensions_dir.size+gem_name.size+2..-1]}"
-+      install src, dest, :mode => (File.executable?(src) ? $prog_mode : $data_mode)
-     end
-     installed_gems[spec.full_name] = true
-   end
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ruby.git/commitdiff/6f5d181bb6c560855d94c8d0e2df1212895bc545



More information about the pld-cvs-commit mailing list