summary refs log tree commit diff
path: root/pkgs/development/misc/qmk_firmware/default.nix
blob: 38b1df3ca3b58dd7aa7a0f2852ccee0b3f27022c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{ stdenv, fetchFromGitHub
, avrgcc, avrbinutils
, gcc-arm-embedded, gcc-armhf-embedded
, teensy-loader-cli, dfu-programmer, dfu-util }:

let version = "0.6.144";

in stdenv.mkDerivation {
  pname = "qmk_firmware";
  inherit version;
  src = fetchFromGitHub {
    owner = "qmk";
    repo = "qmk_firmware";
    rev = version;
    sha256 = "0m71f9w32ksqjkrwhqwhr74q5v3pr38bihjyb9ks0k5id0inhrjn";
    fetchSubmodules = true;
  };
  postPatch = ''
    substituteInPlace tmk_core/arm_atsam.mk \
      --replace arm-none-eabi arm-none-eabihf
    rm keyboards/handwired/frenchdev/rules.mk keyboards/dk60/rules.mk
  '';
  buildFlags = [ "all:default" ];
  doCheck = true;
  checkTarget = "test:all";
  installPhase = ''
    mkdir $out
  '';
  NIX_CFLAGS_COMPILE = "-Wno-error";
  nativeBuildInputs = [
    avrgcc
    avrbinutils
    gcc-arm-embedded
    gcc-armhf-embedded
    teensy-loader-cli
    dfu-programmer
    dfu-util
  ];
}