From ba6da646058ca58f999af2f26da3b97793c57962 Mon Sep 17 00:00:00 2001 From: shimun Date: Sun, 1 Nov 2020 13:43:51 +0100 Subject: [PATCH] build standalone --- default.nix | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/default.nix b/default.nix index b31c5c7..42a778f 100644 --- a/default.nix +++ b/default.nix @@ -1,24 +1,27 @@ let - pkgs = import (fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/20.03.tar.gz"; sha256 = "0182ys095dfx02vl2a20j1hz92dx3mfgz2a6fhn31bqlp1wa8hlq"; }) {}; + 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 + 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 = ./.; + src = with pkgs.lib; builtins.filterSource (path: type: !(hasSuffix path "hex" || hasSuffix path "sha256" || baseNameOf path == "result")) ./.; in with pkgs; stdenv.mkDerivation { - name = "solo"; - outputs = [ "out" ]; - src = with lib; builtins.filterSource (path: type: !(hasSuffix path "hex" || hasSuffix path "sha256" || baseNameOf path == "result")) src; - buildInputs = [ gnumake gcc gcc-arm-embedded-8 git python-with-my-packages ]; - phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ]; - installPhase = '' - mkdir -p $out/firmware $out - cd targets/stm32l432 - make cbor - make build-hacker - cp *.hex *.sha256 *.elf cubeconfig_stm32l442.ioc $out/firmware/ - ''; - keepDebugInfo = true; + name = "solo"; + outputs = [ "out" ]; + inherit src; + buildInputs = [ src gnumake gcc gcc-arm-embedded-8 git python-with-my-packages ]; + phases = [ "unpackPhase" "configurePhase" "buildPhase" "installPhase" ]; + installPhase = '' + mkdir -p $out/firmware $out/standalone/bin + make + cp main $out/standalone/bin/ + cd targets/stm32l432 + make cbor + make build-hacker + cp *.hex *.sha256 *.elf cubeconfig_stm32l442.ioc $out/firmware/ + ln -s ${src} $out/src + ''; + keepDebugInfo = true; } -