1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 calver,
6 pytestCheckHook,
7 setuptools,
8}:
9
10let
11 self = buildPythonPackage rec {
12 pname = "trove-classifiers";
13 version = "2025.8.26.11";
14 pyproject = true;
15
16 src = fetchPypi {
17 pname = "trove_classifiers";
18 inherit version;
19 hash = "sha256-5z7/8xfEkqeZAJL5wSZ2xwW/bP5AolipP2P0tMmUFDI=";
20 };
21
22 postPatch = ''
23 substituteInPlace tests/test_cli.py \
24 --replace-fail "BINDIR = Path(sys.executable).parent" "BINDIR = '$out/bin'"
25 '';
26
27 build-system = [
28 calver
29 setuptools
30 ];
31
32 doCheck = false; # avoid infinite recursion with hatchling
33
34 nativeCheckInputs = [ pytestCheckHook ];
35
36 pythonImportsCheck = [ "trove_classifiers" ];
37
38 passthru.tests.trove-classifiers = self.overridePythonAttrs { doCheck = true; };
39
40 meta = {
41 description = "Canonical source for classifiers on PyPI";
42 homepage = "https://github.com/pypa/trove-classifiers";
43 changelog = "https://github.com/pypa/trove-classifiers/releases/tag/${version}";
44 license = lib.licenses.asl20;
45 mainProgram = "trove-classifiers";
46 maintainers = with lib.maintainers; [ dotlambda ];
47 };
48 };
49in
50self