Compare commits

...
Sign in to create a new pull request.

1 commit

Author SHA1 Message Date
a1aeb05458 WIP esp toolchain 2019-02-06 20:40:01 +01:00
5 changed files with 2100 additions and 0 deletions

View file

View file

@ -0,0 +1,11 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation rec {
name = "arduino-esp8266";
version = "2.2.0";
src = pkgs.fetchzip {
url = "https://github.com/esp8266/Arduino/releases/download/2.2.0/esp8266-2.2.0.zip";
sha256 = "1xjqfwwddc3dk34rnyp5kw5knbihzf8m9rl3ir4aymkfvfnrlbff";
};
}

View file

@ -1,6 +1,9 @@
{ pkgs ? import <nixpkgs> {} }:
{
arduino-esp8266 = pkgs.callPackage ./arduino-esp8266/default.nix {};
esp8266-quick-toolchain = pkgs.callPackage ./esp8266-quick-toolchain/default.nix {};
genCreateBorgBackup = (import ./genCreateBorgBackup/default.nix) pkgs;
micropython = pkgs.callPackage ./micropython/default.nix {};
wildfly = pkgs.callPackage ./wildfly/default.nix {};

View file

@ -0,0 +1,110 @@
{ pkgs ? import <nixpkgs> {},
mkDerivation ? pkgs.stdenv.mkDerivation }:
let
fhs = pkgs.buildFHSUserEnv {
name = "esp8266-toolchain-env";
targetPkgs = pkgs: with pkgs; [ zlib ];
runScript = "";
};
wrapBin = ''
cp -r . $out
for FILE in $(ls $out/bin); do
FILE_PATH="$out/bin/$FILE"
if [[ -x $FILE_PATH ]]; then
mv $FILE_PATH $FILE_PATH-unwrapped
wrapProgram ${fhs}/bin/esp8266-toolchain-env $FILE_PATH --add-flags "$FILE_PATH-unwrapped"
fi
done
'';
downloads = {
"x86_64-pc-linux-gnu" = {
"xtensa-lx106-elf-gcc" = {
version = "2.5.0-3-20ed2b9";
url = "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/2.5.0-3/x86_64-linux-gnu.xtensa-lx106-elf-20ed2b9c.tar.gz";
sha256 = "1x0yfzkn2mfakjv4hw5c6381jyll7cr313wlyf9dg5bwjsjsglyf";
};
esptool = {
version = "2.5.0-3-20ed2b9";
url = "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/2.5.0-3/x86_64-linux-gnu.esptool-f80ae31.tar.gz";
sha256 = "09ayamcnyz5gm4ghvd1bj9f155wgz4n3fcsf1i68vrywy4g89zd4";
};
mkspiffs = {
version = "2.5.0-3-20ed2b9";
url = "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/2.5.0-3/x86_64-linux-gnu.mkspiffs-7fefeac.tar.gz";
sha256 = "0hb5c4v60y5bd3pj23xz1dwsxi5qs4k43zw8f10mwdxrxmhc1wfg";
};
};
};
in rec {
xtensa-lx106-elf-gcc = pkgs.stdenv.mkDerivation rec {
name = "xtensa-lx106-elf-gcc-${version}";
version = downloads."x86_64-pc-linux-gnu"."xtensa-lx106-elf-gcc".version;
src = pkgs.fetchzip {
url = downloads."x86_64-pc-linux-gnu"."xtensa-lx106-elf-gcc".url;
sha256 = downloads."x86_64-pc-linux-gnu"."xtensa-lx106-elf-gcc".sha256;
};
buildInputs = [
pkgs.makeWrapper
];
installPhase = wrapBin;
};
esptool = pkgs.stdenv.mkDerivation rec {
name = "esptool-${version}";
version = downloads."x86_64-pc-linux-gnu".esptool.version;
src = pkgs.fetchzip {
url = downloads."x86_64-pc-linux-gnu".esptool.url;
sha256 = downloads."x86_64-pc-linux-gnu".esptool.sha256;
};
buildInputs = [
pkgs.makeWrapper
];
installPhase = wrapBin;
};
mkspiffs = pkgs.stdenv.mkDerivation rec {
name = "mkspiffs-${version}";
version = downloads."x86_64-pc-linux-gnu".mkspiffs.version;
src = pkgs.fetchzip {
url = downloads."x86_64-pc-linux-gnu".mkspiffs.url;
sha256 = downloads."x86_64-pc-linux-gnu".mkspiffs.sha256;
};
buildInputs = [
pkgs.makeWrapper
];
installPhase = wrapBin;
};
esp8266-quick-toolchain = pkgs.stdenv.mkDerivation rec {
name = "esp-quick-toolchain-${version}";
version = "2.5.0-3";
src = pkgs.fetchzip {
url = "https://github.com/esp8266/Arduino/releases/download/2.2.0/esp8266-2.2.0.zip";
sha256 = "1xjqfwwddc3dk34rnyp5kw5knbihzf8m9rl3ir4aymkfvfnrlbff";
};
buildInputs = [
esptool
mkspiffs
xtensa-lx106-elf-gcc
pkgs.makeWrapper
];
installPhase = ''
cp -r . $out
for FILE in $(ls $out/bin); do
FILE_PATH="$out/bin/$FILE"
if [[ -x $FILE_PATH ]]; then
mv $FILE_PATH $FILE_PATH-unwrapped
wrapProgram ${fhs}/bin/esp8266-toolchain-env $FILE_PATH --add-flags "$FILE_PATH-unwrapped"
fi
done
'';
};
}.esp8266-quick-toolchain

File diff suppressed because it is too large Load diff