1{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, lark, docopt, pyyaml, setuptools }: 2 3let lark080 = lark.overrideAttrs (old: rec { 4 # gdtoolkit needs exactly this lark version 5 version = "0.8.0"; 6 src = fetchFromGitHub { 7 owner = "lark-parser"; 8 repo = "lark"; 9 rev = version; 10 sha256 = "su7kToZ05OESwRCMPG6Z+XlFUvbEb3d8DgsTEcPJMg4="; 11 }; 12}); 13 14in 15buildPythonPackage rec { 16 pname = "gdtoolkit"; 17 version = "3.3.1"; 18 19 propagatedBuildInputs = [ 20 lark080 21 docopt 22 pyyaml 23 setuptools 24 ]; 25 26 # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?) 27 src = fetchFromGitHub { 28 owner = "Scony"; 29 repo = "godot-gdscript-toolkit"; 30 rev = version; 31 sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn"; 32 }; 33 34 disabled = pythonOlder "3.7"; 35 36 # Tests cannot be run because they need network to install additional dependencies using pip and tox 37 doCheck = false; 38 pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ]; 39 40 meta = with lib; { 41 description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter"; 42 homepage = "https://github.com/Scony/godot-gdscript-toolkit"; 43 license = licenses.mit; 44 maintainers = with maintainers; [ shiryel ]; 45 }; 46}