• Maximilian Bosch's avatar
    Add helper for flamegraph-integration with Nix · ee573158
    Maximilian Bosch authored
    The new script (scripts/nix-flame) is basically a wrapper for creating a
    flamegraph of a Nix evaluation (the steps are shown in
    `<nix/contrib/stack-collapse.py>`, but are pretty verbose).
    The script creates a flame-graph (and displays any evaluation errors in
    case of failures) in the SVG-format and optionally opens it using
    "$BROWSER" (this was the cheapest approach to open a SVG, if there's a
    better approach - feel free to open an issue or file a bug!).
    This helper relies on `contrib/stack-collapse.py` which is incorporated from
    NixOS/nix (unfortunately this is a contrib-script and not part of any
    store path derived from Nix, so we need to bundle it manually). To avoid
    license incompliance, a `3rdparty/*` tree was created which contains the
    script from Nix including its LICENSE and the notices about our
    license situation (MIT for the root, LGPL for the Nix-code) were updated to avoid
    any incompatibility.
    As this doesn't publish a modified version of NixOS/nix, but basically links
    to it (or more specifically a subset of it), referencing the COPYING
    file should be fine.