X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=shell.nix;h=6ff8a7ad2d8fdeba8aea714cd2d125a1d8d776cb;hb=2a231457bd494079c36cf3e07c9b887016adb491;hp=ce17dd41e8d6d1ebd8101eb5a0b343cb6f3c013f;hpb=0bd453b5276714b9a33c6a2060851ea5184c52b2;p=qmk_firmware.git diff --git a/shell.nix b/shell.nix index ce17dd41e..6ff8a7ad2 100644 --- a/shell.nix +++ b/shell.nix @@ -1,8 +1,13 @@ -{ pkgs ? import {} +# dfu-programmer doesn't have darwin on it's list of supported platforms +{ pkgs ? import { config = { allowUnsupportedSystem = true; }; } , avr ? true, arm ? true, teensy ? true }: with pkgs; let + avrbinutils = pkgsCross.avr.buildPackages.binutils; + avrlibc = pkgsCross.avr.libcCross; + gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc; + avr_incflags = [ "-isystem ${avrlibc}/avr/include" "-B${avrlibc}/avr/lib/avr5" @@ -12,13 +17,20 @@ let "-B${avrlibc}/avr/lib/avr51" "-L${avrlibc}/avr/lib/avr51" ]; + avrgcc = pkgsCross.avr.buildPackages.gcc.overrideAttrs (oldAttrs: rec { + name = "avr-gcc-8.1.0"; + src = fetchurl { + url = "mirror://gcc/releases/gcc-8.1.0/gcc-8.1.0.tar.xz"; + sha256 = "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x"; + }; + }); in stdenv.mkDerivation { name = "qmk-firmware"; buildInputs = [ dfu-programmer dfu-util diffutils git ] - ++ lib.optional avr [ avrbinutils avrgcc avrlibc ] + ++ lib.optional avr [ avrbinutils avrgcc avrlibc avrdude ] ++ lib.optional arm [ gcc-arm-embedded ] ++ lib.optional teensy [ teensy-loader-cli ];