From 62745dce54aeee84fcdabdaefeb1329899c419fe Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 25 Sep 2024 09:33:26 +0200 Subject: [PATCH] python312Packages.carbon: patch cf.readfp - refactor - add pythonImportsCheck --- .../python-modules/carbon/default.nix | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix index 74440cc504de..4b253740d6d6 100644 --- a/pkgs/development/python-modules/carbon/default.nix +++ b/pkgs/development/python-modules/carbon/default.nix @@ -1,19 +1,24 @@ { lib, buildPythonPackage, - fetchPypi, - twisted, - whisper, - txamqp, cachetools, - urllib3, + fetchPypi, nixosTests, + pytestCheckHook, + pythonOlder, + setuptools, + twisted, + txamqp, + urllib3, + whisper, }: buildPythonPackage rec { pname = "carbon"; version = "1.1.10"; - format = "setuptools"; + pyproject = true; + + disabled = pythonOlder "3.10"; src = fetchPypi { inherit pname version; @@ -21,28 +26,41 @@ buildPythonPackage rec { }; # Carbon-s default installation is /opt/graphite. This env variable ensures - # carbon is installed as a regular python module. + # carbon is installed as a regular Python module. GRAPHITE_NO_PREFIX = "True"; - propagatedBuildInputs = [ - twisted - whisper - txamqp + postPatch = '' + substituteInPlace setup.py \ + --replace-fail "cf.readfp(f, 'setup.cfg')" "cf.read(f, 'setup.cfg')" + ''; + + build-system = [ setuptools ]; + + dependencies = [ cachetools + twisted + txamqp urllib3 + whisper ]; + # Tests are not shipped with PyPI + doCheck = false; + passthru.tests = { inherit (nixosTests) graphite; }; + pythonImportsCheck = [ "carbon" ]; + meta = with lib; { - homepage = "http://graphiteapp.org/"; description = "Backend data caching and persistence daemon for Graphite"; + homepage = "https://github.com/graphite-project/carbon"; + changelog = "https://github.com/graphite-project/carbon/releases/tag/${version}"; + license = licenses.asl20; maintainers = with maintainers; [ offline basvandijk ]; - license = licenses.asl20; }; }