unrhodecode/pkgs
2020-05-12 11:49:52 +02:00
..
nix-common nix: further nix changes 2020-05-19 22:14:26 +02:00
patches supervisor: add patch for older kernel support. 2018-10-24 10:57:51 +02:00
license-generate.nix license: update license metadata and generation code 2018-09-20 21:48:08 +02:00
node-default.nix packaging: switched to nix 20.03 packages and latest pip2nix code 2020-05-11 14:20:30 +02:00
node-env.nix packaging: updated JS dependencies with new node2nix and nodejs12 2020-05-12 11:49:52 +02:00
node-packages.nix packaging: updated JS dependencies with new node2nix and nodejs12 2020-05-12 11:49:52 +02:00
overlays.nix packages: use common overlay structure that vcsserver uses. 2018-10-24 11:39:34 +02:00
python-packages-overrides.nix packaging: switched to nix 20.03 packages and latest pip2nix code 2020-05-11 14:20:30 +02:00
python-packages.nix packaging: switched to nix 20.03 packages and latest pip2nix code 2020-05-11 14:20:30 +02:00
README.rst packaging: dropped bower, it's now replaced by npm and webcomponents from polymer. 2018-10-29 15:30:10 +01:00
shell-generate.nix nix: further nix changes 2020-05-19 22:14:26 +02:00

==============================
 Generate the Nix expressions
==============================

Details can be found in the repository of `RhodeCode Enterprise CE`_ inside of
the file `docs/contributing/dependencies.rst`.

Start the environment as follows:

.. code:: shell

   nix-shell pkgs/shell-generate.nix



Python dependencies
===================

.. code:: shell

   pip2nix generate --licenses
   # or
   nix-shell pkgs/shell-generate.nix --command "pip2nix generate --licenses"


NodeJS dependencies
===================

Generate node-packages.nix file with all dependencies from NPM and package.json file
This should be run before entering nix-shell.

The sed at the end fixes a bug with http rewrite of re-generated packages

.. code:: shell

   rm -rf node_modules &&
   nix-shell pkgs/shell-generate.nix --command "
       node2nix --input package.json \
                -o pkgs/node-packages.nix \
                -e pkgs/node-env.nix \
                -c pkgs/node-default.nix \
                -d --flatten --nodejs-8 " &&
   sed -i -e 's/http:\/\//https:\/\//g' pkgs/node-packages.nix


Generate license data
=====================

.. code:: shell

   nix-build pkgs/license-generate.nix -o result-license && cat result-license/licenses.json | python -m json.tool > rhodecode/config/licenses.json


.. Links

.. _RhodeCode Enterprise CE: https://code.rhodecode.com/rhodecode-enterprise-ce