mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
dev-embedded/platformio: add 6.1.19, drop 6.1.11
- drop unsupported 6.1.11 - remove package.mask for dev-embedded/platformio - Added patch for >=dev-python/marshmallow-4 - Added support for shell-completions - Reworked ignored tests to be more complete, all tests that do not require network access are now enabled. Closes: https://bugs.gentoo.org/969805 Closes: https://bugs.gentoo.org/944883 Closes: https://bugs.gentoo.org/952290 Closes: https://bugs.gentoo.org/955765 Closes: https://bugs.gentoo.org/968383 Signed-off-by: Bill Prendergast <dek.devel@baisenvar.info> Part-of: https://codeberg.org/gentoo/gentoo/pulls/93 Merges: https://codeberg.org/gentoo/gentoo/pulls/93 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
22a6dfd5fd
commit
f3eff6e418
@@ -1 +1 @@
|
||||
DIST platformio-6.1.11.gh.tar.gz 296333 BLAKE2B 17672b499eca9c828cd7c6ea6a4c8acea7287f42bb78d4fc5fbd11bb93175bb87d9c2d100270869bc99bc0db550b49c163555ddd8edb17b6b33ccc5f3623f768 SHA512 450e3d1dc3b9c8124b6254fbf0a05b207b834aa0661f083ee2915bde5064498b6d5af666ad851b737fa5627ed436db983e038f83ed0437a1e248749a0dcc99ba
|
||||
DIST platformio-6.1.19.gh.tar.gz 303716 BLAKE2B 3add65d4dd38efd64e152a97396ead9bc672b93b9933e91634e18a60318d7aa04defb9b95efdecf4454e407ba97f2fe1b24093e48fcb3380b4152d5f6b4cb7fa SHA512 0190401a92b2ce423ff451469ed0c31e27203e92417d08203878cc6a021dfcd014adea62d0f27c661b6a8eee7a0503a673c7b1e8e39d956173349d0ef323e731
|
||||
|
||||
23
dev-embedded/platformio/files/pio-6.1.19-marshmallow-4.patch
Normal file
23
dev-embedded/platformio/files/pio-6.1.19-marshmallow-4.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
in marshmallow-4+ @validates accepts multiple field names, and
|
||||
decorated@validates methods receive data_key as a keyword argument.
|
||||
|
||||
--- a/platformio/package/manifest/schema.py
|
||||
+++ b/platformio/package/manifest/schema.py
|
||||
@@ -232,7 +232,7 @@ class ManifestSchema(BaseSchema):
|
||||
)
|
||||
|
||||
@validates("version")
|
||||
- def validate_version(self, value):
|
||||
+ def validate_version(self, value, **kwargs):
|
||||
try:
|
||||
value = str(value)
|
||||
assert "." in value
|
||||
@@ -249,7 +249,7 @@ class ManifestSchema(BaseSchema):
|
||||
) from exc
|
||||
|
||||
@validates("license")
|
||||
- def validate_license(self, value):
|
||||
+ def validate_license(self, value, **kwargs):
|
||||
try:
|
||||
spdx = self.load_spdx_licenses()
|
||||
except requests.exceptions.RequestException as exc:
|
||||
@@ -1,117 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11..12} )
|
||||
|
||||
inherit distutils-r1 udev
|
||||
|
||||
DESCRIPTION="An open source ecosystem for IoT development"
|
||||
HOMEPAGE="https://platformio.org/"
|
||||
SRC_URI="https://github.com/platformio/platformio-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
S="${WORKDIR}"/${PN}-core-${PV}
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/aiofiles-22.1[${PYTHON_USEDEP}]
|
||||
dev-python/ajsonrpc[${PYTHON_USEDEP}]
|
||||
<dev-python/bottle-0.13[${PYTHON_USEDEP}]
|
||||
=dev-python/click-8*[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyserial-3[${PYTHON_USEDEP}]
|
||||
<dev-python/pyserial-4[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.37[${PYTHON_USEDEP}]
|
||||
=dev-python/requests-2*[${PYTHON_USEDEP}]
|
||||
>=dev-python/semantic-version-2.10[${PYTHON_USEDEP}]
|
||||
<dev-python/semantic-version-3[${PYTHON_USEDEP}]
|
||||
=dev-python/tabulate-0.9*[${PYTHON_USEDEP}]
|
||||
dev-python/twisted[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyelftools-0.30[${PYTHON_USEDEP}]
|
||||
<dev-python/pyelftools-1[${PYTHON_USEDEP}]
|
||||
=dev-python/marshmallow-3*[${PYTHON_USEDEP}]
|
||||
>=dev-python/starlette-0.21[${PYTHON_USEDEP}]
|
||||
>=dev-python/uvicorn-0.19[${PYTHON_USEDEP}]
|
||||
dev-python/wsproto[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/udev"
|
||||
DEPEND="virtual/udev"
|
||||
BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/jsondiff[${PYTHON_USEDEP}]') )"
|
||||
|
||||
# This list could be refined a bit to have individual tests which need network
|
||||
# (within EPYTEST_DESELECT) but so many need it that it doesn't seem worth it right now.
|
||||
EPYTEST_IGNORE=(
|
||||
# Requires network access
|
||||
tests/test_builder.py
|
||||
tests/package/test_manager.py
|
||||
tests/package/test_manifest.py
|
||||
tests/commands/test_platform.py
|
||||
tests/commands/test_test.py
|
||||
tests/commands/test_ci.py
|
||||
tests/commands/test_init.py
|
||||
tests/commands/test_lib.py
|
||||
tests/commands/test_lib_complex.py
|
||||
tests/commands/test_boards.py
|
||||
tests/commands/test_check.py
|
||||
tests/commands/test_run.py
|
||||
tests/commands/pkg/test_exec.py
|
||||
tests/commands/pkg/test_list.py
|
||||
tests/commands/pkg/test_outdated.py
|
||||
tests/commands/pkg/test_search.py
|
||||
tests/commands/pkg/test_show.py
|
||||
tests/commands/pkg/test_install.py
|
||||
tests/commands/pkg/test_uninstall.py
|
||||
tests/commands/pkg/test_update.py
|
||||
tests/misc/ino2cpp/test_ino2cpp.py
|
||||
tests/test_maintenance.py
|
||||
tests/test_misc.py
|
||||
)
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# Requires network access
|
||||
tests/misc/test_maintenance.py::test_check_pio_upgrade
|
||||
tests/misc/test_misc.py::test_ping_internet_ips
|
||||
tests/misc/test_misc.py::test_api_cache
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_prepare_all() {
|
||||
# Allow newer versions of:
|
||||
# - zeroconf, bug #831181.
|
||||
# - wsproto
|
||||
# - semantic_version, bug #853247
|
||||
# - starlette & uvicorn, bug #888427
|
||||
sed \
|
||||
-e '/zeroconf/s/<[0-9.*]*//' \
|
||||
-e '/wsproto/s/==.*/"/' \
|
||||
-e '/semantic_version/s/==[0-9.*]*//' \
|
||||
-e '/starlette/s/==.*/"/' \
|
||||
-e '/uvicorn/s/==.*/"/' \
|
||||
-i setup.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
epytest -k "not skip_ci"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
udev_dorules platformio/assets/system/99-platformio-udev.rules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
||||
154
dev-embedded/platformio/platformio-6.1.19.ebuild
Normal file
154
dev-embedded/platformio/platformio-6.1.19.ebuild
Normal file
@@ -0,0 +1,154 @@
|
||||
# Copyright 1999-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
inherit distutils-r1 shell-completion udev
|
||||
|
||||
DESCRIPTION="An open source ecosystem for IoT development"
|
||||
HOMEPAGE="https://platformio.org/"
|
||||
SRC_URI="https://github.com/platformio/platformio-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
|
||||
S="${WORKDIR}"/${PN}-core-${PV}
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
#TODO dev-python/requests[socks5] if proxy needed
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
=dev-python/ajsonrpc-1.2*[${PYTHON_USEDEP}]
|
||||
=dev-python/bottle-0.13*[${PYTHON_USEDEP}]
|
||||
>=dev-python/click-8.2[${PYTHON_USEDEP}]
|
||||
<dev-python/click-8.4[${PYTHON_USEDEP}]
|
||||
dev-python/colorama[${PYTHON_USEDEP}]
|
||||
=dev-python/pyserial-3.5*[${PYTHON_USEDEP}]
|
||||
>=dev-python/zeroconf-0.37[${PYTHON_USEDEP}]
|
||||
=dev-python/requests-2*[${PYTHON_USEDEP}]
|
||||
=dev-python/semantic-version-2.10*[${PYTHON_USEDEP}]
|
||||
=dev-python/tabulate-0*[${PYTHON_USEDEP}]
|
||||
dev-python/twisted[${PYTHON_USEDEP}]
|
||||
dev-python/constantly[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyelftools-0.30[${PYTHON_USEDEP}]
|
||||
<dev-python/pyelftools-1[${PYTHON_USEDEP}]
|
||||
=dev-python/marshmallow-4*[${PYTHON_USEDEP}]
|
||||
>=dev-python/starlette-0.21[${PYTHON_USEDEP}]
|
||||
<dev-python/starlette-0.60[${PYTHON_USEDEP}]
|
||||
>=dev-python/uvicorn-0.19[${PYTHON_USEDEP}]
|
||||
<dev-python/uvicorn-0.50[${PYTHON_USEDEP}]
|
||||
=dev-python/wsproto-1*[${PYTHON_USEDEP}]
|
||||
')
|
||||
virtual/udev"
|
||||
DEPEND="virtual/udev"
|
||||
BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/jsondiff[${PYTHON_USEDEP}]') )"
|
||||
|
||||
# This list has been refined to have the individual tests which need network access
|
||||
# to be disabled (or those that need a test email account).
|
||||
# this list will need careful monitoring during version bumps
|
||||
EPYTEST_IGNORE=(
|
||||
# Requires network access
|
||||
tests/commands/pkg/test_install.py
|
||||
tests/commands/pkg/test_list.py
|
||||
tests/commands/pkg/test_outdated.py
|
||||
tests/commands/pkg/test_search.py
|
||||
tests/commands/pkg/test_show.py
|
||||
tests/commands/pkg/test_uninstall.py
|
||||
tests/commands/pkg/test_update.py
|
||||
tests/commands/test_account_org_team.py
|
||||
tests/commands/test_boards.py
|
||||
tests/commands/test_check.py
|
||||
tests/commands/test_lib.py
|
||||
tests/commands/test_lib_complex.py
|
||||
tests/commands/test_platform.py
|
||||
tests/commands/test_run.py
|
||||
tests/commands/test_test.py
|
||||
tests/misc/ino2cpp/test_ino2cpp.py
|
||||
tests/misc/test_maintenance.py
|
||||
tests/project/test_metadata.py
|
||||
tests/test_examples.py
|
||||
)
|
||||
|
||||
EPYTEST_DESELECT=(
|
||||
# Requires network access
|
||||
tests/commands/pkg/test_exec.py::test_pkg_specified
|
||||
tests/commands/pkg/test_exec.py::test_unrecognized_options
|
||||
tests/commands/test_ci.py::test_ci_boards
|
||||
tests/commands/test_ci.py::test_ci_build_dir
|
||||
tests/commands/test_ci.py::test_ci_keep_build_dir
|
||||
tests/commands/test_ci.py::test_ci_keep_build_dir_nested_src_dirs
|
||||
tests/commands/test_ci.py::test_ci_keep_build_dir_single_src_dir
|
||||
tests/commands/test_ci.py::test_ci_lib_and_board
|
||||
tests/commands/test_ci.py::test_ci_project_conf
|
||||
tests/commands/test_init.py::test_init_custom_framework
|
||||
tests/commands/test_init.py::test_init_duplicated_boards
|
||||
tests/commands/test_init.py::test_init_enable_auto_uploading
|
||||
tests/commands/test_init.py::test_init_ide_eclipse
|
||||
tests/commands/test_init.py::test_init_ide_vscode
|
||||
tests/commands/test_init.py::test_init_incorrect_board
|
||||
tests/commands/test_init.py::test_init_special_board
|
||||
tests/misc/test_misc.py::test_api_cache
|
||||
tests/misc/test_misc.py::test_ping_internet_ips
|
||||
tests/package/test_manager.py::test_download
|
||||
tests/package/test_manager.py::test_install_force
|
||||
tests/package/test_manager.py::test_install_from_registry
|
||||
tests/package/test_manager.py::test_install_lib_depndencies
|
||||
tests/package/test_manager.py::test_registry
|
||||
tests/package/test_manager.py::test_uninstall
|
||||
tests/package/test_manager.py::test_update_with_metadata
|
||||
tests/package/test_manager.py::test_update_without_metadata
|
||||
tests/package/test_manifest.py::test_library_json_schema
|
||||
tests/package/test_manifest.py::test_platform_json_schema
|
||||
tests/project/test_config.py::test_win_core_root_dir
|
||||
)
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/pio-6.1.19-marshmallow-4.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
# Allow marshmallow-4*
|
||||
# Allow starlette-0.5*
|
||||
# Allow uvicorn-0.4*
|
||||
sed \
|
||||
-e '/marshmallow/s/3\.[0-9.*]*/4.*/' \
|
||||
-e '/starlette/s/<0\.5[0-9]*/<0.60/' \
|
||||
-e '/uvicorn/s/<0\.4[0-9]*/<0.50/' \
|
||||
-i platformio/dependencies.py || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
epytest -k "not skip_ci"
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
#completions
|
||||
local _PIO_COMPLETE s_type
|
||||
for s_type in bash fish zsh; do
|
||||
_PIO_COMPLETE=${s_type}_source "${BUILD_DIR}"/install/usr/bin/pio > "${T}"/pio.${s_type} || die
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
udev_dorules platformio/assets/system/99-platformio-udev.rules
|
||||
|
||||
newbashcomp "${T}"/pio.bash pio
|
||||
newfishcomp "${T}"/pio.fish pio.fish
|
||||
newzshcomp "${T}"/pio.zsh _pio
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
||||
@@ -306,13 +306,6 @@ net-analyzer/arp-sk
|
||||
# Bug #969685
|
||||
=gui-apps/slurp-1.6.0
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2026-01-24)
|
||||
# Needs porting to Python 3.13. Requires old versions of multiple
|
||||
# dependencies, and reportedly is already broken with its current
|
||||
# dependencies. The efforts to revive it do not progress.
|
||||
# Removal on 2026-02-23. Bug #944883, #952290, #955765, #968383.
|
||||
dev-embedded/platformio
|
||||
|
||||
# Maciej Barć <xgqt@gentoo.org> (2026-01-24)
|
||||
# Some app-emacs packages that are obsolete since Emacs 29 or much
|
||||
# older. They all are available in the main GNU Emacs distribution.
|
||||
|
||||
Reference in New Issue
Block a user