depot/third_party/nixpkgs/pkgs/tools/misc/esphome/dashboard.nix

60 lines
1 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchNpmDeps
# build-system
, setuptools
, nodejs
, npmHooks
}:
buildPythonPackage rec {
pname = "esphome-dashboard";
version = "20240620.0";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "dashboard";
rev = "refs/tags/${version}";
hash = "sha256-LmIxfX3rcRK90h31J0B5T02f48MCctFERgXxf0zkDm0=";
};
npmDeps = fetchNpmDeps {
inherit src;
hash = "sha256-xMVESS1bPNJF07joUgY8ku+GWtflWhM8mYAv0emggc8=";
};
build-system = [ setuptools ];
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
];
postPatch = ''
# https://github.com/esphome/dashboard/pull/639
patchShebangs script/build
'';
preBuild = ''
script/build
'';
# no tests
doCheck = false;
pythonImportsCheck = [
"esphome_dashboard"
];
meta = with lib; {
description = "ESPHome dashboard";
homepage = "https://esphome.io/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ hexa ];
};
}