From 47673e43c9d6d1141380c1be7974c064282a4e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Sun, 24 Aug 2014 16:01:21 +0200 Subject: [PATCH] buildPythonPackage: introduce "disabled" argument Useful to disable the package for specific python versions. Typically usage: disable = isPy3k; --- pkgs/development/python-modules/generic/default.nix | 7 ++++++- pkgs/top-level/python-packages.nix | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 75fb974e735..0f5d8499454 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -34,7 +34,10 @@ # The difference is that `pythonPath' is not propagated to the user # environment. This is preferrable for programs because it doesn't # pollute the user environment. -, pythonPath ? [] +, pythonPath ? [] + +# used to disable derivation, useful for specific python versions +, disabled ? false , meta ? {} @@ -46,6 +49,8 @@ , ... } @ attrs: +assert (!disabled); + # Keep extra attributes from `attrs`, e.g., `patchPhase', etc. python.stdenv.mkDerivation (attrs // { inherit doCheck; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9d3ef800f55..61aa8162f93 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7,6 +7,7 @@ let isPy33 = python.majorVersion == "3.3"; isPy34 = python.majorVersion == "3.4"; isPyPy = python.executable == "pypy"; + isPy3k = strings.substring 0 1 python.majorVersion == "3"; # Unique python version identifier pythonName = @@ -537,6 +538,8 @@ rec { avro = buildPythonPackage (rec { name = "avro-1.7.6"; + disabled = isPy3k; + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro/${name}.tar.gz"; md5 = "7f4893205e5ad69ac86f6b44efb7df72"; @@ -550,7 +553,9 @@ rec { avro3k = pkgs.lowPrio (buildPythonPackage (rec { name = "avro3k-1.7.7-SNAPSHOT"; - + + disabled = (!isPy3k); + src = fetchurl { url = "https://pypi.python.org/packages/source/a/avro3k/${name}.tar.gz"; sha256 = "15ahl0irwwj558s964abdxg4vp6iwlabri7klsm2am6q5r0ngsky";