##// 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:

r737:b3f2563a default
r2070:7939c6bf default
Show More
dependencies.rst
60 lines | 1.3 KiB | text/x-rst | RstLexer
docs: Add dependency management
r737
=======================
Dependency management
=======================
Overview
========
We use the Nix package manager to handle our dependencies. In general we use the
packages out of the package collection `nixpkgs`. For frequently changing
dependencies for Python and JavaScript we use the tools which are described in
this section to generate the needed Nix derivations.
Python dependencies
===================
We use the tool `pip2nix` to generate the Nix derivations for our Python
dependencies.
Generating the dependencies should be done with the following command:
.. code:: shell
pip2nix generate --license
.. note::
License extraction support is still experimental, use the version from the
following pull request: https://github.com/ktosiek/pip2nix/pull/30
Node dependencies
=================
After adding new dependencies via ``npm install --save``, use `node2nix` to
update the corresponding Nix derivations:
.. code:: shell
cd pkgs
node2nix --input ../package.json \
-o node-packages.nix \
-e node-env.nix \
-c node-default.nix \
-d --flatten
Bower dependencies
==================
Frontend dependencies are managed based on `bower`, with `bower2nix` a tool
exists which can generate the needed Nix derivations:
.. code:: shell
bower2nix bower.json pkgs/bower-packages.nix