python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / misc / qmk / default.nix
blob144038f60f4117dda7605598ae101a30fb98c946
1 { lib
2 , python3
3 , pkgsCross
4 , avrdude
5 , dfu-programmer
6 , dfu-util
7 , gcc-arm-embedded
8 , gnumake
9 , teensy-loader-cli
12 python3.pkgs.buildPythonApplication rec {
13   pname = "qmk";
14   version = "1.1.1";
16   src = python3.pkgs.fetchPypi {
17     inherit pname version;
18     sha256 = "sha256-3QKOCevNYfi9+MuCkp36/A4AfZelo4A7RYGbRkF3Mmk=";
19   };
21   nativeBuildInputs = with python3.pkgs; [
22     nose2
23     setuptools-scm
24     yapf
25   ];
27   propagatedBuildInputs = with python3.pkgs; [
28     appdirs
29     argcomplete
30     colorama
31     dotty-dict
32     hid
33     hjson
34     jsonschema
35     milc
36     pygments
37     pyserial
38     pyusb
39     pillow
40   ] ++ [ # Binaries need to be in the path so this is in propagatedBuildInputs
41     avrdude
42     dfu-programmer
43     dfu-util
44     teensy-loader-cli
45     gcc-arm-embedded
46     gnumake
47     pkgsCross.avr.buildPackages.binutils
48     pkgsCross.avr.buildPackages.binutils.bintools
49     pkgsCross.avr.buildPackages.gcc8
50     pkgsCross.avr.libcCross
51   ];
53   # buildPythonApplication requires setup.py; the setup.py file crafted below
54   # acts as a wrapper to setup.cfg
55   postConfigure = ''
56     touch setup.py
57     echo "from setuptools import setup" >> setup.py
58     echo "setup()" >> setup.py
59   '';
61   # no tests implemented
62   doCheck = false;
64   meta = with lib; {
65     homepage = "https://github.com/qmk/qmk_cli";
66     description = "A program to help users work with QMK Firmware";
67     longDescription = ''
68       qmk_cli is a companion tool to QMK firmware. With it, you can:
70       - Interact with your qmk_firmware tree from any location
71       - Use qmk clone to pull down anyone's qmk_firmware fork
72       - Setup and work with your build environment:
73         - qmk setup
74         - qmk doctor
75         - qmk compile
76         - qmk console
77         - qmk flash
78         - qmk lint
79       - ... and many more!
80     '';
81     license = licenses.mit;
82     maintainers = with maintainers; [ bhipple babariviere ekleog ];
83   };