62 lines
1.6 KiB
Nix
62 lines
1.6 KiB
Nix
{ lib, fetchFromGitHub, python3 }:
|
|
|
|
let
|
|
python = python3.override {
|
|
packageOverrides = self: super: {
|
|
pyparsing = super.pyparsing.overridePythonAttrs (oldAttrs: rec {
|
|
version = "2.4.7";
|
|
src = fetchFromGitHub {
|
|
owner = "pyparsing";
|
|
repo = "pyparsing";
|
|
rev = "pyparsing_${version}";
|
|
sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h";
|
|
};
|
|
nativeBuildInputs = [
|
|
super.setuptools
|
|
];
|
|
});
|
|
};
|
|
};
|
|
in
|
|
python.pkgs.buildPythonApplication rec {
|
|
pname = "gixy";
|
|
version = "0.1.20";
|
|
|
|
# package is only compatible with python 2.7 and 3.5+
|
|
disabled = with python.pkgs; !(pythonAtLeast "3.5" || isPy27);
|
|
|
|
# fetching from GitHub because the PyPi source is missing the tests
|
|
src = fetchFromGitHub {
|
|
owner = "yandex";
|
|
repo = "gixy";
|
|
rev = "v${version}";
|
|
sha256 = "14arz3fjidb8z37m08xcpih1391varj8s0v3gri79z3qb4zq5k6b";
|
|
};
|
|
|
|
postPatch = ''
|
|
sed -ie '/argparse/d' setup.py
|
|
'';
|
|
|
|
propagatedBuildInputs = with python.pkgs; [
|
|
cached-property
|
|
configargparse
|
|
pyparsing
|
|
jinja2
|
|
nose
|
|
setuptools
|
|
six
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Nginx configuration static analyzer";
|
|
longDescription = ''
|
|
Gixy is a tool to analyze Nginx configuration.
|
|
The main goal of Gixy is to prevent security misconfiguration and automate flaw detection.
|
|
'';
|
|
homepage = "https://github.com/yandex/gixy";
|
|
license = licenses.mpl20;
|
|
maintainers = [ maintainers.willibutz ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|