diff options
author | Van Tuan Vo <mail@tuan-vo.de> | 2022-03-21 21:04:23 +0100 |
---|---|---|
committer | Van Tuan Vo <mail@tuan-vo.de> | 2022-03-21 21:51:10 +0100 |
commit | c49f15e87b09fc26b6150dbf48e26d1381460f74 (patch) | |
tree | 25974c409f8bc58ac98ee504c96ced3ec16e8038 /pkgs/servers/klipper | |
parent | 72871a3596632c150fb896061661264f29fdada6 (diff) |
klipper-firmware: Fix IFD error and minor refactoring
Diffstat (limited to 'pkgs/servers/klipper')
-rw-r--r-- | pkgs/servers/klipper/klipper-firmware.nix | 12 | ||||
-rw-r--r-- | pkgs/servers/klipper/klipper-flash.nix | 13 | ||||
-rw-r--r-- | pkgs/servers/klipper/klipper-genconf.nix | 5 |
3 files changed, 12 insertions, 18 deletions
diff --git a/pkgs/servers/klipper/klipper-firmware.nix b/pkgs/servers/klipper/klipper-firmware.nix index 832886c13fe70..ccff83d9d58a7 100644 --- a/pkgs/servers/klipper/klipper-firmware.nix +++ b/pkgs/servers/klipper/klipper-firmware.nix @@ -49,18 +49,14 @@ mkdir -p $out cp ./.config $out/config cp -r out/* $out - - if ${lib.boolToString (!isNull flashDevice)}; then - make FLASH_DEVICE=${toString flashDevice} OUT=$out/ KCONFIG_CONFIG=$out/config flash - fi - ''; + '' + lib.optionalString (flashDevice != null) "make FLASH_DEVICE=${toString flashDevice} OUT=$out/ KCONFIG_CONFIG=$out/config flash"; dontFixup = true; - meta = { + meta = with lib; { inherit (klipper.meta) homepage license; description = "Firmware part of Klipper"; - maintainers = with lib.maintainers; [ vtuan10 ]; - platforms = lib.platforms.linux; + maintainers = with maintainers; [ vtuan10 ]; + platforms = platforms.linux; }; } diff --git a/pkgs/servers/klipper/klipper-flash.nix b/pkgs/servers/klipper/klipper-flash.nix index c81485115cc88..a9c6ecdac4062 100644 --- a/pkgs/servers/klipper/klipper-flash.nix +++ b/pkgs/servers/klipper/klipper-flash.nix @@ -9,11 +9,11 @@ , stm32flash , mcu ? "mcu" , flashDevice ? "/dev/null" +, firmwareConfig ? ./simulator.cfg }: let - firmwareConfig = builtins.readFile "${klipper-firmware}/config"; - isNotSupported = with builtins; isNull (match ''^.*CONFIG_BOARD_DIRECTORY="(avr|stm32|lpc176x)".*$'' firmwareConfig); - isNotStm = with builtins; isNull (match ''^.*CONFIG_BOARD_DIRECTORY="(stm32)".*$'' firmwareConfig); + isNotSupported = with builtins; isNull (match ''^.*CONFIG_BOARD_DIRECTORY="(avr|stm32|lpc176x)".*$'' (readFile firmwareConfig)); + isNotStm = with builtins; isNull (match ''^.*CONFIG_BOARD_DIRECTORY="(stm32)".*$'' (readFile firmwareConfig)); in writeShellApplication { name = "klipper-flash-${mcu}"; @@ -22,6 +22,7 @@ writeShellApplication { avrdude stm32flash pkgsCross.avr.stdenv.cc + gnumake ]; text = '' NOT_SUPPORTED=${lib.boolToString isNotSupported} @@ -31,12 +32,10 @@ writeShellApplication { printf "Please use the compiled firmware at ${klipper-firmware} and flash it using the tools provided for your microcontroller." exit 1 fi - pushd ${klipper.src} if $NOT_STM; then - ${gnumake}/bin/make FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" flash + make -C ${klipper.src} FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" flash else - ${gnumake}/bin/make FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" serialflash + make -C ${klipper.src} FLASH_DEVICE="${toString flashDevice}" OUT="${klipper-firmware}/" KCONFIG_CONFIG="${klipper-firmware}/config" serialflash fi - popd ''; } diff --git a/pkgs/servers/klipper/klipper-genconf.nix b/pkgs/servers/klipper/klipper-genconf.nix index 52c0d1e142169..42eb519e8c196 100644 --- a/pkgs/servers/klipper/klipper-genconf.nix +++ b/pkgs/servers/klipper/klipper-genconf.nix @@ -8,13 +8,12 @@ runtimeInputs = [ python2 pkgsCross.avr.stdenv.cc + gnumake ]; text = '' CURRENT_DIR=$(pwd) TMP=$(mktemp -d) - pushd ${klipper.src} - ${gnumake}/bin/make OUT="$TMP" KCONFIG_CONFIG="$CURRENT_DIR/config" menuconfig - popd + make -C ${klipper.src} OUT="$TMP" KCONFIG_CONFIG="$CURRENT_DIR/config" menuconfig rm -rf "$TMP" config.old printf "\nYour firmware configuration for klipper:\n\n" cat config |