1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5
6# propagates
7, importlib-metadata
8
9# tests
10, editables
11, git
12, pytestCheckHook
13, setuptools
14}:
15
16buildPythonPackage rec {
17 pname = "pdm-backend";
18 version = "2.1.6";
19 format = "pyproject";
20
21 src = fetchFromGitHub {
22 owner = "pdm-project";
23 repo = "pdm-backend";
24 rev = "refs/tags/${version}";
25 hash = "sha256-ZEci8VeKYuORs9iAzaEqrtVBh9fMWHlLsFH1e5PRLwA=";
26 };
27
28 env.PDM_BUILD_SCM_VERSION = version;
29
30 propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
31 importlib-metadata
32 ];
33
34 pythonImportsCheck = [
35 "pdm.backend"
36 ];
37
38 nativeCheckInputs = [
39 editables
40 git
41 pytestCheckHook
42 setuptools
43 ];
44
45 preCheck = ''
46 unset PDM_BUILD_SCM_VERSION
47 '';
48
49 setupHook = ./setup-hook.sh;
50
51 meta = with lib; {
52 homepage = "https://github.com/pdm-project/pdm-backend";
53 changelog = "https://github.com/pdm-project/pdm-backend/releases/tag/${version}";
54 description = "Yet another PEP 517 backend.";
55 license = licenses.mit;
56 maintainers = with maintainers; [ hexa ];
57 };
58}