summary refs log tree commit diff
path: root/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2015-05-05 11:49:03 +0200
committerVladimír Čunát <vcunat@gmail.com>2015-05-05 11:49:03 +0200
commit375bc8def7c17506bc10f3b6193635f05d5ccc40 (patch)
tree6af7662b245e7998bd18ae20d9e74922c489fb6d /pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
parent2f75c6845981b38a698cf1a9f620145877c80956 (diff)
parent7f9ccc628403ed88844a4436da3b2944be5560a4 (diff)
downloadnixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar.gz
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar.bz2
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar.lz
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar.xz
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.tar.zst
nixpkgs-375bc8def7c17506bc10f3b6193635f05d5ccc40.zip
Merge staging into closure-size
Diffstat (limited to 'pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb')
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb24
1 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb b/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
index f3849446fe6..f68a20212ce 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
+++ b/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
@@ -74,16 +74,24 @@ Bundler::Fetcher.class_eval do
 
     spec_list = gem_names.map do |name|
       spec = Bundler.nix_gemspecs.detect {|spec| spec.name == name }
-      dependencies = spec.dependencies.
-        select {|dep| dep.type != :development}.
-        map do |dep|
-          deps_list << dep.name
-          dep
-        end
-
-      [spec.name, spec.version, spec.platform, dependencies]
+      if spec.nil?
+        msg = "WARNING: Could not find gemspec for '#{name}'"
+        Bundler.ui.warn msg
+        nil
+      else
+        dependencies = spec.dependencies.
+          select {|dep| dep.type != :development}.
+          map do |dep|
+            deps_list << dep.name
+            dep
+          end
+
+        [spec.name, spec.version, spec.platform, dependencies]
+      end
     end
 
+    spec_list.compact!
+
     [spec_list, deps_list.uniq]
   end
 end