1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pytoolconfig, 6 pytest-timeout, 7 pytestCheckHook, 8 pythonAtLeast, 9 pythonOlder, 10 setuptools, 11}: 12 13buildPythonPackage rec { 14 pname = "rope"; 15 version = "1.14.0"; 16 pyproject = true; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchFromGitHub { 21 owner = "python-rope"; 22 repo = "rope"; 23 tag = version; 24 hash = "sha256-LcxpJhMtyk0kT759ape9zQzdwmL1321Spdbg9zuuXtI="; 25 }; 26 27 build-system = [ setuptools ]; 28 29 dependencies = [ pytoolconfig ] ++ pytoolconfig.optional-dependencies.global; 30 31 __darwinAllowLocalNetworking = true; 32 33 nativeCheckInputs = [ 34 pytest-timeout 35 pytestCheckHook 36 ]; 37 38 disabledTests = [ 39 "test_search_submodule" 40 "test_get_package_source_pytest" 41 "test_get_modname_folder" 42 ] 43 ++ lib.optionals (pythonAtLeast "3.13") [ 44 # https://github.com/python-rope/rope/issues/801 45 "test_skipping_directories_not_accessible_because_of_permission_error" 46 "test_hint_parametrized_iterable" 47 "test_hint_parametrized_iterator" 48 ]; 49 50 meta = with lib; { 51 description = "Python refactoring library"; 52 homepage = "https://github.com/python-rope/rope"; 53 changelog = "https://github.com/python-rope/rope/blob/${src.tag}/CHANGELOG.md"; 54 license = licenses.gpl3Plus; 55 maintainers = [ ]; 56 }; 57}