summary refs log tree commit diff
path: root/pkgs/top-level/release-python.nix
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-11-19 16:39:34 +0100
committerDomen Kožar <domen@dev.si>2015-11-21 21:44:12 +0100
commitc6c58dc92ddd02b54bc0b999eae09a85bbec6d84 (patch)
tree9216816d1be09ef802deb75c3e5b6f0be831a979 /pkgs/top-level/release-python.nix
parent686dae7c5081b7160c5a36f442ffba63663bc4e1 (diff)
downloadnixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar.gz
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar.bz2
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar.lz
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar.xz
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.tar.zst
nixpkgs-c6c58dc92ddd02b54bc0b999eae09a85bbec6d84.zip
release-python.nix: automatically detect buildPythonPackage
Diffstat (limited to 'pkgs/top-level/release-python.nix')
-rw-r--r--pkgs/top-level/release-python.nix20
1 files changed, 13 insertions, 7 deletions
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index 1c654272bb8..79bbd9d21a0 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -9,12 +9,18 @@
   supportedSystems ? [ "x86_64-linux" ]
 }:
 
+with import ../../lib;
 with import ./release-lib.nix {inherit supportedSystems; };
 
-(mapTestOn {
-  pypyPackages = packagePlatforms pkgs.pypyPackages;
-  pythonPackages = packagePlatforms pkgs.pythonPackages;
-  python33Packages = packagePlatforms pkgs.python33Packages;
-  python34Packages = packagePlatforms pkgs.python34Packages;
-  python35Packages = packagePlatforms pkgs.python35Packages;
-})
+let
+  packagePython = mapAttrs (name: value:
+    let res = builtins.tryEval (
+      if isDerivation value then
+        value.meta.isBuildPythonPackage or []
+      else if value.recurseForDerivations or false || value.recurseForRelease or false then
+        packagePython value
+      else
+        []);
+    in if res.success then res.value else []
+    );
+in (mapTestOn (packagePython pkgs))