Install this version:
emerge -a =dev-embedded/stm32cubeide-2.2.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-embedded/stm32cubeide-2.2.0
Or alternatively:
emerge --autounmask-write -a =dev-embedded/stm32cubeide-2.2.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 2.2.0 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit udev wrapper xdg
MY_BUILD="29186_20260626_0934"
MY_SH="stm32cubeide_${PV}_${MY_BUILD}-Lin-Deb-x86_64.sh"
DESCRIPTION="Integrated development environment for STM32 microcontrollers"
HOMEPAGE="https://www.st.com/en/development-tools/stm32cubeide.html"
SRC_URI="stm32cubeide_${PV}-Lin-Deb-x86_64.sh.zip"
S="${WORKDIR}"
LICENSE="SLA0048 jlink? ( SEGGER )"
SLOT="0"
KEYWORDS="~amd64"
IUSE="+stlink-server +udev jlink"
BDEPEND="
app-arch/unzip
sys-devel/binutils
"
RDEPEND="
app-accessibility/at-spi2-core
app-shells/bash
dev-libs/glib:2
gui-libs/gtk:4
media-libs/freetype
net-libs/webkit-gtk:4.1
virtual/opengl
x11-libs/cairo
x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libXext
x11-libs/libXi
x11-libs/libXrender
x11-libs/libXtst
jlink? ( !dev-embedded/jlink )
stlink-server? ( virtual/libusb:1 )
udev? ( virtual/udev )
"
RESTRICT="fetch mirror bindist strip"
QA_PREBUILT="*"
unpack_deb() {
local deb="${1}" dest="${2}" work="${WORKDIR}"/deb-$(basename "${deb}" .deb)
local member
mkdir -p "${work}" "${dest}" || die
pushd "${work}" > /dev/null || die
ar x "${deb}" || die "failed to extract ${deb}"
for member in data.tar.*; do
tar -xf "${member}" --no-same-owner -C "${dest}" \
|| die "failed to unpack ${member}"
done
popd > /dev/null || die
}
src_unpack() {
unpack "${A}"
sh "${WORKDIR}"/${MY_SH} --noexec --keep --nox11 --quiet \
--target "${WORKDIR}"/payload || die "failed to extract ${MY_SH}"
}
src_install() {
local deb stage="${WORKDIR}"/stage
for deb in "${WORKDIR}"/payload/stm32cubeide-*.deb; do
unpack_deb "${deb}" "${ED}"
done
# the IDE expects stlink-server to be present, mirroring the deb dependencies
for deb in "${WORKDIR}"/payload/st-stlink-udev-rules-*.deb \
"${WORKDIR}"/payload/segger-jlink-udev-rules-*.deb \
"${WORKDIR}"/payload/st-stlink-server-*.deb; do
unpack_deb "${deb}" "${stage}"
done
if use udev; then
udev_dorules "${stage}"/etc/udev/rules.d/49-stlinkv*.rules
fi
if use jlink; then
udev_dorules "${stage}"/etc/udev/rules.d/99-jlink.rules
fi
if use stlink-server; then
exeinto /usr/bin
doexe "${stage}"/usr/bin/stlink-server
fi
make_wrapper ${PN} ./stm32cubeide_wayland /opt/st/stm32cubeide_${PV}
}
pkg_nofetch() {
einfo "Download ${SRC_URI} from ${HOMEPAGE}"
einfo "under Tools & Software (STM32CubeIDE, Debian Linux) and place it in DISTDIR."
einfo "ST requires a registration before the download is offered."
}
pkg_postinst() {
if use udev; then
udev_reload
fi
xdg_desktop_database_update
}
pkg_postrm() {
if use udev; then
udev_reload
fi
xdg_desktop_database_update
}
Manage flags for this package:
euse -i <flag> -p dev-embedded/stm32cubeide |
euse -E <flag> -p dev-embedded/stm32cubeide |
euse -D <flag> -p dev-embedded/stm32cubeide
app-accessibility/at-spi2-core app-shells/bash dev-libs/glib:2 gui-libs/gtk:4 media-libs/freetype net-libs/webkit-gtk:4.1 virtual/opengl x11-libs/cairo x11-libs/gtk+:3 x11-libs/libX11 x11-libs/libXext x11-libs/libXi x11-libs/libXrender x11-libs/libXtst jlink? ( !dev-embedded/jlink ) stlink-server? ( virtual/libusb:1 ) udev? ( virtual/udev )
app-arch/unzip sys-devel/binutils