From 3282282ddeaa97017401fc66e7c515812bab4c24 Mon Sep 17 00:00:00 2001 From: Astro Date: Sat, 1 Jun 2019 10:03:08 +0800 Subject: [PATCH] stm32: remove fetchcargo.nix (#16) --- stm32/default.nix | 48 ++++++++++++++----------------------------- stm32/fetchcargo.nix | 49 -------------------------------------------- stm32/result | 1 - 3 files changed, 15 insertions(+), 83 deletions(-) delete mode 100644 stm32/fetchcargo.nix delete mode 120000 stm32/result diff --git a/stm32/default.nix b/stm32/default.nix index db6f0e4..7d5d4f0 100644 --- a/stm32/default.nix +++ b/stm32/default.nix @@ -8,43 +8,25 @@ let rustPlatform = pkgs.recurseIntoAttrs (pkgs.callPackage ./rustPlatform.nix { inherit rustManifest; }); - fetchcargo = import ./fetchcargo.nix { - inherit (pkgs) stdenv cacert git cargo-vendor; - inherit (rustPlatform.rust) cargo; - }; buildStm32Firmware = { name, src, cargoSha256 }: - let - firmwareDeps = fetchcargo { inherit name src; sha256 = cargoSha256; }; - in - rustPlatform.buildRustPackage rec { - inherit name; - version = "0.0.0"; + rustPlatform.buildRustPackage rec { + inherit name; + version = "0.0.0"; - inherit src cargoSha256; + inherit src cargoSha256; - buildInputs = [ firmwareDeps ]; - patchPhase = '' - cat >> .cargo/config <> $out/nix-support/hydra-build-products - ''; - }; + doCheck = false; + installPhase = '' + mkdir -p $out $out/nix-support + cp target/thumbv7em-none-eabihf/release/${name} $out/${name}.elf + echo file binary-dist ${name}.elf >> $out/nix-support/hydra-build-products + ''; + }; in { stabilizer = buildStm32Firmware { diff --git a/stm32/fetchcargo.nix b/stm32/fetchcargo.nix deleted file mode 100644 index 656049e..0000000 --- a/stm32/fetchcargo.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, cacert, git, cargo, cargo-vendor }: -{ name, src, sha256 }: -let - # `src` restricted to the two files that define dependencies - cargoOnlySrc = stdenv.mkDerivation { - name = "${name}-cargo"; - inherit src; - phases = "installPhase"; - installPhase = '' - mkdir $out - cp ${src}/Cargo.{toml,lock} $out/ - mkdir $out/src - touch $out/src/main.rs - ''; - }; -in -stdenv.mkDerivation { - name = "${name}-vendor"; - nativeBuildInputs = [ cacert git cargo cargo-vendor ]; - src = cargoOnlySrc; - - phases = "unpackPhase patchPhase installPhase"; - - installPhase = '' - if [[ ! -f Cargo.lock ]]; then - echo - echo "ERROR: The Cargo.lock file doesn't exist" - echo - echo "Cargo.lock is needed to make sure that cargoSha256 doesn't change" - echo "when the registry is updated." - echo - - exit 1 - fi - - export CARGO_HOME=$(mktemp -d cargo-home.XXX) - - cargo vendor - - cp -ar vendor $out - ''; - - outputHashAlgo = "sha256"; - outputHashMode = "recursive"; - outputHash = sha256; - - impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars; - preferLocalBuild = true; -} diff --git a/stm32/result b/stm32/result deleted file mode 120000 index e0da8a9..0000000 --- a/stm32/result +++ /dev/null @@ -1 +0,0 @@ -/nix/store/nk713fs4q784pdz7wdr5x8m2zfqhls6v-stabilizer \ No newline at end of file