1{ 2 lib, 3 buildPythonPackage, 4 pythonOlder, 5 fetchFromGitHub, 6 poetry-core, 7 shapely, 8 pytestCheckHook, 9}: 10 11buildPythonPackage rec { 12 pname = "preprocess-cancellation"; 13 version = "0.2.1"; 14 disabled = pythonOlder "3.6"; # >= 3.6 15 pyproject = true; 16 17 # No tests in PyPI 18 src = fetchFromGitHub { 19 owner = "kageurufu"; 20 repo = "cancelobject-preprocessor"; 21 tag = version; 22 hash = "sha256-MJ4mwOFswLYHhg2LNZ+/ZwDvSjoxElVxlaWjArHV2NY="; 23 }; 24 25 postPatch = '' 26 sed -i "/^addopts/d" pyproject.toml 27 28 cat >> pyproject.toml << EOF 29 [build-system] 30 requires = ["poetry-core"] 31 build-backend = "poetry.core.masonry.api" 32 EOF 33 ''; 34 35 build-system = [ 36 poetry-core 37 ]; 38 39 optional-dependencies = { 40 shapely = [ shapely ]; 41 }; 42 43 nativeCheckInputs = [ pytestCheckHook ]; 44 45 pythonImportsCheck = [ "preprocess_cancellation" ]; 46 47 meta = with lib; { 48 description = "Klipper GCode Preprocessor for Object Cancellation"; 49 homepage = "https://github.com/kageurufu/cancelobject-preprocessor"; 50 license = licenses.gpl3Only; 51 maintainers = with maintainers; [ zhaofengli ]; 52 }; 53}