nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, glibcLocales
3, buildPythonPackage
4, fetchPypi
5, six
6, appdirs
7, scandir ? null
8, backports_os ? null
9, typing ? null
10, pytz
11, enum34
12, pyftpdlib
13, psutil
14, mock
15, pythonAtLeast
16, isPy3k
17, pytestCheckHook
18, stdenv
19}:
20
21buildPythonPackage rec {
22 pname = "fs";
23 version = "2.4.15";
24
25 src = fetchPypi {
26 inherit pname version;
27 sha256 = "sha256-sJ0CwxH0rdHm4rdXJMRQ6vz+7MkXV5IkyorSHazQoYI=";
28 };
29
30 buildInputs = [ glibcLocales ];
31
32 # strong cycle with paramaterized
33 doCheck = false;
34 checkInputs = [ pyftpdlib mock psutil pytestCheckHook ];
35 propagatedBuildInputs = [ six appdirs pytz ]
36 ++ lib.optionals (!isPy3k) [ backports_os ]
37 ++ lib.optionals (!pythonAtLeast "3.6") [ typing ]
38 ++ lib.optionals (!pythonAtLeast "3.5") [ scandir ]
39 ++ lib.optionals (!pythonAtLeast "3.5") [ enum34 ];
40
41 LC_ALL="en_US.utf-8";
42
43 preCheck = ''
44 HOME=$(mktemp -d)
45 '';
46
47 pytestFlagsArray = [ "--ignore=tests/test_opener.py" ];
48
49 disabledTests = [
50 "user_data_repr"
51 ] ++ lib.optionals (stdenv.isDarwin) [ # remove if https://github.com/PyFilesystem/pyfilesystem2/issues/430#issue-707878112 resolved
52 "test_ftpfs"
53 ] ++ lib.optionals (pythonAtLeast "3.9") [
54 # update friend version of this commit: https://github.com/PyFilesystem/pyfilesystem2/commit/3e02968ce7da7099dd19167815c5628293e00040
55 # merged into master, able to be removed after >2.4.1
56 "test_copy_sendfile"
57 ];
58
59 __darwinAllowLocalNetworking = true;
60
61 meta = with lib; {
62 description = "Filesystem abstraction";
63 homepage = "https://github.com/PyFilesystem/pyfilesystem2";
64 license = licenses.bsd3;
65 maintainers = with maintainers; [ lovek323 ];
66 platforms = platforms.unix;
67 };
68
69}