summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-01-06 22:35:39 +0000
committerDomen Kožar <domen@dev.si>2014-02-20 01:19:15 +0100
commitfae6079a01b604cdaaab2ecb9bf48368be31255e (patch)
tree3a7050a583b9cad68653f4c4066afbdbae5767f9 /pkgs
parent6adfd13dd4b28546e4ea0dfa4e28727b94c891e9 (diff)
downloadnixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar.gz
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar.bz2
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar.lz
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar.xz
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.tar.zst
nixpkgs-fae6079a01b604cdaaab2ecb9bf48368be31255e.zip
adopt rest of the packages that were failing with the buildPythonPackage changes
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/lastwatch/default.nix2
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix4
-rw-r--r--pkgs/applications/video/miro/default.nix12
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix12
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix7
-rw-r--r--pkgs/tools/X11/winswitch/default.nix10
-rw-r--r--pkgs/tools/X11/xpra/default.nix14
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix71
-rw-r--r--pkgs/tools/networking/getmail/default.nix2
-rw-r--r--pkgs/tools/security/fail2ban/default.nix4
-rw-r--r--pkgs/top-level/python-packages.nix142
11 files changed, 129 insertions, 151 deletions
diff --git a/pkgs/applications/audio/lastwatch/default.nix b/pkgs/applications/audio/lastwatch/default.nix
index 324a0b0bebc..c09d397eefa 100644
--- a/pkgs/applications/audio/lastwatch/default.nix
+++ b/pkgs/applications/audio/lastwatch/default.nix
@@ -19,8 +19,6 @@ pythonPackages.buildPythonPackage rec {
 
   propagatedBuildInputs = pythonPath;
 
-  installCommand = "python setup.py install --prefix=$out";
-
   meta = {
     homepage = "https://github.com/aszlig/LastWatch";
     description = "An inotify-based last.fm audio scrobbler";
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index c865314cb17..3ab7688cde3 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
+{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject, intltool
 , pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
 , gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
 
@@ -42,7 +42,7 @@ buildPythonPackage {
   ];
 
   propagatedBuildInputs = [
-    mutagen pygtk pygobject pythonDBus gst_python
+    mutagen pygtk pygobject pythonDBus gst_python intltool
   ];
 
   postInstall = stdenv.lib.optionalString withGstPlugins ''
diff --git a/pkgs/applications/video/miro/default.nix b/pkgs/applications/video/miro/default.nix
index 5ca6c80dc7c..516f12f2051 100644
--- a/pkgs/applications/video/miro/default.nix
+++ b/pkgs/applications/video/miro/default.nix
@@ -40,10 +40,6 @@ buildPythonPackage rec {
            plat/resources.py
   '';
 
-  installCommand = ''
-    python setup.py install --prefix= --root="$out"
-  '';
-
   # Disabled for now, because it requires networking and even if we skip those
   # tests, the whole test run takes around 10-20 minutes.
   doCheck = false;
@@ -51,8 +47,14 @@ buildPythonPackage rec {
     HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest
   '';
 
+  preInstall = ''
+    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+    ${python}/bin/${python.executable} setup.py install_data --root=$out
+    sed -i '/data_files=data_files/d' setup.py
+  '';
+
   postInstall = ''
-    mv "$out/bin/miro.real" "$out/bin/miro"
+    mv $out/bin/miro.real $out/bin/miro
   '';
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index ec741ba247e..5da727a08db 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -9,17 +9,7 @@ buildPythonPackage rec {
     sha256 = "0g0ayql5b9mkjam8hym6zyg6bv77lbh66rv1fyvgqb17kfc1xkpj";
   };
 
-  buildInputs = [ python gmp ];
-
-  buildPhase =
-    ''
-      python ./setup.py build_ext --library-dirs=${gmp}/lib
-    '';
-
-#  installPhase =
-#    ''
-#      python ./setup.py install --prefix=$out
-#    '';
+  buildInputs = [ gmp ];
 
   meta = {
     homepage = "http://www.pycrypto.org/";
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index e291544911c..dfe805ec9e4 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -14,7 +14,12 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ gtk pygobject pycairo ];
 
-  installCommand = "make install";
+  configurePhase = "configurePhase";
+
+  buildPhase = "buildPhase";
+
+  installPhase = "installPhase";
+
   checkPhase = stdenv.lib.optionalString (libglade == null)
     ''
       sed -i -e "s/glade = importModule('gtk.glade', buildDir)//" \
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
index bd160940b57..2db0d172173 100644
--- a/pkgs/tools/X11/winswitch/default.nix
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -29,12 +29,10 @@ let
       }' winswitch/util/distro_packaging_util.py
     '';
 
-    buildPhase = ''
-      python setup.py build
-    '';
-
-    installCommand = ''
-      PREFIX="$out" python ./setup.py install --prefix="$out"
+    preInstall = ''
+      # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+      python setup.py install_data --install-dir=$out --root=$out
+      sed -i '/data_files = data_files/d' setup.py
     '';
 
     doCheck = false;
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 35370ae2128..f96fa577323 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [
-    python cython pkgconfig
+    cython pkgconfig
 
     xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
     xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
@@ -33,9 +33,15 @@ buildPythonPackage rec {
   # they don't have automated testing out of the box? http://xpra.org/trac/ticket/177
   doCheck = false;
 
-  buildPhase = ''
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    python ./setup.py build --enable-Xdummy
+  preBuild = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
+  '';
+  setupPyBuildFlags = ["--enable-Xdummy"];
+
+  preInstall = ''
+    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
+    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
+    sed -i '/ = data_files/d' setup.py
   '';
 
   meta = {
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index 44a421e2ba3..d4c45b7ba96 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,62 +1,41 @@
-x@{builderDefsPackage
-  , python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
-  , libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs
-  , kbproto, libX11, libXext, xextproto, pygobject, libgcrypt
-  , ...}:
-builderDefsPackage
-(a :  
-let 
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
-    ["perlPackages" "firefoxPkgs"];
-
-  buildInputs = (map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames)))
-    ++ [perlPackages.TextCSV firefoxPkgs.xulrunner ];
-  sourceInfo = rec {
-    baseName="gtk-vnc";
-    majorVersion="0.4";
-    minorVersion="2";
-    version="${majorVersion}.${minorVersion}";
-    name="${baseName}-${version}";
-    url="mirror://gnome/sources/${baseName}/${majorVersion}/${name}.tar.gz";
-    hash="1fkhzwpw50rnwp51lsbny16p2ckzx5rkcaiaqvkd90vwnm2cccls";
-  };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
+{ stdenv, fetchurl
+, python, gtk, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
+, libffi, cyrus_sasl, intltool, perl, perlPackages, firefoxPkgs, pulseaudio
+, kbproto, libX11, libXext, xextproto, pygobject, libgcrypt }:
+
+
+stdenv.mkDerivation rec {
+  name = "gtk-vnc-${version}";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gtk-vnc/0.5/${name}.tar.xz";
+    sha256 = "1bww2ihxb3zzvifdrcsy1lifr664pvikq17hmr1hsm8fyk4ad46l";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
+  buildInputs = [
+    python gtk pygtk gnutls cairo libtool pkgconfig glib libffi libgcrypt
+    intltool cyrus_sasl pulseaudio pygobject perl perlPackages.TextCSV
+  ];
 
+  NIX_CFLAGS_COMPILE = "-fstack-protector-all";
   configureFlags = [
     "--with-python"
     "--with-examples"
   ];
 
-  /* doConfigure should be removed if not needed */
-  phaseNames = ["fixMakefiles" "doConfigure" "doMakeInstall"];
+  makeFlags = "CODEGENDIR=${pygobject}/share/pygobject/2.0/codegen/ DEFSDIR=${pygtk}/share/pygtk/2.0/defs/";
 
-  fixMakefiles = a.fullDepEntry ''
-    find . -name 'Makefile*' -exec sed -i '{}' -e 's@=codegendir pygtk-2.0@=codegendir pygobject-2.0@' ';'
-  '' ["minInit" "doUnpack"];
-      
-  meta = {
+  meta = with stdenv.lib; {
     description = "A GTK VNC widget";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      linux;
-    license = a.lib.licenses.lgpl21;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
+
   passthru = {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/gtk-vnc";
     };
   };
-}) x
-
+}
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 80d29835da5..6d9666506b8 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -11,8 +11,6 @@ buildPythonPackage rec {
 
   doCheck = false;
 
-  installCommand = "python setup.py install --prefix=\"\$prefix\"";
-  
   meta = {
     description = "A program for retrieving mail";
     maintainers = [ stdenv.lib.maintainers.raskin stdenv.lib.maintainers.iElectric ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index aa387eff3e7..b28c761ec2c 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -39,10 +39,6 @@ pythonPackages.buildPythonPackage {
 
   doCheck = false;
 
-  installCommand = ''
-    python setup.py install --prefix=$out
-  '';
-
   meta = with stdenv.lib; {
     homepage    = http://www.fail2ban.org/;
     description = "A program that scans log files for repeated failing login attempts and bans IP addresses";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0ccd5d5da26..c65eea99123 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -40,7 +40,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
   setuptools = import ../development/python-modules/setuptools {
     inherit (pkgs) stdenv fetchurl;
-    inherit python wrapPython;
+    inherit python wrapPython distutils-cfg;
   };
 
   # packages defined elsewhere
@@ -287,10 +287,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     ];
 
     postInstall = ''
-      ln -s ${pyramid}/bin/pserve $out/bin
       ln -s ${pkgs.bacula}/bin/bconsole $out/bin
-      wrapProgram "$out/bin/pserve" \
-        --suffix PYTHONPATH : "$out/lib/python2.7/site-packages"
     '';
 
     meta = {
@@ -544,7 +541,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     # tests depend on $HOME setting
-    configurePhase = "export HOME=$TMPDIR";
+    preConfigure = "export HOME=$TMPDIR";
 
     propagatedBuildInputs =
       [ pythonPackages.pyyaml
@@ -1238,7 +1235,22 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "4e155a0134e6757b37cc6698c20f3e9f";
     };
 
-    propagatedBuildInputs = [ pythonPackages.py ]
+    preCheck = ''
+      # broken on python3, fixed in master, remove in next release
+      rm doc/en/plugins_index/test_plugins_index.py
+
+      # see https://bitbucket.org/hpk42/pytest/issue/418/test-failures-with-python-275-and-pytest
+      sed -i "/test_unicode/i\    @pytest.mark.xfail" testing/test_assertion.py
+
+      # don't test bash builtins
+      rm testing/test_argcomplete.py
+
+      # yaml test are failing
+      rm doc/en/example/nonpython/test_simple.yml
+
+    '';
+
+    propagatedBuildInputs = [ py ]
       ++ stdenv.lib.optional
         pkgs.config.pythonPackages.pytest.selenium or false
         pythonPackages.selenium;
@@ -1687,14 +1699,23 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   };
 
   gtimelog = buildPythonPackage rec {
-    name = "gtimelog-0.8.1";
+    name = "gtimelog-${version}";
+    version = "0.8.1";
+
     src = fetchurl {
-      url = https://launchpad.net/gtimelog/devel/0.8.1/+download/gtimelog-0.8.1.tar.gz;
-      sha256 = "010sbw4rmslf5ifg9bgicn0f6mgsy76v8218xi0jndi9z6pva7y6";
+      url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz";
+      sha256 = "0nwpfv284b26q97mfpagqkqb4n2ilw46cx777qsyi3plnywk1xa0";
     };
+
     propagatedBuildInputs = [ pygtk ];
+
+    checkPhase = ''
+      patchShebangs ./runtests
+      ./runtests
+    '';
+
     meta = with stdenv.lib; {
-      description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible.";
+      description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible";
       homepage = http://mg.pov.lt/gtimelog/;
       license = licenses.gpl2Plus;
       maintainers = [ maintainers.ocharles ];
@@ -2185,6 +2206,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6";
     };
 
+    preConfigure = ''
+      sed -i "/use_setuptools/d" setup.py
+    '';
+
     buildInputs = [ pkgs.alsaLib pkgs.jackaudio ];
 
     meta = with stdenv.lib; {
@@ -2474,9 +2499,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     buildPhase = "make build";
-    installCommand = ''
-      ${python}/bin/${python.executable} setup.py install --prefix="$out" --root=/ --record="$out/lib/${python.libPrefix}/site-packages/dulwich/list.txt" --single-version-externally-managed
-    '';
 
     # For some reason "python setup.py test" doesn't work with Python 2.6.
     # pretty sure that is about import behaviour.
@@ -3438,9 +3460,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [ pkgs.libxml2 pkgs.libxslt ];
     propagatedBuildInputs = [  ];
     doCheck = false;
-    installCommand = ''
-      easy_install --always-unzip --no-deps --prefix="$out" .
-    '';
 
     meta = {
       description = "Pythonic binding for the libxml2 and libxslt libraries";
@@ -3492,21 +3511,15 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   };
 
-  magic = pkgs.stdenv.mkDerivation rec {
-    name = "python-${pkgs.file.name}";
+  magic = buildPythonPackage rec {
+    name = "${pkgs.file.name}";
 
     src = pkgs.file.src;
 
     patches = [ ../tools/misc/file/python.patch ];
     buildInputs = [ python pkgs.file ];
 
-    configurePhase = "cd python";
-
-    buildPhase = "${python}/bin/${python.executable} setup.py build";
-
-    installPhase = ''
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
-    '';
+    preConfigure = "cd python";
 
     meta = {
       description = "A Python wrapper around libmagic";
@@ -3526,7 +3539,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     buildInputs = [ pkgs.swig pkgs.openssl ];
 
-    buildPhase = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
+    preBuild = "${python}/bin/${python.executable} setup.py build_ext --openssl=${pkgs.openssl}";
 
     doCheck = false; # another test that depends on the network.
 
@@ -4200,19 +4213,14 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
   });
 
-  notmuch = pkgs.stdenv.mkDerivation rec {
+  notmuch = buildPythonPackage rec {
     name = "python-${pkgs.notmuch.name}";
 
     src = pkgs.notmuch.src;
 
-    buildInputs = [ python pkgs.notmuch ];
-    #propagatedBuildInputs = [ python pkgs.notmuch ];
-
-    configurePhase = "cd bindings/python";
+    sourceRoot = "${pkgs.notmuch.name}/bindings/python";
 
-    buildPhase = "python setup.py build";
-
-    installPhase = "python setup.py install --prefix=$out";
+    buildInputs = [ python pkgs.notmuch ];
 
     meta = {
       description = "A Python wrapper around notmuch";
@@ -4233,13 +4241,12 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       sed -i 's/-faltivec//' numpy/distutils/system_info.py
     '';
 
-    # TODO: add ATLAS=${pkgs.atlas}
-    installCommand = ''
+    preBuild = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
+    setupPyBuildFlags = ["--fcompiler='gnu95'"];
+
     # error: invalid command 'test'
     doCheck = false;
 
@@ -4614,10 +4621,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       url = "http://pypi.python.org/packages/source/p/pip/pip-${version}.tar.gz";
       sha256 = "0j700f70mj0brdlvs2cz4a7h4jwmzgymgp8qk1qb3lsm1qd1vy15";
     };
-    buildInputs = [ mock scripttest virtualenv nose ];
-    # ValueError: Working directory tests not found, or not a directory
-    # see https://github.com/pypa/pip/issues/92
-    doCheck = false;
+    buildInputs = [ mock scripttest virtualenv pytest ];
   };
 
 
@@ -4644,7 +4648,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [ pkgs.freetype pkgs.libjpeg pkgs.unzip pkgs.zlib pkgs.libtiff pkgs.libwebp ];
 
     # NOTE: we use LCMS_ROOT as WEBP root since there is not other setting for webp.
-    configurePhase = ''
+    preConfigure = ''
       sed -i "setup.py" \
           -e 's|^FREETYPE_ROOT =.*$|FREETYPE_ROOT = _lib_include("${pkgs.freetype}")|g ;
               s|^JPEG_ROOT =.*$|JPEG_ROOT = _lib_include("${pkgs.libjpeg}")|g ;
@@ -4653,7 +4657,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
               s|^TIFF_ROOT =.*$|TIFF_ROOT = _lib_include("${pkgs.libtiff}")|g ;'
     '';
 
-    doCheck = true;
+    
 
     meta = {
       homepage = http://python-imaging.github.com/Pillow;
@@ -4764,10 +4768,6 @@ pythonPackages = modules // import ./python-packages-generated.nix {
   protobuf = buildPythonPackage rec {
     inherit (pkgs.protobuf) name src;
 
-    buildPhase = ''
-      python setup.py build
-    '';
-
     propagatedBuildInputs = [pkgs.protobuf];
     sourceRoot = "${name}/python";
 
@@ -4838,7 +4838,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
 
     src = fetchurl {
       url = "https://pypi.python.org/packages/source/p/py/${name}.tar.gz";
-      md5 = "3857dc8309d5f284669b81184253c2bb";
+      md5 = "d2e24b4363d834bf9192247f143435bc";
     };
   };
 
@@ -5189,6 +5189,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ urlgrabber ];
 
     checkPhase = ''
+      export PYTHONPATH="$PYTHONPATH:."
       ${python}/bin/${python.executable} tests/baseclass.py -vv
     '';
 
@@ -5267,7 +5268,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ pkgs.parted ];
 
     checkPhase = ''
-      ${python}/bin/${python.executable} -m unittest discover -v
+      patchShebangs Makefile
+      make test PYTHON=${python.executable}
     '';
 
     meta = {
@@ -5621,7 +5623,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     # There seems to be no way to pass that path to configure.
     NIX_CFLAGS_COMPILE="-I${pkgs.aprutil}/include/apr-1";
 
-    configurePhase = ''
+    preConfigure = ''
       cd Source
       python setup.py backport
       python setup.py configure \
@@ -6172,16 +6174,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     buildInputs = [pkgs.gfortran];
     propagatedBuildInputs = [ numpy ];
 
-    # error: invalid command 'test'
-    doCheck = false;
-
     # TODO: add ATLAS=${pkgs.atlas}
-    installCommand = ''
+    preConfigure = ''
       export BLAS=${pkgs.blas} LAPACK=${pkgs.liblapack}
-      ${python}/bin/${python.executable} setup.py build --fcompiler="gnu95"
-      ${python}/bin/${python.executable} setup.py install --prefix=$out
     '';
 
+    setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
+
+    # error: invalid command 'test'
+    doCheck = false;
+
     meta = {
       description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering. ";
       homepage = http://www.scipy.org/;
@@ -6573,7 +6575,10 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     };
 
     buildInputs = [ mock ];
-    propagatedBuildInputs = [ meld3  ];
+    propagatedBuildInputs = [ meld3 ];
+
+    # failing tests when building under chroot as root user doesn't exist
+    doCheck = false;
 
     meta = {
       description = "A system for controlling process state under UNIX";
@@ -6713,10 +6718,16 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "051dd9de0757714d33c3ecd5ab37b97d";
     };
 
-    buildInputs = [ pytest webob pkgs.imagemagick ];
+    buildInputs = [ pytest webob pkgs.imagemagick nose ];
     propagatedBuildInputs = [ sqlalchemy8 wand ];
 
-    checkPhase = "cd tests && LD_LIBRARY_PATH=${pkgs.imagemagick}/lib py.test";
+    checkPhase = ''
+      cd tests
+      export LD_LIBRARY_PATH=${pkgs.imagemagick}/lib
+      export PYTHONPATH=$PYTHONPATH:../
+      py.test
+      cd ..
+    '';
 
     meta = {
       homepage = https://github.com/crosspop/sqlalchemy-imageattach;
@@ -7816,8 +7827,8 @@ pythonPackages = modules // import ./python-packages-generated.nix {
     propagatedBuildInputs = [ zope_proxy ];
 
     # ignore circular dependency on zope_schema
-    installCommand = ''
-      easy_install --always-unzip --no-deps --prefix="$out" .
+    preBuild = ''
+      sed -i '/zope.schema/d' setup.py
     '';
 
     doCheck = false;
@@ -7870,12 +7881,7 @@ pythonPackages = modules // import ./python-packages-generated.nix {
       md5 = "e7e581af8193551831560a736a53cf58";
     };
 
-    propagatedBuildInputs = [ zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
-
-    # ignore circular dependency on zope_location
-    installCommand = ''
-      easy_install  --no-deps --prefix="$out" .
-    '';
+    propagatedBuildInputs = [ zope_location zope_event zope_interface zope_testing ] ++ optional isPy26 ordereddict;
 
     meta = {
         maintainers = [ stdenv.lib.maintainers.goibhniu ];