From d7f0e554831ff218093bd8fac6ac6b0eb4bc458d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 29 Mar 2024 22:30:28 +0100 Subject: [PATCH] python312Packages.pygatt: refactor --- .../python-modules/pygatt/default.nix | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/pkgs/development/python-modules/pygatt/default.nix b/pkgs/development/python-modules/pygatt/default.nix index b2bf9416508d..67a7fea6b334 100644 --- a/pkgs/development/python-modules/pygatt/default.nix +++ b/pkgs/development/python-modules/pygatt/default.nix @@ -2,27 +2,43 @@ , buildPythonPackage , fetchFromGitHub , mock -, nose +, pynose , pexpect , pyserial , pytestCheckHook , pythonOlder +, setuptools }: buildPythonPackage rec { pname = "pygatt"; version = "4.0.5"; - format = "setuptools"; + pyproject = true; + disabled = pythonOlder "3.5"; src = fetchFromGitHub { owner = "peplin"; - repo = pname; - rev = "v${version}"; - sha256 = "1zdfxidiw0l8n498sy0l33n90lz49n25x889cx6jamjr7frlcihd"; + repo = "pygatt"; + rev = "refs/tags/v${version}"; + hash = "sha256-DUZGsztZViVNZwmhXoRN5FOQ7BgUeI0SsYgCHlvsrv0="; }; - propagatedBuildInputs = [ + postPatch = '' + # Not support for Python < 3.4 + substituteInPlace setup.py \ + --replace-fail "'enum-compat'" "" \ + --replace-fail "'coverage >= 3.7.1'," "" \ + --replace-fail "'nose >= 1.3.7'" "" + substituteInPlace tests/bgapi/test_bgapi.py \ + --replace-fail "assertEquals" "assertEqual" + ''; + + build-system = [ + setuptools + ]; + + dependencies = [ pyserial ]; @@ -34,25 +50,22 @@ buildPythonPackage rec { # For cross compilation the doCheck is false and therefor the # nativeCheckInputs not included. We have to include nose here, since # setup.py requires nose unconditionally. - nose + pynose ]; nativeCheckInputs = [ mock pytestCheckHook - ] - ++ passthru.optional-dependencies.GATTTOOL; + ] ++ passthru.optional-dependencies.GATTTOOL; - postPatch = '' - # Not support for Python < 3.4 - substituteInPlace setup.py --replace "'enum-compat'" "" - ''; - - pythonImportsCheck = [ "pygatt" ]; + pythonImportsCheck = [ + "pygatt" + ]; meta = with lib; { description = "Python wrapper the BGAPI for accessing Bluetooth LE Devices"; homepage = "https://github.com/peplin/pygatt"; + changelog = "https://github.com/peplin/pygatt/blob/v${version}/CHANGELOG.rst"; license = with licenses; [ asl20 mit ]; maintainers = with maintainers; [ fab ]; };