about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDaniel Peebles <copumpkin@users.noreply.github.com>2015-04-17 23:13:08 -0400
committerDaniel Peebles <copumpkin@users.noreply.github.com>2015-04-17 23:13:08 -0400
commit80f4b816151f4e3e64e14b7dd994d7f44165e0ef (patch)
tree9091f45e1917490426b098529114d8dea9cd24f4 /pkgs
parentc6234ad07b465bc1ba586b09982a9e4039a24a3a (diff)
parent7fc3b002e66aa5fdedadd0d0748cf333b7dc5d9e (diff)
downloadnixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar.gz
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar.bz2
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar.lz
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar.xz
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.tar.zst
nixlib-80f4b816151f4e3e64e14b7dd994d7f44165e0ef.zip
Merge pull request #7404 from cstrahan/bundlerenv-fixes
Bundlerenv fixes
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix2
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb24
2 files changed, 17 insertions, 9 deletions
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
index cadda2887644..b7ddfdea80b3 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
+++ b/pkgs/development/interpreters/ruby/bundler-env/default-gem-config.nix
@@ -31,7 +31,7 @@ in
 
 {
   charlock_holmes = attrs: {
-    buildInputs = [ which icu ];
+    buildInputs = [ which icu zlib ];
   };
 
   ffi = attrs: {
diff --git a/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb b/pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
index f3849446fe6a..f68a20212cee 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