ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / development / python-modules / attrs / default.nix
blob80da6cfefa311ccb0affe5592fa16fd81b9ea77f
2   lib,
3   callPackage,
4   buildPythonPackage,
5   fetchPypi,
6   pythonOlder,
7   substituteAll,
8   hatchling,
9 }:
11 buildPythonPackage rec {
12   pname = "attrs";
13   version = "24.2.0";
14   disabled = pythonOlder "3.7";
15   format = "pyproject";
17   src = fetchPypi {
18     inherit pname version;
19     hash = "sha256-XPsbkUi1sIZWm67APyDXtr87ysyaQr6/h/+qyjYvY0Y=";
20   };
22   patches = [
23     (substituteAll {
24       # hatch-vcs and hatch-fancy-pypi-readme depend on pytest, which depends on attrs
25       src = ./remove-hatch-plugins.patch;
26       inherit version;
27     })
28   ];
30   nativeBuildInputs = [ hatchling ];
32   outputs = [
33     "out"
34     "testout"
35   ];
37   postInstall = ''
38     # Install tests as the tests output.
39     mkdir $testout
40     cp -R conftest.py tests $testout
41   '';
43   pythonImportsCheck = [ "attr" ];
45   # pytest depends on attrs, so we can't do this out-of-the-box.
46   # Instead, we do this as a passthru.tests test.
47   doCheck = false;
49   passthru.tests = {
50     pytest = callPackage ./tests.nix { };
51   };
53   meta = with lib; {
54     description = "Python attributes without boilerplate";
55     homepage = "https://github.com/python-attrs/attrs";
56     changelog = "https://github.com/python-attrs/attrs/releases/tag/${version}";
57     license = licenses.mit;
58     maintainers = [ ];
59   };