correctly implement patching

This commit is contained in:
Joel Taylor 2014-08-08 19:09:28 -07:00 committed by Charles Strahan
parent 1edaff1a2a
commit 2dedbe6bbe
2 changed files with 12 additions and 7 deletions

View file

@ -22,13 +22,14 @@ self = rec {
# import an attrset full of gems, then override badly behaved ones
importGems = file: args:
let
builtGems = callPackage file ({ inherit buildRubyGem; rubyLibs = self; } // args);
in lib.mapAttrs (gem: deriv:
if patches ? "${gem}"
then lib.overrideDerivation deriv (oldAttrs:
if oldAttrs ? dontPatch && oldAttrs.dontPatch == 1 then {}
else patches."${gem}")
else deriv) builtGems;
preBuilt = callPackage file ({ inherit buildRubyGem; self = builtGems; } // args);
builtGems = self // (lib.mapAttrs (gem: deriv:
if patches ? "${gem}"
then lib.overrideDerivation deriv (oldAttrs:
if oldAttrs ? dontPatch && oldAttrs.dontPatch == 1 then {}
else patches."${gem}")
else deriv) preBuilt);
in builtGems;
##################################################################
# stuff EVERYONE needs

View file

@ -20,6 +20,10 @@ in
extraWrapperFlags = "--prefix RUBYLIB : .";
};
barber = { gemFlags = "--ignore-dependencies"; };
ember_data_source = { gemFlags = "--ignore-dependencies"; };
ember_rails = { gemFlags = "--ignore-dependencies"; };
fakes3 = {
postInstall = ''
cd $out/${ruby.gemPath}/gems/*