about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/cattrs/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/cattrs/default.nix49
1 files changed, 46 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
index a48e29b827b7..7f51c89e3e4e 100644
--- a/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cattrs/default.nix
@@ -1,27 +1,70 @@
 { lib
 , attrs
+, bson
 , buildPythonPackage
 , fetchFromGitHub
 , hypothesis
+, immutables
+, msgpack
+, poetry-core
 , pytestCheckHook
+, pyyaml
+, tomlkit
+, ujson
 }:
 
 buildPythonPackage rec {
   pname = "cattrs";
-  version = "1.1.2";
+  version = "1.7.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Tinche";
     repo = pname;
     rev = "v${version}";
-    sha256 = "083d5mi6x7qcl26wlvwwn7gsp5chxlxkh4rp3a41w8cfwwr3h6l8";
+    sha256 = "sha256-7F4S4IeApbULXhkEZ0oab3Y7sk20Ag2fCYxsyi4WbWw=";
   };
 
-  propagatedBuildInputs = [ attrs ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+  ];
 
   checkInputs = [
+    bson
     hypothesis
+    immutables
+    msgpack
     pytestCheckHook
+    pyyaml
+    tomlkit
+    ujson
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5  --benchmark-group-by=fullname" ""
+    substituteInPlace pyproject.toml \
+      --replace 'orjson = "^3.5.2"' ""
+    substituteInPlace tests/test_preconf.py \
+      --replace "from orjson import dumps as orjson_dumps" "" \
+      --replace "from orjson import loads as orjson_loads" ""
+  '';
+
+  disabledTestPaths = [
+    # Don't run benchmarking tests
+    "bench/test_attrs_collections.py"
+    "bench/test_attrs_nested.py"
+    "bench/test_attrs_primitives.py"
+    "bench/test_primitives.py"
+  ];
+
+  disabledTests = [
+    # orjson is not available as it requires Rust nightly features to compile its requirements
+    "test_orjson"
   ];
 
   pythonImportsCheck = [ "cattr" ];