Files
2026-10-15 21:23:34 +00:00

59 lines
1.2 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
numpy,
pillow,
pytestCheckHook,
rustPlatform,
}:
buildPythonPackage (finalAttrs: {
pname = "epaper-dithering";
version = "6.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "OpenDisplay";
repo = "epaper-dithering";
tag = "epaper-dithering-v${finalAttrs.version}";
hash = "sha256-rKf8sM9F0qk2sw7HHyUo0A68ttIBlXeXNThts4BFSRo=";
};
sourceRoot = "${finalAttrs.src.name}/packages/python";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs)
pname
version
src
sourceRoot
;
hash = "sha256-KjG9DDx3zngJKkTvfGfeAdSQ6unEBfvy3xdc/Xg2mFs=";
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
dependencies = [
pillow
];
nativeCheckInputs = [
numpy
pytestCheckHook
];
pythonImportsCheck = [ "epaper_dithering" ];
meta = {
description = "Dithering algorithms for e-paper/e-ink displays";
homepage = "https://github.com/OpenDisplay/epaper-dithering";
changelog = "https://github.com/OpenDisplay/epaper-dithering/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
};
})