##// END OF EJS Templates
diffs: use whole chunk diff to calculate if it's oversized or not....
diffs: use whole chunk diff to calculate if it's oversized or not. - This fixes an issue if a file is added that has very large number of small lines. In this case the time to detect if the diff should be limited was very very long and CPU intensive.

File last commit:

r726:5b2d844f default
r2070:7939c6bf default
Show More
backport-16.03-build-bower-components.nix
67 lines | 1.7 KiB | text/x-nix | NixLexer
/ pkgs / backport-16.03-build-bower-components.nix
# Backported buildBowerComponents so that we can also use it with the version
# 16.03 which is the current stable at the time of this writing.
#
# This file can be removed once building with 16.03 is not needed anymore.
{ pkgs }:
{ buildInputs ? [], generated, ... } @ attrs:
let
bower2nix-src = pkgs.fetchzip {
url = "https://github.com/rvl/bower2nix/archive/v3.0.1.tar.gz";
sha256 = "1zbvz96k2j6g0r4lvm5cgh41a73k9dgayk7x63cmg538dzznxvyb";
};
bower2nix = import "${bower2nix-src}/default.nix" { inherit pkgs; };
fetchbower = import ./backport-16.03-fetchbower.nix {
inherit (pkgs) stdenv lib;
inherit bower2nix;
};
# Fetches the bower packages. `generated` should be the result of a
# `bower2nix` command.
bowerPackages = import generated {
inherit (pkgs) buildEnv;
inherit fetchbower;
};
in pkgs.stdenv.mkDerivation (
attrs
//
{
name = "bower_components-" + attrs.name;
inherit bowerPackages;
builder = builtins.toFile "builder.sh" ''
source $stdenv/setup
# The project's bower.json is required
cp $src/bower.json .
# Dereference symlinks -- bower doesn't like them
cp --recursive --reflink=auto \
--dereference --no-preserve=mode \
$bowerPackages bc
# Bower install in offline mode -- links together the fetched
# bower packages.
HOME=$PWD bower \
--config.storage.packages=bc/packages \
--config.storage.registry=bc/registry \
--offline install
# Sets up a single bower_components directory within
# the output derivation.
mkdir -p $out
mv bower_components $out
'';
buildInputs = buildInputs ++ [
pkgs.git
pkgs.nodePackages.bower
];
}
)