1{ 2 lib, 3 fetchFromGitHub, 4 buildPythonPackage, 5 setuptools, 6 zope-interface, 7 pytestCheckHook, 8 pythonOlder, 9}: 10 11buildPythonPackage rec { 12 pname = "transaction"; 13 version = "5.0"; 14 pyproject = true; 15 16 disabled = pythonOlder "3.8"; 17 18 src = fetchFromGitHub { 19 owner = "zopefoundation"; 20 repo = "transaction"; 21 tag = version; 22 hash = "sha256-8yvA2dvB69+EqsAa+hc93rgg6D64lcajl6JgFabhjwY="; 23 }; 24 25 postPatch = '' 26 substituteInPlace pyproject.toml \ 27 --replace-fail "setuptools<74" "setuptools" 28 ''; 29 30 build-system = [ 31 setuptools 32 ]; 33 34 dependencies = [ 35 zope-interface 36 ]; 37 38 nativeCheckInputs = [ 39 pytestCheckHook 40 ]; 41 42 pythonImportsCheck = [ "transaction" ]; 43 44 meta = { 45 description = "Transaction management"; 46 homepage = "https://transaction.readthedocs.io/"; 47 changelog = "https://github.com/zopefoundation/transaction/blob/${version}/CHANGES.rst"; 48 license = lib.licenses.zpl21; 49 maintainers = with lib.maintainers; [ nickcao ]; 50 }; 51}