summaryrefslogtreecommitdiff
path: root/lang/ruby24-base/patches/patch-lib_rubygems.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lang/ruby24-base/patches/patch-lib_rubygems.rb')
-rw-r--r--lang/ruby24-base/patches/patch-lib_rubygems.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/lang/ruby24-base/patches/patch-lib_rubygems.rb b/lang/ruby24-base/patches/patch-lib_rubygems.rb
new file mode 100644
index 00000000000..d575a3dc6ba
--- /dev/null
+++ b/lang/ruby24-base/patches/patch-lib_rubygems.rb
@@ -0,0 +1,44 @@
+$NetBSD: patch-lib_rubygems.rb,v 1.1 2017/06/18 13:45:11 taca Exp $
+
+* Add install_root option for pkgsrc's rubygems support.
+
+--- lib/rubygems.rb.orig 2017-03-17 04:36:49.000000000 +0000
++++ lib/rubygems.rb
+@@ -310,10 +310,16 @@ module Gem
+ ##
+ # The path where gem executables are to be installed.
+
+- def self.bindir(install_dir=Gem.dir)
+- return File.join install_dir, 'bin' unless
+- install_dir.to_s == Gem.default_dir.to_s
+- Gem.default_bindir
++ def self.bindir(install_dir=Gem.dir, install_root=nil)
++ if install_dir.to_s == Gem.default_dir.to_s
++ install_dir = Gem.default_bindir
++ else
++ install_dir = File.join install_dir, 'bin'
++ end
++ unless install_root.nil? or install_root.empty?
++ install_dir = File.join install_root, install_dir
++ end
++ install_dir
+ end
+
+ ##
+@@ -653,7 +659,7 @@ An Array (#{env.inspect}) was passed in
+ return i if path.instance_variable_defined?(:@gem_prelude_index)
+ end
+
+- index = $LOAD_PATH.index RbConfig::CONFIG['sitelibdir']
++ index = $LOAD_PATH.index RbConfig::CONFIG['vendorlibdir']
+
+ index
+ end
+@@ -828,6 +834,7 @@ An Array (#{env.inspect}) was passed in
+ prefix = File.dirname RUBYGEMS_DIR
+
+ if prefix != File.expand_path(RbConfig::CONFIG['sitelibdir']) and
++ prefix != File.expand_path(ConfigMap[:vendorlibdir]) and
+ prefix != File.expand_path(RbConfig::CONFIG['libdir']) and
+ 'lib' == File.basename(RUBYGEMS_DIR) then
+ prefix