diff --git a/pkgs/development/python-modules/generic/builder.sh b/pkgs/development/python-modules/generic/builder.sh new file mode 100644 index 000000000000..52b66aaf6a67 --- /dev/null +++ b/pkgs/development/python-modules/generic/builder.sh @@ -0,0 +1,10 @@ +source $stdenv/setup + +# do not allow distutils to make downloads, whatever install command is used +export PYTHONPATH="${setuptools}/lib/${python.libPrefix}:$PYTHONPATH" +export PYTHONPATH="${offlineDistutils}/lib/${python.libPrefix}:$PYTHONPATH" + +# enable pth files for dependencies +export PYTHONPATH="${site}/lib/${python.libPrefix}/site-packages:$PYTHONPATH" + +genericBuild diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix index 4e0b61002316..394bfcbc7cd0 100644 --- a/pkgs/development/python-modules/generic/default.nix +++ b/pkgs/development/python-modules/generic/default.nix @@ -3,7 +3,7 @@ (http://pypi.python.org/pypi/setuptools/), which represents a large number of Python packages nowadays. */ -{ python, setuptools, wrapPython, lib }: +{ python, setuptools, wrapPython, lib, offlineDistutils }: { name, namePrefix ? "python-" @@ -45,6 +45,8 @@ python.stdenv.mkDerivation (attrs // { buildInputs = [ python wrapPython setuptools ] ++ buildInputs ++ pythonPath; + builder = ./builder.sh + pythonPath = [ setuptools] ++ pythonPath; # XXX: Should we run `easy_install --always-unzip'? It doesn't seem diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 318ce39022e2..cc8aea98cf55 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9,7 +9,7 @@ let pythonPackages = python.modules // rec { buildPythonPackage = import ../development/python-modules/generic { inherit (pkgs) lib; - inherit python wrapPython setuptools; + inherit python wrapPython setuptools offlineDistutils; };