1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 setuptools, 6 unittestCheckHook, 7}: 8 9buildPythonPackage rec { 10 pname = "zope-hookable"; 11 version = "7.0"; 12 pyproject = true; 13 14 src = fetchFromGitHub { 15 owner = "zopefoundation"; 16 repo = "zope.hookable"; 17 tag = version; 18 hash = "sha256-qJJc646VSdNKors6Au4UAGvm7seFbvjEfpdqf//vJNE="; 19 }; 20 21 postPatch = '' 22 substituteInPlace pyproject.toml \ 23 --replace-fail "setuptools<74" "setuptools" 24 ''; 25 26 build-system = [ setuptools ]; 27 28 pythonImportsCheck = [ "zope.hookable" ]; 29 30 nativeCheckInputs = [ unittestCheckHook ]; 31 32 unittestFlagsArray = [ "src/zope/hookable/tests" ]; 33 34 pythonNamespaces = [ "zope" ]; 35 36 meta = with lib; { 37 description = "Supports the efficient creation of hookable objects"; 38 homepage = "https://github.com/zopefoundation/zope.hookable"; 39 changelog = "https://github.com/zopefoundation/zope.hookable/blob/${src.tag}/CHANGES.rst"; 40 license = licenses.zpl21; 41 }; 42}