Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to esp-idf 5.3 #60

Merged
merged 11 commits into from
Aug 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions overlay.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ rec {

esp-idf-esp32 = esp-idf-full.override {
toolsToInclude = [
"xtensa-esp32-elf"
"xtensa-esp-elf"
"esp32ulp-elf"
"openocd-esp32"
"xtensa-esp-elf-gdb"
Expand All @@ -23,7 +23,7 @@ rec {

esp-idf-esp32s2 = esp-idf-full.override {
toolsToInclude = [
"xtensa-esp32s2-elf"
"xtensa-esp-elf"
"esp32ulp-elf"
"openocd-esp32"
"xtensa-esp-elf-gdb"
Expand All @@ -32,7 +32,7 @@ rec {

esp-idf-esp32s3 = esp-idf-full.override {
toolsToInclude = [
"xtensa-esp32s3-elf"
"xtensa-esp-elf"
"esp32ulp-elf"
"openocd-esp32"
"xtensa-esp-elf-gdb"
Expand Down
18 changes: 8 additions & 10 deletions pkgs/esp-idf/default.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
{ rev ? "v5.1.3"
, sha256 ? "sha256-0QsIFOcSx1N15t5po3TyOaNvpzBUfKaFdsRODOBoXCI="
{ rev ? "v5.3"
, sha256 ? "sha256-w+xyva4t21STVtfYZOXY2xw6sDc2XvJXBZSx+wd1N6Y="
, toolsToInclude ? [
"xtensa-esp-elf-gdb"
"riscv32-esp-elf-gdb"
"xtensa-esp32-elf"
"xtensa-esp32s2-elf"
"xtensa-esp32s3-elf"
"xtensa-esp-elf"
"esp-clang"
"riscv32-esp-elf"
"esp32ulp-elf"
Expand Down Expand Up @@ -71,8 +69,10 @@ let
esptool
esp-idf-kconfig
esp-idf-monitor
esp-idf-nvs-partition-gen
esp-idf-size
esp-idf-panic-decoder
pyclang

freertos_gdb

Expand All @@ -91,10 +91,6 @@ stdenv.mkDerivation rec {

nativeBuildInputs = [ makeWrapper ];

# Do not preserve file modes when copying templates as the nix store is read-only.
# create-project will fail without this.
patches = [ ./template-modes.patch ];

propagatedBuildInputs = [
# This is in propagatedBuildInputs so that downstream derivations will run
# the Python setup hook and get PYTHONPATH set up correctly.
Expand Down Expand Up @@ -136,5 +132,7 @@ stdenv.mkDerivation rec {
# directory to PYTHONPATH.
ln -s ${customPython} $out/python-env
ln -s ${customPython}/lib $out/lib
'';

echo "5.3-joakim" > $out/version.txt
'';
}
139 changes: 101 additions & 38 deletions pkgs/esp-idf/python-packages.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Versions based on
# https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.1.txt
# on 2023-07-05.
# https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.2.txt
# on 2024-02-20.

{ stdenv
, lib
Expand All @@ -14,30 +14,33 @@ with pythonPackages;
rec {
idf-component-manager = buildPythonPackage rec {
pname = "idf-component-manager";
version = "1.3.2";
version = "2.0.2";
pyproject = true;

src = fetchFromGitHub {
owner = "espressif";
repo = pname;
rev = "v${version}";
sha256 = "sha256-rHZHlvRKMZvvjf3S+nU2lCDXt0Ll4Ek04rdhtfIQ1R0=";
src = fetchPypi {
inherit version;
pname = "idf_component_manager";
sha256 = "sha256-aPpejbLkbm7oExy0QuC6ZqGYBK4OpYWM0zQnnfkhcsU=";
};

# For some reason, this 404s.
/*
src = fetchPypi {
inherit pname version;
sha256 = "sha256-12ozmQ4Eb5zL4rtNHSFjEynfObUkYlid1PgMDVmRkwY=";
};
*/

build-system = [
setuptools
];
doCheck = false;

propagatedBuildInputs = [
cachecontrol
cffi
click
colorama
jsonref

pydantic
pydantic-core
pydantic-core
pydantic-settings
pyparsing

packaging
pyyaml
requests
Expand All @@ -46,29 +49,28 @@ rec {
schema
six
tqdm
typing-extensions
] ++ cachecontrol.optional-dependencies.filecache;

# setup.py says it needs these deps, but it actually doesn't. contextlib2
# isn't supported on some pythons and urllib3 is pinned to an old version
postPatch = ''
sed -i '/contextlib2/d' setup.py
sed -i '/urllib3/d' setup.py
'';

meta = {
homepage = "https://github.com/espressif/idf-component-manager";
};
};

esp-coredump = buildPythonPackage rec {
pname = "esp-coredump";
version = "1.5.2";
version = "1.11.0";
pyproject = true;

src = fetchPypi {
inherit pname version;
sha256 = "sha256-hQkXnGoAXCLk/PV7Y+C0hOgXGRY77zbIp2ZDC0cxfLo=";
sha256 = "sha256-xCt9TsTWklD0GcHfI9gHQiVhADZFjmiPQaleE5HdBNc=";
};

build-system = [
setuptools
];

doCheck = false;

propagatedBuildInputs = [
Expand All @@ -84,11 +86,11 @@ rec {

esptool = buildPythonPackage rec {
pname = "esptool";
version = "4.6.2";
version = "4.7.0";

src = fetchPypi {
inherit pname version;
sha256 = "sha256-VJ75Pu9C7n6UYs5aU8Ft96DHHZGz934Z7BV0mATN8wA=";
sha256 = "sha256-AUVOaeHvNgEhXbg/8ssfx57OZ9JLDl1D1FG0EER8SJM=";
};

doCheck = false;
Expand All @@ -109,17 +111,28 @@ rec {

esp-idf-kconfig = buildPythonPackage rec {
pname = "esp-idf-kconfig";
version = "1.1.0";
version = "2.3.0";
pyproject = true;

build-system = [
setuptools
];

src = fetchPypi {
inherit pname version;
sha256 = "sha256-s8ZXt6cf5w2pZSxQNIs/SODAUvHNgxyQ+onaCa7UbFA=";
inherit version;
pname = "esp_idf_kconfig";
sha256 = "sha256-n+8QM5xe+c8UFl8dTndRTBd4QW7nG1NWiYiEdll06wg=";
};

doCheck = false;

propagatedBuildInputs = [
kconfiglib

# These packages aren't declared as dependencies but will fail idf.py's
# intial depenency check.
intelhex
rich
];

meta = {
Expand All @@ -129,19 +142,25 @@ rec {

esp-idf-monitor = buildPythonPackage rec {
pname = "esp-idf-monitor";
version = "1.1.1";
version = "1.4.0";
pyproject = true;

src = fetchPypi {
inherit pname version;
sha256 = "sha256-c62X3ZHRShhbAFmuPc/d2keqE9T9SXYIlJTyn32LPaE=";
sha256 = "sha256-CaX/eA16f4LBU6nUwrIrnlRw2s7CGezOlrHD3dpP8ok=";
};

build-system = [
setuptools
];

doCheck = false;

propagatedBuildInputs = [
pyserial
esp-coredump
pyelftools
esp-idf-panic-decoder
];

meta = {
Expand All @@ -151,11 +170,11 @@ rec {

esp-idf-size = buildPythonPackage rec {
pname = "esp-idf-size";
version = "0.3.1";
version = "1.5.0";

src = fetchPypi {
inherit pname version;
sha256 = "sha256-OzthhzKGjyqDJrmJWs4LMkHz0rAwho+3Pyc2BYFK0EU=";
sha256 = "sha256-2Xr8nZl6Td/fRz3BjxVy+zTWE5VQDxFiGLuYTq2fZXs=";
};

doCheck = false;
Expand All @@ -168,14 +187,56 @@ rec {
homepage = "https://github.com/espressif/esp-idf-size";
};
};

esp-idf-nvs-partition-gen = buildPythonPackage rec {
pname = "esp-idf-nvs-partition-gen";
version = "0.1.2";
pyproject = true;

src = fetchPypi {
inherit version;
pname = "esp_idf_nvs_partition_gen";
hash = "sha256-HjW5RCKfy83LQgAs0tOW/f9LPVoLwHY1pyb6ar+AxwY=";
};

build-system = [
setuptools
];

dependencies = [
cryptography
];

pythonImportsCheck = [ "esp_idf_nvs_partition_gen" ];

meta = {
homepage = "https://pypi.org/project/esp-idf-nvs-partition-gen/";
};
};

pyclang = buildPythonPackage rec {
pname = "pyclang";
version = "0.4.2";

src = fetchPypi {
inherit pname version;
sha256 = "sha256-vuDZ5yEhyDpCmkXoC+Gr2X5vMK5B46HnktcvBONjxXM=";
};

doCheck = false;

meta = {
homepage = "https://pypi.org/project/pyclang/";
};
};

freertos_gdb = buildPythonPackage rec {
pname = "freertos-gdb";
version = "1.0.2";
version = "1.0.3";

src = fetchPypi {
inherit pname version;
sha256 = "sha256-o0ZoTy7OLVnrhSepya+MwaILgJSojs2hfmI86D9C3cs=";
sha256 = "sha256-5rkB01OdbD5Z4vA6dbqhWp5pGwqI1IlE4IE1dSdT1QE=";
};

doCheck = false;
Expand All @@ -190,25 +251,27 @@ rec {

esp-idf-panic-decoder = buildPythonPackage rec {
pname = "esp-idf-panic-decoder";
version = "0.2.0";
version = "1.1.0";

format = "pyproject";

src = fetchPypi {
inherit version;
pname = "esp_idf_panic_decoder";
sha256 = "sha256-t1pg+L7WWVoVZ7weE/CUdMJsgRQvLEUE/GVeJpt0kKI=";
sha256 = "sha256-PR8M7VkxAW08QBU8XvE9FwNwejxmXm9GfdrtgMDCmOw=";
};

doCheck = false;

propagatedBuildInputs = [
pyelftools
setuptools
];

meta = {
homepage = "https://github.com/espressif/esp-idf-panic-decoder";
};
};

}

22 changes: 0 additions & 22 deletions pkgs/esp-idf/template-modes.patch

This file was deleted.

Loading