build
This commit is contained in:
parent
967e35472f
commit
5f9537bccc
48
default.nix
Normal file
48
default.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
let
|
||||||
|
pkgs = import (fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/20.03.tar.gz"; sha256 = "0182ys095dfx02vl2a20j1hz92dx3mfgz2a6fhn31bqlp1wa8hlq"; }) {};
|
||||||
|
pyPackages = (python-packages: with python-packages; ([
|
||||||
|
solo-python pytest
|
||||||
|
] ++ (with builtins; map (d: getAttr d python-packages) (filter (d: stringLength d > 0) (pkgs.lib.splitString "\n" (builtins.readFile ./tools/requirements.txt))))));
|
||||||
|
python-with-my-packages = pkgs.python3.withPackages pyPackages;
|
||||||
|
src = ./.;
|
||||||
|
tinycbor = with pkgs; stdenv.mkDerivation {
|
||||||
|
name = "tinycbor";
|
||||||
|
src = "${src}/tinycbor";
|
||||||
|
makeFlags = [ "PREFIX=$(out)" "prefix=$(out)" ];
|
||||||
|
buildInputs = [ gcc gcc-arm-embedded-8 ];
|
||||||
|
};
|
||||||
|
standalone = with pkgs; stdenv.mkDerivation {
|
||||||
|
name = "solo-standalone";
|
||||||
|
src = [
|
||||||
|
src
|
||||||
|
tinycbor
|
||||||
|
];
|
||||||
|
buildInputs = [ gnumake gcc gcc-arm-embedded-8 python-with-my-packages ];
|
||||||
|
installPhase = ''
|
||||||
|
make clean
|
||||||
|
make all PREFIX=$(out)" "prefix=$(out)
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp main $out/bin/
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
with pkgs; stdenv.mkDerivation {
|
||||||
|
name = "solo";
|
||||||
|
outputs = [ "out" "firmware" ];
|
||||||
|
src = builtins.filterSource (path: type: (!(lib.hasSuffix path "./tinycbor/lib") && !(lib.hasSuffix path ".hex")&& !(lib.hasSuffix path ".sha256")&& !(lib.hasSuffix path ".elf"))) ./.;
|
||||||
|
buildInputs = [ gnumake gcc gcc-arm-embedded-8 git python-with-my-packages ];
|
||||||
|
########installPhase = ''
|
||||||
|
######## mkdir -p $firmware $standalone/bin/
|
||||||
|
######## cp main $standalone/bin/
|
||||||
|
######## cd stm32l432
|
||||||
|
######## make firmware
|
||||||
|
######## cp *.hex *.sha256 *.elf cubeconfig_stm32l442.ioc $firmware/
|
||||||
|
########'';
|
||||||
|
installPhase = ''
|
||||||
|
cd targets/stm32l432
|
||||||
|
make cbor
|
||||||
|
make build-hacker
|
||||||
|
cp *.hex *.sha256 *.elf cubeconfig_stm32l442.ioc $firmware/
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user