summaryrefslogtreecommitdiff
path: root/dev-embedded/idf-component-manager/idf-component-manager-3.0.2.ebuild
blob: c0ddb960a37d63f142a9e794f61cd340f7aeefe1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

PYTHON_COMPAT=( python3_{12..14} )
DISTUTILS_USE_PEP517=setuptools

inherit distutils-r1

DESCRIPTION="Tool for installing ESP-IDF components"
HOMEPAGE="https://github.com/espressif/idf-component-manager"
SRC_URI="https://github.com/espressif/${PN}/archive/refs/tags/v${PV}.tar.gz	-> ${P}.gh.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"

BDEPEND="
	test? (
		dev-python/filelock[${PYTHON_USEDEP}]
		dev-python/jsonschema[${PYTHON_USEDEP}]
		dev-python/psutil[${PYTHON_USEDEP}]
		dev-python/requests-mock[${PYTHON_USEDEP}]
		dev-python/vcrpy[${PYTHON_USEDEP}]
		dev-vcs/git
	)
"

RDEPEND="
	dev-python/cachecontrol[${PYTHON_USEDEP}]
	dev-python/click[${PYTHON_USEDEP}]
	dev-python/colorama[${PYTHON_USEDEP}]
	dev-python/jsonref[${PYTHON_USEDEP}]
	dev-python/packaging[${PYTHON_USEDEP}]
	dev-python/pydantic[${PYTHON_USEDEP}]
	dev-python/pydantic-settings[${PYTHON_USEDEP}]
	dev-python/pyparsing[${PYTHON_USEDEP}]
	dev-python/pyyaml[${PYTHON_USEDEP}]
	dev-python/requests-toolbelt[${PYTHON_USEDEP}]
	dev-python/requests-file[${PYTHON_USEDEP}]
	dev-python/ruamel-yaml[${PYTHON_USEDEP}]
	dev-python/schema[${PYTHON_USEDEP}]
	dev-python/tqdm[${PYTHON_USEDEP}]
	dev-python/urllib3[${PYTHON_USEDEP}]
"

# Requires networking or additional files not available in the tarball
EPYTEST_DESELECT=(
	tests/core/test_upload_component.py::test_check_only_upload_component
	tests/test_component_manager.py::test_pack_component_with_examples_errors
	tests/test_component_manager.py::test_pack_component_with_dest_dir
	tests/test_profile.py::TestMultiStorageClient::test_registry_storage_url
	tests/test_profile.py::TestMultiStorageClient::test_storage_clients_precedence
	tests/test_mirror_sync.py::test_collect_component_versions_merges_multiple_specs
	tests/test_mirror_sync.py::test_sync_dependency_with_matches
	tests/test_mirror_sync.py::test_sync_dependency_with_rules
	tests/test_mirror_sync.py::test_update_existing_local_mirror
	tests/test_mirror_sync.py::test_registry_sync_latest_with_two_requirements
	tests/cli/test_manifest_command.py::test_add_git_dependency
	tests/cli/test_manifest_command.py::test_add_git_dependency_invalid
	tests/cli/test_manifest_command.py::test_manifest_keeps_comments
	tests/cli/test_module.py::test_raise_exception_on_warnings
	tests/cli/test_registry_command.py::test_logout_from_registry_revoked_token
	tests/sources/test_git.py::test_versions_component_hash
	tests/version_solver/test_local_components_precedence.py::test_local_component_transitive_dependency
	tests/version_solver/test_local_components_precedence.py::test_local_component_chain_dependency

	tests/test_lock.py::TestLockManager::test_lock_dump_with_solution
	tests/test_lock.py::TestLockManager::test_lock_dump_with_dictionary
	tests/test_lock.py::TestLockManager::test_lock_dump
)

# network access
EPYTEST_IGNORE=(
	tests/test_api_client.py
	tests/test_prepare_dep_dirs.py
)

EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest