diff options
author | Adrian Kummerlaender | 2021-10-09 23:41:40 +0200 |
---|---|---|
committer | Adrian Kummerlaender | 2021-10-09 23:41:40 +0200 |
commit | b006b3c355616c89d66084880b5a5a87f0241009 (patch) | |
tree | c4a35025ff183154d8ef3d6c63535b82d605c25d /core.nix | |
download | teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar.gz teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar.bz2 teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar.lz teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar.xz teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.tar.zst teensy-env-b006b3c355616c89d66084880b5a5a87f0241009.zip |
Basic build environment for Teensy 4.0 programs
Diffstat (limited to 'core.nix')
-rw-r--r-- | core.nix | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/core.nix b/core.nix new file mode 100644 index 0000000..6a98e55 --- /dev/null +++ b/core.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +pkgs.stdenvNoCC.mkDerivation rec { + name = "teensy-core"; + version = "1.54"; + + src = pkgs.fetchFromGitHub { + owner = "PaulStoffregen"; + repo = "cores"; + rev = "${version}"; + sha256 = "6IXKPVc06WCjJDOnDFOOqjPZSt4UhRW7LHyblEaZ7fw="; + }; + + buildInputs = with pkgs; [ + binutils + gcc-arm-embedded + ]; + + buildPhase = '' + export CC=arm-none-eabi-gcc + export CXX=arm-none-eabi-g++ + + pushd teensy4 + rm main.cpp + cp ${./Makefile.lib} Makefile + make + ar rvs libteensy-core.a *.o + popd + ''; + + installPhase = '' + mkdir -p $out/{include,lib} + pushd teensy4 + cp -r *.h $out/include/ + cp -r avr $out/include/ + cp -r debug $out/include/ + cp -r util $out/include/ + cp libteensy-core.a $out/lib/ + cp imxrt1062.ld $out/lib/ + popd + ''; +} |