From c25054b4a0c034b9c410799bf29486820d9778d7 Mon Sep 17 00:00:00 2001
From: lassulus <lassulus@lassul.us>
Date: Tue, 2 Jan 2018 12:59:01 +0100
Subject: [PATCH] writers: add deps & flake8 to writePython{2,3}

---
 krebs/5pkgs/writers.nix | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/krebs/5pkgs/writers.nix b/krebs/5pkgs/writers.nix
index 6e67ed699..0cc4efb51 100644
--- a/krebs/5pkgs/writers.nix
+++ b/krebs/5pkgs/writers.nix
@@ -283,27 +283,27 @@ with import <stockholm/lib>;
         ${pkgs.cabal2nix}/bin/cabal2nix ${path} > $out
       '');
 
-    writePython2 = name: text:
-      assert (with types; either absolute-pathname filename).check name;
-      pkgs.writeOut (baseNameOf name) {
-        ${optionalString (types.absolute-pathname.check name) name} = {
-          check = pkgs.writeDash "python2check.sh" ''
-            exec ${pkgs.python2}/bin/python -m py_compile "$1"
-          '';
-          inherit text;
-        };
-      };
+    writePython2 = deps:
+    let
+      py = pkgs.python2.withPackages(ps: attrVals deps ps);
+    in
+    pkgs.makeScriptWriter {
+      interpreter = "${py}/bin/python";
+      check = pkgs.writeDash "python2check.sh" ''
+        exec ${pkgs.python2Packages.flake8}/bin/flake8 --show-source "$1"
+      '';
+    };
 
-    writePython3 = name: text:
-      assert (with types; either absolute-pathname filename).check name;
-      pkgs.writeOut (baseNameOf name) {
-        ${optionalString (types.absolute-pathname.check name) name} = {
-          check = pkgs.writeDash "python3check.sh" ''
-            exec ${pkgs.python3}/bin/python -m py_compile "$textPath"
-          '';
-          inherit text;
-        };
-      };
+    writePython3 = deps:
+    let
+      py = pkgs.python3.withPackages(ps: attrVals deps ps);
+    in
+    pkgs.makeScriptWriter {
+      interpreter = "${py}/bin/python";
+      check = pkgs.writeDash "python3check.sh" ''
+        exec ${pkgs.python3Packages.flake8}/bin/flake8 --show-source "$1"
+      '';
+    };
 
     writeSed = pkgs.makeScriptWriter {
       interpreter = "${pkgs.gnused}/bin/sed -f";