[rubygems] Add extension directory to contains_requirable_file (bug 1041391)

Mamoru TASAKA mtasaka at fedoraproject.org
Fri Dec 13 05:31:11 UTC 2013


commit 17e0f5a72cf2586f7a2a04cc1457572c8175f999
Author: Mamoru TASAKA <mtasaka at fedoraproject.org>
Date:   Fri Dec 13 14:31:12 2013 +0900

    Add extension directory to contains_requirable_file (bug 1041391)

 rubygems-2.1.x-binary-extensions.patch |   57 +++++++++++++++++++++----------
 rubygems.spec                          |    5 ++-
 2 files changed, 42 insertions(+), 20 deletions(-)
---
diff --git a/rubygems-2.1.x-binary-extensions.patch b/rubygems-2.1.x-binary-extensions.patch
index 8dd1f10..8cdb9d0 100644
--- a/rubygems-2.1.x-binary-extensions.patch
+++ b/rubygems-2.1.x-binary-extensions.patch
@@ -1,6 +1,25 @@
---- rubygems-2.1.9/lib/rubygems/basic_specification.rb.binext	2013-10-15 07:11:07.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/basic_specification.rb	2013-10-21 17:36:58.757317693 +0900
-@@ -52,6 +52,14 @@
+--- rubygems-2.1.11/lib/rubygems/basic_specification.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/basic_specification.rb	2013-12-13 14:23:26.680998682 +0900
+@@ -39,11 +39,16 @@
+ 
+   def contains_requirable_file? file
+     root     = full_gem_path
++    ext      = full_gem_ext_path
+     suffixes = Gem.suffixes
+ 
+     require_paths.any? do |lib|
+-      base = "#{root}/#{lib}/#{file}"
+-      suffixes.any? { |suf| File.file? "#{base}#{suf}" }
++      base = ["#{root}/#{lib}/#{file}"]
++      base << "#{ext}/#{lib}/#{file}" unless !ext || ext.empty?
++
++      base.any? do |path|
++        suffixes.any? { |suf| File.file? "#{path}#{suf}" }
++      end
+     end
+   end
+ 
+@@ -52,6 +57,14 @@
        File.dirname(loaded_from) == self.class.default_specifications_dir
    end
  
@@ -15,7 +34,7 @@
    def find_full_gem_path # :nodoc:
      # TODO: also, shouldn't it default to full_name if it hasn't been written?
      path = File.expand_path File.join(gems_dir, full_name)
-@@ -61,6 +69,15 @@
+@@ -61,6 +74,15 @@
  
    private :find_full_gem_path
  
@@ -31,7 +50,7 @@
    ##
    # The full path to the gem (install path + full name).
  
-@@ -71,6 +88,13 @@
+@@ -71,6 +93,13 @@
    end
  
    ##
@@ -45,7 +64,7 @@
    # Returns the full name (name-version) of this Gem.  Platform information
    # is included (name-version-platform) if it is specified and not the
    # default Ruby platform.
-@@ -100,7 +124,9 @@
+@@ -100,7 +129,9 @@
      @loaded_from   = path && path.to_s
  
      @full_gem_path = nil
@@ -55,8 +74,8 @@
      @base_dir      = nil
    end
  
---- rubygems-2.1.9/lib/rubygems/defaults.rb.binext	2013-10-15 07:06:15.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/defaults.rb	2013-10-21 17:36:58.757317693 +0900
+--- rubygems-2.1.11/lib/rubygems/defaults.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/defaults.rb	2013-12-13 14:22:17.079954405 +0900
 @@ -111,6 +111,17 @@
    end
  
@@ -75,8 +94,8 @@
    # A wrapper around RUBY_ENGINE const that may not be defined
  
    def self.ruby_engine
---- rubygems-2.1.9/lib/rubygems/ext/builder.rb.binext	2013-10-15 07:11:07.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/ext/builder.rb	2013-10-21 17:36:58.757317693 +0900
+--- rubygems-2.1.11/lib/rubygems/ext/builder.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/ext/builder.rb	2013-12-13 14:22:17.079954405 +0900
 @@ -170,7 +170,7 @@
        say "This could take a while..."
      end
@@ -96,9 +115,9 @@
 +
  end
  
---- rubygems-2.1.9/lib/rubygems/installer.rb.binext	2013-10-15 07:11:07.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/installer.rb	2013-10-21 17:36:58.757317693 +0900
-@@ -662,6 +662,7 @@
+--- rubygems-2.1.11/lib/rubygems/installer.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/installer.rb	2013-12-13 14:22:17.080954520 +0900
+@@ -663,6 +663,7 @@
  
    def build_extensions
      builder = Gem::Ext::Builder.new spec, @build_args
@@ -106,9 +125,9 @@
  
      builder.build_extensions
    end
---- rubygems-2.1.9/lib/rubygems/specification.rb.binext	2013-10-15 07:11:10.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/specification.rb	2013-10-21 17:39:19.171530531 +0900
-@@ -1331,6 +1331,8 @@
+--- rubygems-2.1.11/lib/rubygems/specification.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/specification.rb	2013-12-13 14:22:17.080954520 +0900
+@@ -1328,6 +1328,8 @@
        File.join full_gem_path, path
      end
  
@@ -117,7 +136,7 @@
      # gem directories must come after -I and ENV['RUBYLIB']
      insert_index = Gem.load_path_insert_index
  
-@@ -1620,6 +1622,13 @@
+@@ -1617,6 +1619,13 @@
      @executables = Array(value)
    end
  
@@ -131,8 +150,8 @@
    ##
    # Sets extensions to +extensions+, ensuring it is an array. Don't
    # use this, push onto the array instead.
---- rubygems-2.1.9/lib/rubygems/uninstaller.rb.binext	2013-10-15 07:11:07.000000000 +0900
-+++ rubygems-2.1.9/lib/rubygems/uninstaller.rb	2013-10-21 17:36:58.758317808 +0900
+--- rubygems-2.1.11/lib/rubygems/uninstaller.rb.binext	2013-11-13 08:24:55.000000000 +0900
++++ rubygems-2.1.11/lib/rubygems/uninstaller.rb	2013-12-13 14:22:17.081954636 +0900
 @@ -247,6 +247,7 @@
        File.writable?(spec.base_dir)
  
diff --git a/rubygems.spec b/rubygems.spec
index c4f4a01..1deeeec 100644
--- a/rubygems.spec
+++ b/rubygems.spec
@@ -25,7 +25,7 @@
 Summary:	The Ruby standard for packaging ruby libraries
 Name:		rubygems
 Version:	2.1.11
-Release:	113%{?dist}
+Release:	114%{?dist}
 Group:		Development/Libraries
 License:	Ruby or MIT
 
@@ -268,6 +268,9 @@ ruby -Ilib %{SOURCE11}
 
 
 %changelog
+* Fri Dec 13 2013 Mamoru TASAKA <mtasaka at fedoraproject.org> - 2.1.11-114
+- Add extension directory to contains_requirable_file (bug 1041391)
+
 * Thu Nov 14 2013 Mamoru TASAKA <mtasaka at fedoraproject.org> - 2.1.11-113
 - Update to 2.1.11
 


More information about the scm-commits mailing list