1{ lib 2, buildPythonPackage 3, fetchPypi 4, distlib 5, pythonOlder 6, exceptiongroup 7, hatch-vcs 8, hatchling 9, cattrs 10, cmake 11, ninja 12, packaging 13, pathspec 14, pyproject-metadata 15, pytest-subprocess 16, pytestCheckHook 17, setuptools 18, tomli 19, wheel 20}: 21 22buildPythonPackage rec { 23 pname = "scikit-build-core"; 24 version = "0.5.1"; 25 format = "pyproject"; 26 27 src = fetchPypi { 28 pname = "scikit_build_core"; 29 inherit version; 30 hash = "sha256-xtrVpRJ7Kr+qI8uR0jrCEFn9d83fcSKzP9B3kQJNz78="; 31 }; 32 33 postPatch = '' 34 substituteInPlace pyproject.toml \ 35 --replace 'minversion = "7.2"' "" \ 36 --replace '"error",' '"error", "ignore::DeprecationWarning", "ignore::UserWarning",' 37 ''; 38 39 nativeBuildInputs = [ 40 hatch-vcs 41 hatchling 42 ]; 43 44 propagatedBuildInputs = [ 45 packaging 46 ] ++ lib.optionals (pythonOlder "3.11") [ 47 exceptiongroup 48 tomli 49 ]; 50 51 passthru.optional-dependencies = { 52 pyproject = [ 53 distlib 54 pathspec 55 pyproject-metadata 56 ]; 57 }; 58 59 dontUseCmakeConfigure = true; 60 61 nativeCheckInputs = [ 62 cattrs 63 cmake 64 ninja 65 pytest-subprocess 66 pytestCheckHook 67 setuptools 68 wheel 69 ] ++ passthru.optional-dependencies.pyproject; 70 71 disabledTestPaths = [ 72 # runs pip, requires network access 73 "tests/test_custom_modules.py" 74 "tests/test_pyproject_pep517.py" 75 "tests/test_pyproject_pep518.py" 76 "tests/test_pyproject_pep660.py" 77 "tests/test_setuptools_pep517.py" 78 "tests/test_setuptools_pep518.py" 79 ]; 80 81 pythonImportsCheck = [ 82 "scikit_build_core" 83 ]; 84 85 meta = with lib; { 86 description = "A next generation Python CMake adaptor and Python API for plugins"; 87 homepage = "https://github.com/scikit-build/scikit-build-core"; 88 changelog = "https://github.com/scikit-build/scikit-build-core/releases/tag/v${version}"; 89 license = with licenses; [ asl20 ]; 90 maintainers = with maintainers; [ veprbl ]; 91 }; 92}