diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix index 324ac46b084..1280b4bd3f1 100644 --- a/pkgs/tools/security/fail2ban/default.nix +++ b/pkgs/tools/security/fail2ban/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchFromGitHub, python, pythonPackages, gamin }: +{ stdenv, fetchFromGitHub, fetchpatch, python3, gamin }: let version = "0.10.4"; in -pythonPackages.buildPythonApplication { +python3.pkgs.buildPythonApplication { pname = "fail2ban"; inherit version; @@ -13,8 +13,19 @@ pythonPackages.buildPythonApplication { sha256 = "07ik6rm856q0ic2r7vbg6j3hsdcdgkv44hh5ck0c2y21fqwrck3l"; }; - propagatedBuildInputs = [ gamin ] - ++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd); + patches = [ + # 0.10.3 supports Python 3 but somehow this got into the way + # https://github.com/fail2ban/fail2ban/issues/2255 + (fetchpatch { + url = "https://github.com/fail2ban/fail2ban/commit/657b147c0d7830f3600f3dc7feaa4815a7e19fde.patch"; + sha256 = "1hrk2x7ssrfhab1wrjk5xw1sxhiv2735glfcp6qcj8x4dss3q7f7"; + }) + ]; + + pythonPath = with python3.pkgs; + stdenv.lib.optionals stdenv.isLinux [ + systemd + ]; preConfigure = '' for i in config/action.d/sendmail*.conf; do @@ -33,11 +44,11 @@ pythonPackages.buildPythonApplication { 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 + ${python3.interpreter} setup.py install_data --install-dir=$out --root=$out ''; postInstall = let - sitePackages = "$out/lib/${python.libPrefix}/site-packages"; + sitePackages = "$out/${python3.sitePackages}"; in '' # see https://github.com/NixOS/nixpkgs/issues/4968 rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var;