Files
nixpkgs/pkgs/by-name/in/interactive-html-bom/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

51 lines
1.2 KiB
Nix

{
fetchFromGitHub,
lib,
kicad,
python3Packages,
xvfb-run,
}:
python3Packages.buildPythonApplication rec {
pname = "interactive-html-bom";
version = "2.10.0";
pyproject = true;
src = fetchFromGitHub {
owner = "openscopeproject";
repo = "InteractiveHtmlBom";
tag = "v${version}";
hash = "sha256-o7GWdAFFK3zK0fc7aTSwOsd/c4uPg3cJfR0SXbl2RW8=";
};
build-system = [ python3Packages.hatchling ];
dependencies = [
python3Packages.jsonschema
python3Packages.wxpython
python3Packages.kicad
];
nativeCheckInputs = [
xvfb-run
];
checkPhase = ''
runHook preCheck
cp ${kicad.base}/share/kicad/demos/stickhub/StickHub.kicad_pcb .
HOME=$(mktemp -d) xvfb-run $out/bin/generate_interactive_bom --no-browser StickHub.kicad_pcb
runHook postCheck
'';
meta = {
description = "Interactive HTML BOM generation for KiCad, EasyEDA, Eagle, Fusion360 and Allegro PCB designer";
homepage = "https://github.com/openscopeproject/InteractiveHtmlBom/";
license = lib.licenses.mit;
changelog = "https://github.com/openscopeproject/InteractiveHtmlBom/releases/tag/${src.tag}";
maintainers = with lib.maintainers; [ wuyoli ];
mainProgram = "generate_interactive_bom";
};
}