at master 1.6 kB view raw
1{ 2 buildPythonPackage, 3 fetchFromGitHub, 4 lib, 5 setuptools, 6 attrs, 7 click, 8 consolekit, 9 dist-meta, 10 docutils, 11 dom-toml, 12 domdf-python-tools, 13 editables, 14 handy-archives, 15 natsort, 16 packaging, 17 pyproject-parser, 18 pytestCheckHook, 19 shippinglabel, 20}: 21 22buildPythonPackage rec { 23 pname = "whey"; 24 version = "0.1.1"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "repo-helper"; 29 repo = "whey"; 30 tag = "v${version}"; 31 hash = "sha256-s2jZmuFj0gTWVTcXWcBhcu5RBuaf/qMS/xzIpIoG1ZE="; 32 }; 33 34 postPatch = '' 35 substituteInPlace pyproject.toml \ 36 --replace-fail 'setuptools!=61.*,<=67.1.0,>=40.6.0' setuptools 37 ''; 38 39 build-system = [ setuptools ]; 40 41 dependencies = [ 42 attrs 43 click 44 consolekit 45 dist-meta 46 dom-toml 47 domdf-python-tools 48 handy-archives 49 natsort 50 packaging 51 pyproject-parser 52 shippinglabel 53 ]; 54 55 pythonImportsCheck = [ "whey" ]; 56 57 optional-dependencies = { 58 all = lib.flatten (lib.attrValues (lib.filterAttrs (n: v: n != "all") optional-dependencies)); 59 editable = [ 60 editables 61 ]; 62 readme = [ 63 docutils 64 pyproject-parser 65 ] 66 ++ pyproject-parser.optional-dependencies.readme; 67 }; 68 69 nativeCheckInputs = [ 70 pytestCheckHook 71 ]; 72 73 # missing dependency pyproject-examples 74 doCheck = false; 75 76 meta = { 77 description = "Simple Python wheel builder for simple projects"; 78 homepage = "https://github.com/repo-helper/whey"; 79 license = lib.licenses.mit; 80 maintainers = with lib.maintainers; [ tyberius-prime ]; 81 }; 82}