Files
pkgsrc-ng/misc/rubygems/patches/patch-ab
2013-09-26 17:14:40 +02:00

54 lines
2.3 KiB
Plaintext

$NetBSD: patch-ab,v 1.16 2013/06/15 02:12:48 taca Exp $
Add install_root option for pkgsrc's rubygems support.
--- lib/rubygems/dependency_installer.rb.orig 2013-03-05 21:25:39.000000000 +0000
+++ lib/rubygems/dependency_installer.rb
@@ -50,6 +50,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
@@ -57,13 +58,14 @@ class Gem::DependencyInstaller
# :build_args:: See Gem::Installer::new
def initialize(options = {})
- @install_dir = options[:install_dir] || Gem.dir
-
if options[:install_dir] then
+ @install_dir = options[:install_dir]
# HACK shouldn't change the global settings, needed for -i behavior
# maybe move to the install command? See also github #442
Gem::Specification.dirs = @install_dir
Gem.ensure_gem_subdirectories @install_dir
+ else
+ @install_dir = Gem.dir
end
options = DEFAULT_OPTIONS.merge options
@@ -92,7 +94,12 @@ class Gem::DependencyInstaller
@installed_gems = []
@toplevel_specs = nil
- @cache_dir = options[:cache_dir] || @install_dir
+ @install_root = options[:install_root] || ""
+ install_dir = @install_dir
+ if not @install_root.empty?
+ 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
@@ -364,6 +371,7 @@ class Gem::DependencyInstaller
:format_executable => @format_executable,
:ignore_dependencies => @ignore_dependencies,
:install_dir => @install_dir,
+ :install_root => @install_root,
:security_policy => @security_policy,
:user_install => @user_install,
:wrappers => @wrappers,