nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pdm-backend,
6 build,
7 hatchling,
8 pkginfo,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "pdm-build-locked";
14 version = "0.3.7";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "pdm-project";
19 repo = "pdm-build-locked";
20 tag = version;
21 hash = "sha256-ONDKW3KIOKnrOWD/T/W7Do/4/CfgET4TpfYcLha5mVg=";
22 };
23
24 postPatch = ''
25 substituteInPlace tests/conftest.py \
26 --replace-fail '"pdm.pytest"' ""
27 sed -i "/addopts/d" pyproject.toml
28 '';
29
30 build-system = [ pdm-backend ];
31
32 pythonImportsCheck = [ "pdm_build_locked" ];
33
34 nativeCheckInputs = [
35 build
36 hatchling
37 pkginfo
38 pytestCheckHook
39 ];
40
41 disabledTestPaths = [
42 # circular import of pdm
43 "tests/unit/test_build_command.py"
44 ];
45
46 meta = {
47 description = "Pdm-build-locked is a pdm plugin to publish locked dependencies as optional-dependencies";
48 homepage = "https://github.com/pdm-project/pdm-build-locked";
49 changelog = "https://github.com/pdm-project/pdm-build-locked/releases/tag/${src.tag}";
50 license = lib.licenses.mit;
51 maintainers = with lib.maintainers; [ natsukium ];
52 };
53}