mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-29 09:04:17 +00:00
a5bc214253
Upstream previously recommended GCC 8 when targeting AVR because of binary size concerns. They have since removed this warning in <https://github.com/qmk/qmk_firmware/pull/24206>, as more recent GCC versions have resolved the issues. Building `keyboardio/model01` before: * The firmware size is fine - 26984/28672 (94%, 1688 bytes free) And after: * The firmware size is fine - 27200/28672 (94%, 1472 bytes free) +216 bytes (1.008× the total size) is not a big deal. Since upstream is fine with it these days, we can be too, and not keep around an unsupported compiler just for QMK.
77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchPypi
|
|
, pkgsCross
|
|
, avrdude
|
|
, dfu-programmer
|
|
, dfu-util
|
|
, wb32-dfu-updater
|
|
, gcc-arm-embedded
|
|
, gnumake
|
|
, teensy-loader-cli
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "qmk";
|
|
version = "1.1.5";
|
|
format = "pyproject";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-Lv48dSIwxrokuHGcO26FpWRL+PfQ3SN3V+2pt7fmCxE=";
|
|
};
|
|
|
|
nativeBuildInputs = with python3.pkgs; [
|
|
setuptools
|
|
];
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
dotty-dict
|
|
hid
|
|
hjson
|
|
jsonschema
|
|
milc
|
|
pygments
|
|
pyserial
|
|
pyusb
|
|
pillow
|
|
] ++ [ # Binaries need to be in the path so this is in propagatedBuildInputs
|
|
avrdude
|
|
dfu-programmer
|
|
dfu-util
|
|
wb32-dfu-updater
|
|
teensy-loader-cli
|
|
gcc-arm-embedded
|
|
gnumake
|
|
pkgsCross.avr.buildPackages.binutils
|
|
pkgsCross.avr.buildPackages.binutils.bintools
|
|
pkgsCross.avr.buildPackages.gcc
|
|
pkgsCross.avr.libcCross
|
|
];
|
|
|
|
# no tests implemented
|
|
doCheck = false;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/qmk/qmk_cli";
|
|
description = "Program to help users work with QMK Firmware";
|
|
longDescription = ''
|
|
qmk_cli is a companion tool to QMK firmware. With it, you can:
|
|
|
|
- Interact with your qmk_firmware tree from any location
|
|
- Use qmk clone to pull down anyone's qmk_firmware fork
|
|
- Setup and work with your build environment:
|
|
- qmk setup
|
|
- qmk doctor
|
|
- qmk compile
|
|
- qmk console
|
|
- qmk flash
|
|
- qmk lint
|
|
- ... and many more!
|
|
'';
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ bhipple ekleog ];
|
|
mainProgram = "qmk";
|
|
};
|
|
}
|