about summary refs log tree commit diff
path: root/pkgs/development/python-modules/pyfakefs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/pyfakefs/default.nix')
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix32
1 files changed, 24 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 25c286414a3c..cfb575c7675e 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -1,21 +1,37 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytest, unittest2 }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, python, pytest, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "3.3";
+  version = "3.4.1";
   pname = "pyfakefs";
-  name = "${pname}-${version}";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "19hj5wyi8wy8n8hdj5dwlryl3frrn783y4dsfdxn5mg0lpg9iqg3";
+  # no tests in PyPI tarball
+  # https://github.com/jmcgeheeiv/pyfakefs/pull/361
+  src = fetchFromGitHub {
+    owner = "jmcgeheeiv";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0i8kq7sl8bczr927hllgfhsmirjqjh89c9184kcqmprc13ac4kxy";
   };
 
-  propagatedBuildInputs = [ pytest unittest2 ];
+  postPatch = ''
+    # test doesn't work in sandbox
+    substituteInPlace tests/fake_filesystem_test.py \
+      --replace "test_expand_root" "notest_expand_root"
+    substituteInPlace tests/fake_os_test.py \
+      --replace "test_append_mode" "notest_append_mode"
+  '';
+
+  checkInputs = [ pytest glibcLocales ];
+
+  checkPhase = ''
+    LC_ALL=en_US.UTF-8 ${python.interpreter} -m tests.all_tests
+    py.test tests/pytest_plugin_test.py
+  '';
 
   meta = with stdenv.lib; {
     description = "Fake file system that mocks the Python file system modules";
     license     = licenses.asl20;
-    homepage    = "http://pyfakefs.org/";
+    homepage    = http://pyfakefs.org/;
     maintainers = with maintainers; [ gebner ];
   };
 }