summaryrefslogtreecommitdiff
path: root/lang/ruby19-base/patches/patch-al
diff options
context:
space:
mode:
Diffstat (limited to 'lang/ruby19-base/patches/patch-al')
-rw-r--r--lang/ruby19-base/patches/patch-al49
1 files changed, 49 insertions, 0 deletions
diff --git a/lang/ruby19-base/patches/patch-al b/lang/ruby19-base/patches/patch-al
new file mode 100644
index 00000000000..e690a9a0444
--- /dev/null
+++ b/lang/ruby19-base/patches/patch-al
@@ -0,0 +1,49 @@
+$NetBSD: patch-al,v 1.1.1.1 2010/09/12 03:50:06 taca Exp $
+
+Add install_root option for pkgsrc's rubygems support.
+
+--- lib/rubygems/dependency_installer.rb.orig 2010-04-22 08:24:42.000000000 +0000
++++ lib/rubygems/dependency_installer.rb
+@@ -38,6 +38,7 @@ class Gem::DependencyInstaller
+ # :format_executable:: See Gem::Installer#initialize.
+ # :ignore_dependencies:: Don't install any dependencies.
+ # :install_dir:: See Gem::Installer#install.
++ # :install_root: See Gem::Installer#install.
+ # :prerelease:: Allow prerelease versions. See #install.
+ # :security_policy:: See Gem::Installer::new and Gem::Security.
+ # :user_install:: See Gem::Installer.new
+@@ -45,7 +46,11 @@ class Gem::DependencyInstaller
+
+ def initialize(options = {})
+ if options[:install_dir] then
+- spec_dir = options[:install_dir], 'specifications'
++ if options[:install_root].nil? or options[:install_root] == "" then
++ spec_dir = options[:install_dir], 'specifications'
++ else
++ spec_dir = options[:install_root], options[:install_dir], 'specifications'
++ end
+ @source_index = Gem::SourceIndex.from_gems_in spec_dir
+ else
+ @source_index = Gem.source_index
+@@ -68,7 +73,12 @@ class Gem::DependencyInstaller
+ @installed_gems = []
+
+ @install_dir = options[:install_dir] || Gem.dir
+- @cache_dir = options[:cache_dir] || @install_dir
++ @install_root = options[:install_root]
++ install_dir = @install_dir
++ unless @install_root.nil? or @install_root == ""
++ install_dir = File.join(@install_root, @install_dir)
++ end
++ @cache_dir = options[:cache_dir] || install_dir
+
+ # Set with any errors that SpecFetcher finds while search through
+ # gemspecs for a dep
+@@ -269,6 +279,7 @@ class Gem::DependencyInstaller
+ :format_executable => @format_executable,
+ :ignore_dependencies => @ignore_dependencies,
+ :install_dir => @install_dir,
++ :install_root => @install_root,
+ :security_policy => @security_policy,
+ :source_index => @source_index,
+ :user_install => @user_install,