Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / attrs / default.nix
bloba298dc36f507c7fee1fed12d13f62eafb9d46558
1 { lib
2 , callPackage
3 , buildPythonPackage
4 , fetchPypi
5 , pythonOlder
6 , hatchling
7 }:
9 buildPythonPackage rec {
10   pname = "attrs";
11   version = "23.1.0";
12   disabled = pythonOlder "3.7";
13   format = "pyproject";
15   src = fetchPypi {
16     inherit pname version;
17     hash = "sha256-YnmDbVgVE6JvG/I1+azTM7yRFWg/FPfo+uRsmPxQ4BU=";
18   };
20   patches = [
21     # hatch-vcs and hatch-fancy-pypi-readme depend on pytest, which depends on attrs
22     ./remove-hatch-plugins.patch
23   ];
25   postPatch = ''
26     substituteAllInPlace pyproject.toml
27   '';
29   nativeBuildInputs = [
30     hatchling
31   ];
33   outputs = [
34     "out"
35     "testout"
36   ];
38   postInstall = ''
39     # Install tests as the tests output.
40     mkdir $testout
41     cp -R conftest.py tests $testout
42   '';
44   pythonImportsCheck = [
45     "attr"
46   ];
48   # pytest depends on attrs, so we can't do this out-of-the-box.
49   # Instead, we do this as a passthru.tests test.
50   doCheck = false;
52   passthru.tests = {
53     pytest = callPackage ./tests.nix { };
54   };
56   meta = with lib; {
57     description = "Python attributes without boilerplate";
58     homepage = "https://github.com/python-attrs/attrs";
59     changelog = "https://github.com/python-attrs/attrs/releases/tag/${version}";
60     license = licenses.mit;
61     maintainers = with maintainers; [ ];
62   };