Skip to content
Snippets Groups Projects
Commit 8d34fcaf authored by test_nonet's avatar test_nonet
Browse files

start adding crosstool-ng for ESP32 compiler

parents
No related branches found
No related tags found
No related merge requests found
diff --git a/scripts/functions b/scripts/functions
index 17384476..168f8101 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -720,6 +720,12 @@ CT_DoGetFile()
T="${CT_CONNECT_TIMEOUT}"
fi
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoGetFile: ${url} -> ${dest}" >>"$out"
+ touch "${dest}"
+ return 0
+ fi
+
CT_DoLog DEBUG "Trying '${url}'"
if [ "${CT_DOWNLOAD_AGENT_WGET}" = "y" ]; then
if CT_DoExecLog ALL wget ${CT_DOWNLOAD_WGET_OPTIONS} \
@@ -782,6 +788,12 @@ CT_DoVerifyDigest()
CT_DoLog WARN "Not verifying '${file}': digest missing"
return 0
fi
+
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoVerifyDigest: ${alg}, ${pkgdir}/chksum, ${file}" >>"$out"
+ return 0
+ fi
+
CT_DoLog EXTRA "Verifying ${alg^^} checksum for '${file}'"
chksum=`"${alg}sum" "${path}"`
chksum="${chksum%%[[:space:]]*}"
@@ -846,6 +858,11 @@ CT_DoVerifySignature()
local sigfile
local cat
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "DoVerifySignature: ${path}, ${url}, ${format}" >>"$out"
+ return 0
+ fi
+
CT_DoLog EXTRA "Verifying detached signature for '${file}'"
case "${method}" in
packed)
@@ -1970,7 +1987,12 @@ CT_DoFetch()
# this would override empty (default) values with "default branch name" and
# "most current revision", respectively.
- CT_GetVersion_${devel_vcs}
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "CT_GetVersion_${devel_vcs}: url=${devel_url}, branch=${devel_branch}, revision=${devel_revision}" >>"$out"
+ unique_id=fake
+ else
+ CT_GetVersion_${devel_vcs}
+ fi
if [ -z "${unique_id}" ]; then
CT_Abort "${pkg_name}: ${devel_vcs} did not set unique ID for branch/revision"
fi
@@ -1994,7 +2016,11 @@ CT_DoFetch()
CT_DoLog EXTRA "Retrieving '${basename}' (${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision})"
CT_MktempDir tmp_dir
CT_Pushd "${tmp_dir}"
- CT_Download_${devel_vcs}
+ if [ "${CT_COLLECT_SOURCES_FOR_NIXOS}" = "y" ]; then
+ echo "CT_Download_${devel_vcs}: ${devel_vcs} ${devel_url} ${devel_branch} ${devel_revision}" >>"$out"
+ else
+ CT_Download_${devel_vcs}
+ fi
# First setting above may not have determined the version (e.g. with Mercurial)
# Set the final, downloaded version.
# https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-setup-scratch.html
{ stdenv, fetchFromGitHub, ncurses, bison, flex, unzip, help2man, libtool, autoconf, automake, which, texinfo, file }:
let
version = "2020r3";
in stdenv.mkDerivation {
pname = "espressif-esp32-gcc";
inherit version;
srcs = [
(fetchFromGitHub {
owner = "espressif";
repo = "crosstool-NG";
rev = "esp-${version}";
sha256 = "sha256-KXibljETsZFCZOuwJPcEvWMBWZ11rYoGYlS7P5m8ojA=";
})
(fetchFromGitHub {
owner = "espressif";
repo = "xtensa-overlays";
rev = "4d8c98dcf2996ac55adba9f84fb00e1b9105ea54";
sha256 = "sha256-QKCB3yEkT1DBMBnK3lilJ0LacoqNMlgz8X+5XpEA6Zs=";
})
];
buildInputs = [ ncurses ];
nativeBuildInputs = [ autoconf automake bison flex unzip help2man libtool which texinfo file ];
patches = [ ./crosstool-ng--list-sources.patch ];
convertScript = ./sources-to-nix-syntax.sh;
unpackPhase = ''
runHook preUnpack
srcs=($srcs)
cp -r ''${srcs[0]} source
cd source
chmod u+w .
rmdir overlays
cp -rT ''${srcs[1]} overlays
chmod -R u+w .
runHook postUnpack
'';
preConfigure = ''
bash ./bootstrap
configureFlags+=(--enable-local)
'';
compile = ''
make
./ct-ng xtensa-esp32-elf
( unset CC CXX; CT_COLLECT_SOURCES_FOR_NIXOS=y out=$PWD/sources ./ct-ng source )
$convertScript sources >$out
'';
installPhase = "";
#FIXME
}
{ system ? builtins.currentSystem, pkgs ? import <nixpkgs> { inherit system; } }:
pkgs.callPackage ./default.nix { }
#!/usr/bin/env bash
cat $1
echo TODO
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment