diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/security/fail2ban')
-rw-r--r-- | nixpkgs/pkgs/tools/security/fail2ban/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/security/fail2ban/default.nix b/nixpkgs/pkgs/tools/security/fail2ban/default.nix new file mode 100644 index 000000000000..6b1d8e6c4f88 --- /dev/null +++ b/nixpkgs/pkgs/tools/security/fail2ban/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, python, pythonPackages, gamin }: + +let version = "0.10.4"; in + +pythonPackages.buildPythonApplication { + name = "fail2ban-${version}"; + + src = fetchFromGitHub { + owner = "fail2ban"; + repo = "fail2ban"; + rev = version; + sha256 = "07ik6rm856q0ic2r7vbg6j3hsdcdgkv44hh5ck0c2y21fqwrck3l"; + }; + + propagatedBuildInputs = [ gamin ] + ++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd); + + preConfigure = '' + for i in config/action.d/sendmail*.conf; do + substituteInPlace $i \ + --replace /usr/sbin/sendmail sendmail \ + --replace /usr/bin/whois whois + done + ''; + + doCheck = false; + + preInstall = '' + substituteInPlace setup.py --replace /usr/share/doc/ share/doc/ + + # see https://github.com/NixOS/nixpkgs/issues/4968 + ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out + ''; + + postInstall = let + sitePackages = "$out/lib/${python.libPrefix}/site-packages"; + in '' + # see https://github.com/NixOS/nixpkgs/issues/4968 + rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var; + ''; + + meta = with stdenv.lib; { + homepage = http://www.fail2ban.org/; + description = "A program that scans log files for repeated failing login attempts and bans IP addresses"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ eelco lovek323 fpletz ]; + platforms = platforms.linux ++ platforms.darwin; + }; +} |