1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, commentjson
5, pytestCheckHook
6}:
7
8buildPythonPackage rec {
9 pname = "resolvelib";
10 # Currently this package is only used by Ansible and breaking changes
11 # are frequently introduced, so when upgrading ensure the new version
12 # is compatible with Ansible
13 # https://github.com/NixOS/nixpkgs/pull/128636
14 # https://github.com/ansible/ansible/blob/devel/requirements.txt
15 version = "0.5.5";
16
17 src = fetchFromGitHub {
18 owner = "sarugaku";
19 repo = "resolvelib";
20 rev = version;
21 sha256 = "198vfv78hilpg0d0mjzchzp9zk6239wnra61vlsgwpcgz66d2bgv";
22 };
23
24 nativeCheckInputs = [
25 commentjson
26 pytestCheckHook
27 ];
28 # TODO: reenable after updating to >= 1.0.0
29 # https://github.com/sarugaku/resolvelib/issues/114
30 disabledTests = [
31 "shared_parent_dependency"
32 "deep_complex_conflict"
33 "shared_parent_dependency_with_swapping"
34 "spapping_and_rewinding"
35 "pruned_unresolved_orphan"
36 "conflict_common_parent"
37 "same-package"
38 ];
39
40 pythonImportsCheck = [
41 "resolvelib"
42 ];
43
44 meta = with lib; {
45 description = "Resolve abstract dependencies into concrete ones";
46 homepage = "https://github.com/sarugaku/resolvelib";
47 license = licenses.isc;
48 maintainers = with maintainers; [ hexa ];
49 };
50}