summaryrefslogtreecommitdiff
path: root/dev-build/buildstream-plugins-community/buildstream-plugins-community-2.3.1.ebuild
blob: fe893afe1fad7ac568320131dd5ffa68d2d57993 (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
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

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

inherit distutils-r1

DESCRIPTION="A collection of community maintained plugins for the BuildStream project"
HOMEPAGE="https://buildstream.gitlab.io/buildstream-plugins-community/"
SRC_URI="https://gitlab.com/BuildStream/buildstream-plugins-community/-/archive/${PV}/${P}.tar.bz2"

LICENSE="LGPL-2.1"
SLOT="2"
KEYWORDS="~amd64"
IUSE="test"

RDEPEND="
	dev-build/buildstream:2[${PYTHON_USEDEP}]
	dev-python/arpy[${PYTHON_USEDEP}]
	dev-python/dulwich[${PYTHON_USEDEP}]
	dev-python/requests[${PYTHON_USEDEP}]
	dev-python/tomlkit[${PYTHON_USEDEP}]
"

BDEPEND="
	test? (
		dev-python/pycodestyle[${PYTHON_USEDEP}]
		dev-python/pyftpdlib[${PYTHON_USEDEP}]
		dev-python/pylint[${PYTHON_USEDEP}]
		dev-python/pytest-datafiles[${PYTHON_USEDEP}]
		dev-python/pytest-env[${PYTHON_USEDEP}]
		dev-python/pytest-xdist[${PYTHON_USEDEP}]
		dev-python/responses[${PYTHON_USEDEP}]
		dev-python/setuptools-scm[${PYTHON_USEDEP}]
		dev-util/ostree
		dev-util/quilt
		dev-vcs/git-lfs
	)
"

RESTRICT="!test? ( test )"

EPYTEST_PLUGINS=( pytest-datafiles )

distutils_enable_tests pytest

src_configure() {
	# pyproject contains `version=dynamic`
	export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}

	distutils-r1_src_configure
}

python_test() {
	# UNKNOWN:Path name should not have more than 107 characters
	local TMPDIR=/tmp

	# fuse: failed to open /dev/fuse: Permission denied
	addwrite "/dev/fuse"

	EPYTEST_DESELECT=(
		# tests using network
		tests/sources/bazel_file.py::test_basic
		tests/sources/bazel_file.py::test_multi_url
		source_determinism.py::test_deterministic_source_umask[git_tag]
		source_determinism.py::test_deterministic_source_umask[zip]
	)

	export BST_TEST_SUITE=1

	# to not pollute the source directory and make grepping hard.
	# can't just use ${T} as the --basetemp option removes the directory
	# if it exists
	epytest --basetemp "${T}"/test_dir
}