diff options
Diffstat (limited to 'extra/ruby/0001-Fix-installing-gem-from-file-without-dependencies.patch')
-rw-r--r-- | extra/ruby/0001-Fix-installing-gem-from-file-without-dependencies.patch | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/extra/ruby/0001-Fix-installing-gem-from-file-without-dependencies.patch b/extra/ruby/0001-Fix-installing-gem-from-file-without-dependencies.patch deleted file mode 100644 index 8fefb275d..000000000 --- a/extra/ruby/0001-Fix-installing-gem-from-file-without-dependencies.patch +++ /dev/null @@ -1,84 +0,0 @@ -From f5bbf838c8b13369a61c6756355305388df5824f Mon Sep 17 00:00:00 2001 -From: Tim Moore <tmoore@incrementalism.net> -Date: Tue, 31 Dec 2013 17:39:45 +1100 -Subject: [PATCH] Fix installing gem from file without dependencies. - -Commit 9437ccc fixed the ability to install remote gems that was accidentally -broken by d97fba1, but in the process accidentally broke installing from local -files. - -This also changes the order to check for local first, to avoid unnecessary -network requests in the case where the gem is local. - -Closes #760. ---- - lib/rubygems/commands/install_command.rb | 20 ++++++++++++-------- - test/rubygems/test_gem_commands_install_command.rb | 14 ++++++++++++++ - 2 files changed, 26 insertions(+), 8 deletions(-) - -diff --git a/lib/rubygems/commands/install_command.rb b/lib/rubygems/commands/install_command.rb -index 4485eb1..8219eef 100644 ---- a/lib/rubygems/commands/install_command.rb -+++ b/lib/rubygems/commands/install_command.rb -@@ -228,7 +228,18 @@ to write the specification by hand. For example: - def install_gem_without_dependencies name, req # :nodoc: - gem = nil - -- if remote? then -+ if local? then -+ if name =~ /\.gem$/ and File.file? name then -+ source = Gem::Source::SpecificFile.new name -+ spec = source.spec -+ else -+ source = Gem::Source::Local.new -+ spec = source.find_gem name, req -+ end -+ gem = source.download spec if spec -+ end -+ -+ if remote? and not gem then - dependency = Gem::Dependency.new name, req - dependency.prerelease = options[:prerelease] - -@@ -236,13 +247,6 @@ to write the specification by hand. For example: - gem = fetcher.download_to_cache dependency - end - -- if local? and not gem then -- source = Gem::Source::Local.new -- spec = source.find_gem name, req -- -- gem = source.download spec -- end -- - inst = Gem::Installer.new gem, options - inst.install - -diff --git a/test/rubygems/test_gem_commands_install_command.rb b/test/rubygems/test_gem_commands_install_command.rb -index 76ea6b4..a5917c0 100644 ---- a/test/rubygems/test_gem_commands_install_command.rb -+++ b/test/rubygems/test_gem_commands_install_command.rb -@@ -560,6 +560,20 @@ ERROR: Possible alternatives: non_existent_with_hint - assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name } - end - -+ def test_install_gem_ignore_dependencies_specific_file -+ spec = quick_spec 'a', 2 -+ -+ util_build_gem spec -+ -+ FileUtils.mv spec.cache_file, @tempdir -+ -+ @cmd.options[:ignore_dependencies] = true -+ -+ @cmd.install_gem File.join(@tempdir, spec.file_name), nil -+ -+ assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name } -+ end -+ - def test_parses_requirement_from_gemname - spec_fetcher do |fetcher| - fetcher.gem 'a', 2 --- -1.8.5.2 - |