at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 dnspython, 5 fetchPypi, 6 geoip2, 7 ipython, 8 isPyPy, 9 setuptools, 10 praw, 11 pyenchant, 12 pytestCheckHook, 13 pythonOlder, 14 pytz, 15 sqlalchemy, 16 xmltodict, 17 importlib-metadata, 18 packaging, 19}: 20 21buildPythonPackage rec { 22 pname = "sopel"; 23 version = "8.0.4"; 24 pyproject = true; 25 26 disabled = isPyPy || pythonOlder "3.7"; 27 28 src = fetchPypi { 29 inherit pname version; 30 hash = "sha256-16QDzsZCquAPH3FPyBjxeXGcvSdjYLZFTXN0ASneROU="; 31 }; 32 33 build-system = [ setuptools ]; 34 35 postPatch = '' 36 substituteInPlace pyproject.toml \ 37 --replace-fail "setuptools~=66.1" "setuptools" 38 ''; 39 40 dependencies = [ 41 dnspython 42 geoip2 43 ipython 44 praw 45 pyenchant 46 pytz 47 sqlalchemy 48 xmltodict 49 importlib-metadata 50 packaging 51 ]; 52 53 pythonRemoveDeps = [ "sopel-help" ]; 54 55 pythonRelaxDeps = [ 56 "sqlalchemy" 57 "xmltodict" 58 ]; 59 60 nativeCheckInputs = [ pytestCheckHook ]; 61 62 disabledTests = [ 63 # requires network access 64 "test_example_exchange_cmd_0" 65 "test_example_exchange_cmd_1" 66 "test_example_duck_0" 67 "test_example_duck_1" 68 "test_example_suggest_0" 69 "test_example_suggest_1" 70 "test_example_suggest_2" 71 "test_example_tr2_0" 72 "test_example_tr2_1" 73 "test_example_tr2_2" 74 "test_example_title_command_0" 75 "test_example_wiktionary_0" 76 "test_example_wiktionary_ety_0" 77 ]; 78 79 pythonImportsCheck = [ "sopel" ]; 80 81 meta = with lib; { 82 description = "Simple and extensible IRC bot"; 83 homepage = "https://sopel.chat"; 84 license = licenses.efl20; 85 maintainers = with maintainers; [ mog ]; 86 mainProgram = "sopel"; 87 }; 88}