python312Packages.pygatt: refactor

This commit is contained in:
Fabian Affolter 2024-03-29 22:30:28 +01:00
parent 33ad5978bc
commit d7f0e55483

View File

@ -2,27 +2,43 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, mock , mock
, nose , pynose
, pexpect , pexpect
, pyserial , pyserial
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
, setuptools
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pygatt"; pname = "pygatt";
version = "4.0.5"; version = "4.0.5";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.5"; disabled = pythonOlder "3.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "peplin"; owner = "peplin";
repo = pname; repo = "pygatt";
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "1zdfxidiw0l8n498sy0l33n90lz49n25x889cx6jamjr7frlcihd"; 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 pyserial
]; ];
@ -34,25 +50,22 @@ buildPythonPackage rec {
# For cross compilation the doCheck is false and therefor the # For cross compilation the doCheck is false and therefor the
# nativeCheckInputs not included. We have to include nose here, since # nativeCheckInputs not included. We have to include nose here, since
# setup.py requires nose unconditionally. # setup.py requires nose unconditionally.
nose pynose
]; ];
nativeCheckInputs = [ nativeCheckInputs = [
mock mock
pytestCheckHook pytestCheckHook
] ] ++ passthru.optional-dependencies.GATTTOOL;
++ passthru.optional-dependencies.GATTTOOL;
postPatch = '' pythonImportsCheck = [
# Not support for Python < 3.4 "pygatt"
substituteInPlace setup.py --replace "'enum-compat'" "" ];
'';
pythonImportsCheck = [ "pygatt" ];
meta = with lib; { meta = with lib; {
description = "Python wrapper the BGAPI for accessing Bluetooth LE Devices"; description = "Python wrapper the BGAPI for accessing Bluetooth LE Devices";
homepage = "https://github.com/peplin/pygatt"; homepage = "https://github.com/peplin/pygatt";
changelog = "https://github.com/peplin/pygatt/blob/v${version}/CHANGELOG.rst";
license = with licenses; [ asl20 mit ]; license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };