klipper-firmware: build bossac flash binary conditionally (#533029)

This commit is contained in:
Cabia Rangris
2026-06-18 19:32:44 +00:00
committed by GitHub
+9 -4
View File
@@ -20,11 +20,16 @@ args@{
# are used by flash scripts
# find those with `rg '\[\"lib'` inside of klipper repo
let
needsBossac =
let
lines = lib.strings.splitString "\n" (builtins.readFile firmwareConfig);
in
builtins.any (line: builtins.match "[^#\r\n]*CONFIG_MACH_ATSAMD?=y.*" line != null) lines;
flashBinaries = [
"lib/bossac/bin/bossac"
"lib/hidflash/hid-flash"
"lib/rp2040_flash/rp2040_flash"
];
]
++ lib.optional needsBossac "lib/bossac/bin/bossac";
in
stdenv.mkDerivation {
pname = "klipper-firmware-${mcu}";
@@ -41,8 +46,8 @@ stdenv.mkDerivation {
avrdude
stm32flash
pkg-config
wxwidgets_3_2 # Required for bossac
];
]
++ lib.optional needsBossac wxwidgets_3_2;
configurePhase = ''
cp ${firmwareConfig} ./.config