1{ lib, buildPythonPackage, fetchPypi, fetchpatch, nose }:
2
3buildPythonPackage rec {
4 pname = "rope";
5 version = "0.18.0";
6
7 src = fetchPypi {
8 inherit pname version;
9 sha256 = "786b5c38c530d4846aa68a42604f61b4e69a493390e3ca11b88df0fbfdc3ed04";
10 };
11
12 patches = [
13 # Python 3.9 ast changes
14 (fetchpatch {
15 url = "https://github.com/python-rope/rope/pull/333.patch";
16 excludes = [ ".github/workflows/main.yml" ];
17 sha256 = "1gq7n1zs18ndmv0p8jg1h5pawabi1m9m9z2w5hgidvqmpmcziky0";
18 })
19 ];
20
21 checkInputs = [ nose ];
22 checkPhase = ''
23 # tracked upstream here https://github.com/python-rope/rope/issues/247
24 NOSE_IGNORE_FILES=type_hinting_test.py nosetests ropetest
25 '';
26
27 meta = with lib; {
28 description = "Python refactoring library";
29 homepage = "https://github.com/python-rope/rope";
30 maintainers = with maintainers; [ goibhniu ];
31 license = licenses.gpl3Plus;
32 };
33}