40 lines
927 B
Nix
40 lines
927 B
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
let
|
|
esp = import (pkgs.fetchFromGitHub {
|
|
owner = "xvuko";
|
|
repo = "esp-nix";
|
|
rev = "1a100e3dce4fd72532ef16d3ec60e7eb2d98387a";
|
|
sha256 = "1yihw5p1n5s6l9zds9n566iai63zy3zhdlw70735fj504zdqjxv6";
|
|
}) {inherit pkgs; };
|
|
|
|
in
|
|
pkgs.stdenvNoCC.mkDerivation {
|
|
|
|
name = "spejsiot";
|
|
phases = ["unpackPhase" "buildPhase" "installPhase"];
|
|
src = ./.;
|
|
|
|
ESP_HOME = esp.esp-open-sdk;
|
|
SMING_RELEASE = "1";
|
|
|
|
buildPhase = ''
|
|
cp -r ${esp.sming} $NIX_BUILD_TOP/Sming
|
|
chmod +w -R $NIX_BUILD_TOP/Sming
|
|
export SMING_HOME=$(readlink -f $NIX_BUILD_TOP/Sming/Sming)
|
|
|
|
cd base-firmware
|
|
echo "const char * BUILD_ID=\"$out\";" > app/ver.c
|
|
make
|
|
'';
|
|
|
|
buildInputs = [ pkgs.python3 ];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp -r out/Esp8266/release/firmware $out/firmware
|
|
mkdir -p $out/bin/
|
|
ln -s ${esp.flash}/bin/flash $out/bin/flash
|
|
#make flash V=1
|
|
'';
|
|
}
|