summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/jsonref/jsonref-1.1.0.ebuild4
-rw-r--r--dev-python/mkdocs-material/Manifest1
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.16.ebuild67
-rw-r--r--dev-python/pytest-xprocess/Manifest1
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild27
-rw-r--r--dev-python/types-gdb/Manifest1
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild17
-rw-r--r--eclass/distutils-r1.eclass98
-rw-r--r--eclass/git-r3.eclass18
-rw-r--r--eclass/python-utils-r1.eclass3
-rw-r--r--metadata/stabilization-groups/virtualbox.group5
11 files changed, 178 insertions, 64 deletions
diff --git a/dev-python/jsonref/jsonref-1.1.0.ebuild b/dev-python/jsonref/jsonref-1.1.0.ebuild
index 59041a7158cf..6233424f0523 100644
--- a/dev-python/jsonref/jsonref-1.1.0.ebuild
+++ b/dev-python/jsonref/jsonref-1.1.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DISTUTILS_USE_PEP517=pdm
+DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index f5a35e5824e5..cdc13d0b9801 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1,3 +1,4 @@
DIST mkdocs-material-9.5.13.gh.tar.gz 14797946 BLAKE2B fa525ff6577eb9409f08a3dd3b609f85d5bd0eabf3922d2f32751ee3d2fd52a09bdcbf4aa73f8a5c5185ced8eed542a33f414980a1632cc995d572b50fdb277d SHA512 57cb9a8d18bbb1d4ce43976b59737fc9619d8755f1736687b8399df7edbe0f44e91a97256ede886f45583a32d3cfdd049361c817310bbaca045b96e1a0d3e5e6
DIST mkdocs-material-9.5.14.gh.tar.gz 14819394 BLAKE2B 27c083e03d46ba8e24750065eb498bf8f1745715e9ec1e0c6785f532a93e05415fe1d4d8490d738c2b6f016573cca1897dfcc05837d5e3fda90b14d65889caf2 SHA512 6d371e43cf6051fbe58c2eca60cf9371626876be5640bfe478ec97f4c9c8ae4f019211c8d8fcfd1fbddb88a35680c821cb6870c565b41a337f0b7aecc59abf9b
DIST mkdocs-material-9.5.15.gh.tar.gz 14819594 BLAKE2B f0d992962acc7636218222913fcd8d40b6b74c3c4555d1ed8d5b30a4d438c137849624a28d3ed015d04d8c62955d9fffcb5d4e12a3008512a3d3247818789d9e SHA512 341069be531e8caed1e13fed1fabecf2dc4903afedfcccecd36955b22c859b748c88a900c7fca485b796d53812a893f3e49f2e8e519c1bcd8f5b8e7bf32d788d
+DIST mkdocs-material-9.5.16.gh.tar.gz 14839628 BLAKE2B 670066c57a4aa2bf3be295d58a8194b1602b829ece99b3b2b44e951f97e11379f525309dbd3757dfe493ba8a96d913217f2f86099d27d90b889ff3f4fb6cd9e1 SHA512 57a49d8a85e6703670f208dee86e14aa26d1378993c92c79fc401e161951cc6e0d1ba89ce8624f67504d6ecae7435e811d0a26143c9053f5214fbe57793f714b
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.16.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.16.ebuild
new file mode 100644
index 000000000000..46c2a0851fa9
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.16.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pytest-xprocess/Manifest b/dev-python/pytest-xprocess/Manifest
index 8fd9164f72ec..5c24781f92c5 100644
--- a/dev-python/pytest-xprocess/Manifest
+++ b/dev-python/pytest-xprocess/Manifest
@@ -1 +1,2 @@
DIST pytest-xprocess-0.23.0.tar.gz 31350 BLAKE2B 71492aa1bbc438221c6ac2825bf2bd678a75c12e8b5a8654d333c1ba2ad5c66b21f85e572998f0e5f1835097483a4895942d664ef7d8f078cad7923a9ee2e962 SHA512 97aa2a8ba0bcca62d53c0a0523696f6ae5fec5eae29e3e2cfe1a3ec8f14622c2c31f0802b2e65b55aa16778dd6ea82951e15af768c9d84cfd13aa2d427f94c9e
+DIST pytest-xprocess-1.0.1.tar.gz 38665 BLAKE2B ddda66a3aed155f857d6f55c38ddb687e46cd5e0e8eefa0183fc853e884d6167d836f67045cf3aa8be7558fd8b56b98110bfd6b0e1a562f95428da124685d77f SHA512 4bf4545149e7cf99b51f0ba710b04d673664e5c93083d6848dbe5d0ecb7d948bb6180d0de5980a2d576381ed9f7a10085f57469f6ece93585fc451ac02441920
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild
new file mode 100644
index 000000000000..7ed4e7ad9828
--- /dev/null
+++ b/dev-python/pytest-xprocess/pytest-xprocess-1.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage external processes across test runs"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xprocess/
+ https://github.com/pytest-dev/pytest-xprocess/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index 2650abef25ac..c189d05df433 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,2 +1,3 @@
DIST types-gdb-12.1.4.20240322.tar.gz 10912 BLAKE2B d9fbb963fa6110c5f1c38e483a8b75eb00fd28d5d97eace31006515bfe731a78b9e57f5ec7814f5281363c2e3179494fe54ca6ca86b4c030161122253423d7f3 SHA512 9424844c4ac7386729a6156479252031ce80e6ca58b56a12c224a6f66ce8ee436671a84d50ea57ab9a027a5ad0340b576ea295d117ccfe3cc39230ca4ff52e81
DIST types-gdb-12.1.4.20240327.tar.gz 10993 BLAKE2B 9902a7c2d75eba37c53c0579a8f29b36389438c96661fe520aa501f45700b917f74c332c0f466125c10a3b2d66364870b65e763523ba33f61aaf03fb740617cf SHA512 c0e34c42b28034df086a50b8ddd795ab23f3d978d477f01b375c09ed709577d7b54acfefa3c414cb0b3ea002005a7e8b3f1cb6cd6349ec351209c8a956fe2b0b
+DIST types-gdb-12.1.4.20240401.tar.gz 11710 BLAKE2B 63a0e6aa2bc738bf05c24a81d3f031dc5be0010a66c445a8bc485e6617b8d3bd2cc85894e5caf68e7dcc619e72e80ab0a0eb4b4fc0d5c90e50345e0658620aad SHA512 0a145da20e847da00a1fdfb29e56845878b67bb99f344e6059f86d1fc4d84a6b32f1d16eadd19616b9a7619b7f832fa41772beea1bd314678d337e2fc009afa4
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild
new file mode 100644
index 000000000000..bb9b717448e5
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-12.1.4.20240401.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 9be994595529..7a314673a90b 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -124,8 +124,6 @@ esac
#
# - pbr - pbr backend
#
-# - pdm - pdm.pep517 backend
-#
# - pdm-backend - pdm.backend backend
#
# - poetry - poetry-core backend
@@ -230,7 +228,7 @@ _distutils_set_globals() {
;;
hatchling)
bdep+='
- >=dev-python/hatchling-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/hatchling-1.21.1[${PYTHON_USEDEP}]
'
;;
jupyter)
@@ -240,7 +238,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
- >=dev-util/maturin-1.0.1[${PYTHON_USEDEP}]
+ >=dev-util/maturin-1.4.0[${PYTHON_USEDEP}]
'
;;
no)
@@ -249,42 +247,37 @@ _distutils_set_globals() {
;;
meson-python)
bdep+='
- >=dev-python/meson-python-0.13.1[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
'
;;
pbr)
bdep+='
- >=dev-python/pbr-5.11.1[${PYTHON_USEDEP}]
- '
- ;;
- pdm)
- bdep+='
- >=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}]
+ >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
'
;;
pdm-backend)
bdep+='
- >=dev-python/pdm-backend-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}]
'
;;
poetry)
bdep+='
- >=dev-python/poetry-core-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
'
;;
scikit-build-core)
bdep+='
- >=dev-python/scikit-build-core-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-core-0.8.2[${PYTHON_USEDEP}]
'
;;
setuptools)
bdep+='
- >=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]
'
;;
sip)
bdep+='
- >=dev-python/sip-6.7.9[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.3[${PYTHON_USEDEP}]
'
;;
standalone)
@@ -299,7 +292,7 @@ _distutils_set_globals() {
eqawarn "is enabled."
fi
else
- local setuptools_dep='>=dev-python/setuptools-67.8.0-r1[${PYTHON_USEDEP}]'
+ local setuptools_dep='>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]'
case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
no|manual)
@@ -508,7 +501,7 @@ distutils_enable_sphinx() {
_DISTUTILS_SPHINX_PLUGINS=( "${@}" )
local deps autodoc=1 d
- deps=">=dev-python/sphinx-5.3.0[\${PYTHON_USEDEP}]"
+ deps=">=dev-python/sphinx-7.2.6[\${PYTHON_USEDEP}]"
for d; do
if [[ ${d} == --no-autodoc ]]; then
autodoc=
@@ -532,7 +525,7 @@ distutils_enable_sphinx() {
use doc || return 0
local p
- for p in ">=dev-python/sphinx-5.3.0" \
+ for p in ">=dev-python/sphinx-7.2.6" \
"${_DISTUTILS_SPHINX_PLUGINS[@]}"
do
python_has_version "${p}[${PYTHON_USEDEP}]" ||
@@ -540,7 +533,7 @@ distutils_enable_sphinx() {
done
}
else
- deps=">=dev-python/sphinx-5.3.0"
+ deps=">=dev-python/sphinx-7.2.6"
fi
sphinx_compile_all() {
@@ -579,8 +572,6 @@ distutils_enable_sphinx() {
# with the specified test runner. Also copies the current value
# of RDEPEND to test?-BDEPEND. The test-runner argument must be one of:
#
-# - nose: nosetests (dev-python/nose)
-#
# - pytest: dev-python/pytest
#
# - setup.py: setup.py test (no deps included)
@@ -615,29 +606,33 @@ distutils_enable_tests() {
[[ ${#} -eq 1 ]] || die "${FUNCNAME} takes exactly one argument: test-runner"
local test_deps=${RDEPEND}
- local test_pkgs
case ${1} in
- nose)
- test_pkgs='>=dev-python/nose-1.3.7_p20221026[${PYTHON_USEDEP}]'
- ;;
pytest)
- test_pkgs='>=dev-python/pytest-7.3.1[${PYTHON_USEDEP}]'
+ local test_pkgs='>=dev-python/pytest-7.4.4[${PYTHON_USEDEP}]'
if [[ -n ${EPYTEST_TIMEOUT} ]]; then
test_pkgs+=' dev-python/pytest-timeout[${PYTHON_USEDEP}]'
fi
if [[ ${EPYTEST_XDIST} ]]; then
test_pkgs+=' dev-python/pytest-xdist[${PYTHON_USEDEP}]'
fi
+
+ if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
+ test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}"
+ else
+ test_deps+=" $(python_gen_cond_dep "
+ ${test_pkgs}
+ ")"
+ fi
;;
setup.py)
;;
unittest)
# unittest-or-fail is needed in py<3.12
- test_deps+="
- $(python_gen_cond_dep '
+ local test_pkgs="$(python_gen_cond_dep '
dev-python/unittest-or-fail[${PYTHON_USEDEP}]
- ' 3.10 3.11)
- "
+ ' 3.10 3.11
+ )"
+ [[ -n ${test_pkgs} ]] && test_deps+=" ${test_pkgs}"
;;
*)
die "${FUNCNAME}: unsupported argument: ${1}"
@@ -646,15 +641,6 @@ distutils_enable_tests() {
_DISTUTILS_TEST_RUNNER=${1}
python_test() { distutils-r1_python_test; }
- if [[ -n ${test_pkgs} ]]; then
- if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then
- test_deps+=" ${test_pkgs//'${PYTHON_USEDEP}'/${PYTHON_USEDEP}}"
- else
- test_deps+=" $(python_gen_cond_dep "
- ${test_pkgs}
- ")"
- fi
- fi
if [[ -n ${test_deps} ]]; then
IUSE+=" test"
RESTRICT+=" !test? ( test )"
@@ -1002,12 +988,6 @@ _distutils-r1_print_package_versions() {
dev-python/wheel
)
;;
- pdm)
- packages+=(
- dev-python/pdm-pep517
- dev-python/setuptools
- )
- ;;
pdm-backend)
packages+=(
dev-python/pdm-backend
@@ -1214,12 +1194,9 @@ _distutils-r1_backend_to_key() {
pbr.build)
echo pbr
;;
- pdm.backend)
+ pdm.backend|pdm.pep517.api)
echo pdm-backend
;;
- pdm.pep517.api)
- echo pdm
- ;;
poetry.core.masonry.api|poetry.masonry.api)
echo poetry
;;
@@ -1280,6 +1257,9 @@ _distutils-r1_get_backend() {
flit.buildapi)
new_backend=flit_core.buildapi
;;
+ pdm.pep517.api)
+ new_backend=pdm.backend
+ ;;
poetry.masonry.api)
new_backend=poetry.core.masonry.api
;;
@@ -1334,14 +1314,23 @@ distutils_wheel_install() {
printf '%s\n' "${cmd[*]}"
"${cmd[@]}" || die "Wheel install failed"
- # remove installed licenses
+ # remove installed licenses and other junk
find "${root}$(python_get_sitedir)" -depth \
- \( -path '*.dist-info/COPYING*' \
- -o -path '*.dist-info/LICENSE*' \
+ \( -ipath '*.dist-info/AUTHORS*' \
+ -o -ipath '*.dist-info/CHANGELOG*' \
+ -o -ipath '*.dist-info/CODE_OF_CONDUCT*' \
+ -o -ipath '*.dist-info/COPYING*' \
+ -o -ipath '*.dist-info/*LICEN[CS]E*' \
+ -o -ipath '*.dist-info/NOTICE*' \
+ -o -ipath '*.dist-info/*Apache*' \
+ -o -ipath '*.dist-info/*GPL*' \
+ -o -ipath '*.dist-info/*MIT*' \
+ -o -path '*.dist-info/RECORD' \
-o -path '*.dist-info/license_files/*' \
-o -path '*.dist-info/license_files' \
-o -path '*.dist-info/licenses/*' \
-o -path '*.dist-info/licenses' \
+ -o -path '*.dist-info/zip-safe' \
\) -delete || die
}
@@ -1607,9 +1596,6 @@ distutils-r1_python_test() {
fi
case ${_DISTUTILS_TEST_RUNNER} in
- nose)
- "${EPYTHON}" -m nose -v "${@}"
- ;;
pytest)
epytest
;;
diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
index de89fdc3a223..565f6ada8382 100644
--- a/eclass/git-r3.eclass
+++ b/eclass/git-r3.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: git-r3.eclass
@@ -429,6 +429,7 @@ _git-r3_set_submodules() {
l=${l#submodule.}
local subname=${l%%.url=*}
+ local is_manually_specified=
# filter out on EGIT_SUBMODULES
if declare -p EGIT_SUBMODULES &>/dev/null; then
@@ -449,13 +450,14 @@ _git-r3_set_submodules() {
continue
else
einfo "Using submodule ${parent_path}${subname}"
+ is_manually_specified=1
fi
fi
# skip modules that have 'update = none', bug #487262.
local upd=$(echo "${data}" | git config -f /dev/fd/0 \
submodule."${subname}".update)
- [[ ${upd} == none ]] && continue
+ [[ ${upd} == none && ! ${is_manually_specified} ]] && continue
# https://github.com/git/git/blob/master/refs.c#L31
# we are more restrictive than git itself but that should not
@@ -813,13 +815,17 @@ git-r3_fetch() {
if [[ ${EGIT_LFS} ]]; then
# Fetch the LFS files from the current ref (if any)
- local lfs_fetch_command=( git lfs fetch "${r}" )
+ local lfs_fetch_command=( git lfs fetch "${r}" "${remote_ref}" )
case "${EGIT_LFS_CLONE_TYPE}" in
shallow)
- lfs_fetch_command+=(
- --prune
- )
+ if [[ -d ${GIT_DIR}/lfs/objects ]] && ! rmdir "${GIT_DIR}"/lfs/objects 2> /dev/null; then
+ # Only prune if the lfs directory is not empty.
+ # The prune command can take a very long time to resolve even if there are no lfs objects.
+ lfs_fetch_command+=(
+ --prune
+ )
+ fi
;;
single)
;;
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index caa39813feec..bbf751399476 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1349,6 +1349,9 @@ epytest() {
# override filterwarnings=error, we do not really want -Werror
# for end users, as it tends to fail on new warnings from deps
-Wdefault
+ # however, do error out if the package failed to load
+ # an appropriate async plugin
+ -Werror::pytest.PytestUnhandledCoroutineWarning
# override color output
"--color=${color}"
# count is more precise when we're dealing with a large number
diff --git a/metadata/stabilization-groups/virtualbox.group b/metadata/stabilization-groups/virtualbox.group
new file mode 100644
index 000000000000..32aa379b4bb4
--- /dev/null
+++ b/metadata/stabilization-groups/virtualbox.group
@@ -0,0 +1,5 @@
+app-emulation/virtualbox
+app-emulation/virtualbox-modules
+app-emulation/virtualbox-guest-additions
+app-emulation/virtualbox-additions
+app-emulation/virtualbox-extpack-oracle