summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2024-06-04 11:43:25 -0700
committerTakashi Kokubun <takashikkbn@gmail.com>2024-06-04 11:43:25 -0700
commit0a0338b06fcc3690346d5a3bec60bbcee85ec7ce (patch)
tree2a9f2502aca583078e78a5d209308663e6b33d1b
parent12c806acc3923115f2c6590c885e43f2f24a17e3 (diff)
merge revision(s) 9f708d48f6df37ee9600db9d51b57a156609a13b, 0301473fb523c71d8cdc4966971f31f502001185, 874e9fc34d728f8e2444d15aa6759befd217c464, 7f0e26b7f99bf76408569892ce20318501f74729: [Backport #20516]
Clear runtime dependencies if default gems is specified. The current build system uses runtime dependencies from only `.bundle` directory. We shouldn't install runtime dependencies from rubygems.org when `make test-bundled-gems` is invoked. Fixed dependencies list format Don't need to remove ruby2_keywords dependency from drb Re-use strscan with ruby repo
-rw-r--r--tool/lib/bundled_gem.rb12
-rw-r--r--version.h2
2 files changed, 13 insertions, 1 deletions
diff --git a/tool/lib/bundled_gem.rb b/tool/lib/bundled_gem.rb
index bfc0be1c81..8730f0fb3a 100644
--- a/tool/lib/bundled_gem.rb
+++ b/tool/lib/bundled_gem.rb
@@ -6,6 +6,15 @@ require 'rubygems/package'
# unpack bundled gem files.
module BundledGem
+ DEFAULT_GEMS_DEPENDENCIES = [
+ "net-protocol", # net-ftp
+ "time", # net-ftp
+ "singleton", # prime
+ "ipaddr", # rinda
+ "forwardable", # prime, rinda
+ "strscan" # rexml
+ ]
+
module_function
def unpack(file, *rest)
@@ -55,6 +64,9 @@ module BundledGem
gem_dir = File.join(dir, "gems", target)
yield gem_dir
spec_dir = spec.extensions.empty? ? "specifications" : File.join("gems", target)
+ if spec.extensions.empty?
+ spec.dependencies.reject! {|dep| DEFAULT_GEMS_DEPENDENCIES.include?(dep.name)}
+ end
File.binwrite(File.join(dir, spec_dir, "#{target}.gemspec"), spec.to_ruby)
unless spec.extensions.empty?
spec.dependencies.clear
diff --git a/version.h b/version.h
index 8f8625fe59..b9d21b61b1 100644
--- a/version.h
+++ b/version.h
@@ -11,7 +11,7 @@
# define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
#define RUBY_VERSION_TEENY 2
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 83
+#define RUBY_PATCHLEVEL 84
#include "ruby/version.h"
#include "ruby/internal/abi.h"