about summary refs log tree commit diff
path: root/pkgs/development/python-modules/generic
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-11-18 11:44:37 +0100
committerDomen Kožar <domen@dev.si>2015-11-21 21:44:12 +0100
commitf3092d6446986b9e72f356648d077dbdc98f6bc8 (patch)
treed251274e14401c7c3f5005352b1a6e422ae099b9 /pkgs/development/python-modules/generic
parent960274fc7cae2a63ac876b82fbbe9193ace9ed65 (diff)
buildPythonPackage: use a separate file to fire off setup.py
Diffstat (limited to 'pkgs/development/python-modules/generic')
-rw-r--r--pkgs/development/python-modules/generic/default.nix17
-rw-r--r--pkgs/development/python-modules/generic/run_setup.py6
2 files changed, 15 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 75115526a41e4..0a2fd429f0022 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -50,7 +50,7 @@ then throw "${name} not supported for interpreter ${python.executable}"
 else
 
 let
-  setuppy = "import setuptools, tokenize;__file__='setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))";
+  setuppy = ./run_setup.py;
 in
 python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // {
   inherit doCheck;
@@ -75,18 +75,19 @@ python.stdenv.mkDerivation (builtins.removeAttrs attrs ["disabled"] // {
     runHook postConfigure
   '';
 
-  checkPhase = attrs.checkPhase or ''
-    runHook preCheck
-    ${python.interpreter} -c "${setuppy}" test
-    runHook postCheck
-  '';
-
   buildPhase = attrs.buildPhase or ''
     runHook preBuild
-    ${python.interpreter} -c "${setuppy}" bdist_wheel
+    cp ${setuppy} nix_run_setup.py
+    ${python.interpreter} nix_run_setup.py build_ext ${lib.concatStringsSep " " setupPyBuildFlags} bdist_wheel
     runHook postBuild
   '';
 
+  checkPhase = attrs.checkPhase or ''
+    runHook preCheck
+    ${python.interpreter} nix_run_setup.py test
+    runHook postCheck
+  '';
+
   installPhase = attrs.installPhase or ''
     runHook preInstall
 
diff --git a/pkgs/development/python-modules/generic/run_setup.py b/pkgs/development/python-modules/generic/run_setup.py
new file mode 100644
index 0000000000000..d980ac7d23d45
--- /dev/null
+++ b/pkgs/development/python-modules/generic/run_setup.py
@@ -0,0 +1,6 @@
+import setuptools
+import tokenize
+
+__file__='setup.py';
+
+exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))