{ungoogled-,}chromium,chromedriver: 130.0.6723.58 -> 130.0.6723.69 (#351519)
[NixPkgs.git] / pkgs / servers / klipper / klipper-firmware.nix
blob53a57279a3649ca3c196183c3e3b2b7587b34777
1 { stdenv
2 , lib
3 , pkg-config
4 , pkgsCross
5 , bintools-unwrapped
6 , libffi
7 , libusb1
8 , wxGTK32
9 , python3
10 , gcc-arm-embedded
11 , klipper
12 , avrdude
13 , stm32flash
14 , mcu ? "mcu"
15 , firmwareConfig ? ./simulator.cfg
16 }: stdenv.mkDerivation rec {
17   name = "klipper-firmware-${mcu}-${version}";
18   version = klipper.version;
19   src = klipper.src;
21   nativeBuildInputs = [
22     python3
23     pkgsCross.avr.stdenv.cc
24     gcc-arm-embedded
25     bintools-unwrapped
26     libffi
27     libusb1
28     avrdude
29     stm32flash
30     pkg-config
31     wxGTK32 # Required for bossac
32   ];
34   preBuild = "cp ${firmwareConfig} ./.config";
36   postPatch = ''
37     patchShebangs .
38   '';
40   makeFlags = [
41     "V=1"
42     "KCONFIG_CONFIG=${firmwareConfig}"
43     "WXVERSION=3.2"
44   ];
46   installPhase = ''
47     mkdir -p $out
48     cp ./.config $out/config
49     cp out/klipper.bin $out/ || true
50     cp out/klipper.elf $out/ || true
51     cp out/klipper.uf2 $out/ || true
52   '';
54   dontFixup = true;
56   meta = with lib; {
57     inherit (klipper.meta) homepage license;
58     description = "Firmware part of Klipper";
59     maintainers = with maintainers; [ vtuan10 ];
60     platforms = platforms.linux;
61   };