dev-embedded/esp-idf: add 6.0.3

Signed-off-by: David Roman <stkw0@disroot.org>
This commit is contained in:
David Roman committed 2026-09-08 16:32:49 +02:00
1 parent 4aad7bceb6
commit aa6654c786
2 files changed
+201

No files matched your search

+2
View File
@@ -3,9 +3,11 @@ DIST esp-idf-5.5.4.zip 1829210055 BLAKE2B 607effb487d67a614d5bfe9e49912362668e9d
DIST esp-idf-5.5.5.zip 1998138049 BLAKE2B 4a625776e0725a7295cc29728fb794d91d846e0c6f3a49d04148d462d5975a127dcea2b838ffc5e778b581a277b4bfdbd45a3236f85d8a10f8f7fef16dfda21d SHA512 a1d5d337ee633d1e144777a777bfb761673d177e7a54e9e4fabfb29995657015a53de3e872702d212809fc39d45f2c29b1ea854e9719719caa86bd7304c33aad
DIST esp-idf-6.0.1.zip 1825997344 BLAKE2B c318ec28f06b7bea6ff6496c674817eef714e1762a75765b412d8f1a7663574cd598ac9ad2786062b8b3e1bf5959c70c8fca398a219cb5b202689686542b1aba SHA512 c0813fa92adfbe5c664e6d121564b7d8e590ae32d9dfe0551bed7237fca38b0318c521e85e82321d5dcb067b48455d22b8c0142629488b243b8829149365d132
DIST esp-idf-6.0.2.zip 1914371137 BLAKE2B fa7730d37d6b031cb05aac1e929f1a73c664ccb79d4a3e4872948315fae7d8163591e5778f3420174c9d2a9fcd0763968ec636c84b36dc4f2e422b1bd32842c5 SHA512 32448eb20da60d6f594a5529e84a19c15e17d581357b2de505d4aecdb557c4d985488f56c6458098913f887fbf56551c19bec87d8d6e1833dc5c1b14f8ad844b
DIST esp-idf-6.0.3.zip 1997167870 BLAKE2B 4ea4d96e6d7e460f489d51abb99a540b638c8a01b125af17169d170f1d7d6df5e093c508254036a8910eb9c5b8b372f8dac9ffc92c514c464f984c0e84a7b8b3 SHA512 75feb0f7bd14528a940a4d511c65aa3cc04036383e87981b1a407409c0373650d2e8f9680967c3ef4b0db65491a6c2b58627612052ada24b277f0e1e41a51705
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20251215.tar.gz 2547606 BLAKE2B c7f875f2b63f0dff29239a4623b06f96760773a7686fa6a9aa0074fd4b10dff6621e09838402a62222cf282a120399fbe7b6cbc4fb70a7c0f4d96c85e02c3e46 SHA512 a6e52a5b35cf053f45d917dbcea87087cad42cdb09381c082c20fac43f65ae341949223f55289bc6c084db61d4a963a8277e030202db4495578801ea7e83b281
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260304.tar.gz 2603774 BLAKE2B 8621a8c888623c6c5d8414fea4fd4ec4730a19dbad0f75f2f9dbdfec5a56f8e69ed7d60553034dce9b2b85d9427d626e80816281ca55cd9d21f4458c0fca35ee SHA512 516973e361af37a82cff42114603d51581fc41cecf5cfdaf0ead87cccf19f723b94865c8472de11b33ff747fa563a67d72fc801229bc29180b2d74f061ffea60
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260424.tar.gz 2630575 BLAKE2B 362bb939ecfa6a312ac49e6dcdf8d344c1607a96f1af4763026cd562f2a4eb71b392b7b85f3e68d2aff73b1ddeecb6fc6501ec947b0752636f6acd3bc9d5e127 SHA512 d3bac9561b5c9495682d500fad6d756207d0bbdb9bef2031340d4e499756910bd87cf75c15b8e1806f969a518d0ee56391ad7b3495a3febd51e38253ef3688ae
DIST openocd-esp32-linux-amd64-0.12.0-esp32-20260703.tar.gz 2700256 BLAKE2B 090e0a5ab0c3742413d49df30ec8527d3c2fdaaa39b128692a021bde2169775cc2426e806da8e2a452223d0f28fff92e3d347f372745bd3d89a07ee31b8605c3 SHA512 8ca529d2e9a118c14e1d8b35686ea1ecec0a02dfda0f796f8758dea3d7a27df3fc0ac66581f3d312a0e347309e1df5811242bc687a0a1bd5452f0c1f44a733a8
DIST riscv32-esp-elf-14.2.0_20260121-x86_64-linux-gnu.tar.xz 292412032 BLAKE2B 8ad34f39932b41806c5c7d6b65b0aad3f454509ea881a24af6a4e01bd76a09041f9f1ab87205ba60b4b93982f32545d4ff71e66368fc37523840bc8c80943bf8 SHA512 f64cb726b9d11ca8dde1a8362ac448fcf0eefb0348cca8f10642671fed2a76ec3da2ef09c5d0738aecca2d45aa40ee8ee3d4fa8cd7538c83067ba09dd392a9ac
DIST riscv32-esp-elf-15.2.0_20251204-x86_64-linux-gnu.tar.xz 393927372 BLAKE2B b4844981283489a18a7ae2c1453fce520a534ed2e6178a52c33ff06330eb2ac4f13c6d0449cd500aa459647d572e747ea455c73eb95efa1f371718afe7d1ef16 SHA512 b66569cffcaee5b23cab8ba19a711fc6dbbcbbda391e3dc71d5d2e26ae8991a2f333a2f00aecfddc76fe5062df20efc70e8c64c0927af5c817e96b7dd641b881
DIST riscv32-esp-elf-gdb-16.3_20250913-x86_64-linux-gnu.tar.gz 36557187 BLAKE2B 3a51c074b72fe5630d10faee8c2369ef3089107a866f31de40bf31da291dd1c14077bda79de350130853fa9dfbd85a519e33229014d06868364245815c723f4c SHA512 b813bbe14d602f39d663941f990c5e6e7e59cc5ee60949003ee818d47e4962028fe43f3d1eb1f52fba7176db0d7b2a5af5eb96b12857f4b6f88c4a102ed43597
+199
View File
@@ -0,0 +1,199 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# TODO: add esp-doc package in order to build documentation
# TODO: add examples USE
# TODO: fix to python-single which should help to fix python-gdb dep
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
PYTHON_GDB_USE=( python_targets_python3_{12..14} )
VER="15.2.0_20251204"
GDB_VER="17.1_20260402"
OPENOCD_VER="0.12.0-esp32-20260703"
CROSSTOOL_URL="https://github.com/espressif/crosstool-NG/releases/download/esp-${VER}"
inherit estack optfeature python-r1
DESCRIPTION="Espressif IoT Development Framework"
HOMEPAGE="https://www.espressif.com/"
# See https://dl.espressif.com/dl/esp-idf/espidf.constraints.v5.4.txt for information about version dependencies
SRC_URI="https://dl.espressif.com/github_assets/espressif/${PN}/releases/download/v${PV}/${PN}-v${PV}.zip -> ${P}.zip
https://github.com/espressif/openocd-esp32/releases/download/v${OPENOCD_VER}/openocd-esp32-linux-amd64-${OPENOCD_VER}.tar.gz
https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/xtensa-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
${CROSSTOOL_URL}/xtensa-esp-elf-${VER}-x86_64-linux-gnu.tar.xz"
SRC_URI+=" riscv32? (
${CROSSTOOL_URL}/riscv32-esp-elf-${VER}-x86_64-linux-gnu.tar.xz
https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v${GDB_VER}/riscv32-esp-elf-gdb-${GDB_VER}-x86_64-linux-gnu.tar.gz
)"
S="${WORKDIR}/${PN}-v${PV}"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1-2)"
KEYWORDS="~amd64"
IUSE="python-gdb riscv32"
REQUIRED_USE="
python-gdb? ( || ( ${PYTHON_GDB_USE[@]} ) )
${PYTHON_REQUIRED_USE}
"
BDEPEND="app-arch/unzip"
RDEPEND="
${PYTHON_DEPS}
dev-build/cmake
dev-libs/libusb:1
dev-python/click[${PYTHON_USEDEP}]
dev-python/pyserial[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/pyparsing[${PYTHON_USEDEP}]
dev-python/pyelftools[${PYTHON_USEDEP}]
dev-embedded/esp-coredump[${PYTHON_USEDEP}]
dev-embedded/esptool
dev-embedded/esp-idf-diag[${PYTHON_USEDEP}]
<dev-embedded/esp-idf-kconfig-4.0.0[${PYTHON_USEDEP}]
<dev-embedded/esp-idf-monitor-2.0.0[${PYTHON_USEDEP}]
dev-embedded/esp-idf-nvs-partition-gen[${PYTHON_USEDEP}]
dev-embedded/esp-idf-panic-decoder[${PYTHON_USEDEP}]
<dev-embedded/esp-idf-size-3.0.0[${PYTHON_USEDEP}]
dev-embedded/freertos-gdb[${PYTHON_USEDEP}]
dev-embedded/idf-component-manager[${PYTHON_USEDEP}]
virtual/zlib:=
"
RESTRICT="strip"
QA_PREBUILT="opt/* usr/lib* usr/share/esp-idf/*"
PATCHES=(
"${FILESDIR}/allow-system-install-${PN}-5.3.patch"
)
install_tool() {
eshopts_push -s globstar
into /opt/${1}
if [[ -d "../${1}/lib" ]]; then
if stat *.so &>/dev/null; then
for i in ../${1}/lib/**/*.so*; do
dolib.so ${i}
done
fi
if stat *.a &>/dev/null; then
for i in ../${1}/lib/**/*.a*; do
dolib.a ${i}
done
fi
insinto /opt/${1}/lib
doins -r ../${1}/lib/*
fi
(
cd ../${1}
for i in libexec/**/*; do
exeinto /opt/${1}/$(dirname ${i})
if [[ -x "${i}" && ! -d "${i}" ]]; then
doexe ${i}
fi
done
if [[ -d "include" ]]; then
insinto /opt/${1}
doins -r include
fi
if [[ -d "share" ]]; then
insinto /opt/${1}
doins -r share
fi
)
if [[ -d "../${1}/bin" ]]; then
exeinto /opt/${1}/bin
doexe ../${1}/bin/*
(
cd "${D}"/opt/${1}/bin/ || die
for i in *; do
dodir /opt/bin
cd "${D}"/opt/bin || die
dosym ../${1}/bin/${i} /opt/bin/${i}
done
)
fi
eshopts_pop
}
src_install() {
echo "v${PV}" > version.txt || die
newbin - idf <<-EOF
#!/bin/sh
# Silence a warning by idf.py
export IDF_PYTHON_ENV_PATH=
exec python /usr/share/${PN}/tools/idf.py \$@
EOF
install_tool xtensa-esp-elf
install_tool xtensa-esp-elf/xtensa-esp-elf
install_tool xtensa-esp-elf/picolibc
install_tool xtensa-esp-elf/picolibc/xtensa-esp-elf
if use riscv32; then
install_tool riscv32-esp-elf
install_tool riscv32-esp-elf/riscv32-esp-elf
install_tool riscv32-esp-elf/picolibc
install_tool riscv32-esp-elf/picolibcriscv32-esp-elf
fi
install_tool openocd-esp32
# Remove unsupported python versions
rm "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3.{8..11} || die
if use riscv32; then
rm "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3.{8..11} || die
fi
# Remove disabled python versions
for i in "${PYTHON_GDB_USE[@]}"; do
if ! has "${i}" "${PYTHON_COMPAT[@]}"; then
rm -f "${WORKDIR}"/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-3."${i##*_}" || die
if use riscv32; then
rm -f "${WORKDIR}"/riscv32-esp-elf-gdb/bin/riscv32-esp-elf-gdb-3."${i##*_}" || die
fi
fi
done
install_tool xtensa-esp-elf-gdb
if use riscv32; then
install_tool riscv32-esp-elf-gdb
fi
newenvd - 99esp-idf <<-EOF
IDF_PATH=/usr/share/${PN}
ESP_IDF_VERSION=${PV}
ESP_ROM_ELF_DIR=/usr/share/${PN}/tools
OPENOCD_SCRIPTS=/opt/openocd-esp32/share/openocd/scripts
EOF
insinto /usr/share/${PN}
rm -r .git || die
find . -name ".git" -exec rm -rf {} \; || die
doins -r .
}
pkg_postinst() {
optfeature "gdbgui target" dev-debug/gdbgui
}