summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-12-14 21:58:10 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-12-15 01:50:38 +0100
commit7adbfb1220e158cd62540b2137851f368dc15e77 (patch)
tree3704b41677ce336bff8d21db50e07041654f182e
parenta4721054c19eb1c7491bc2061eca1541315394ee (diff)
downloadnixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar.gz
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar.bz2
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar.lz
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar.xz
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.tar.zst
nixpkgs-7adbfb1220e158cd62540b2137851f368dc15e77.zip
fail2ban: switch to Python 3
We are dropping Python support from gamin so nothing is holding us any more.
Instead of gamin, we will use systemd on Linux and polling on Darwin;
gamin is the worst backend any way, according to upstream:

https://github.com/fail2ban/fail2ban/issues/1330#issuecomment-314429043
-rw-r--r--pkgs/tools/security/fail2ban/default.nix23
1 files changed, 17 insertions, 6 deletions
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;