Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-04-02 07:20:36 +00:00
41 changed files with 1189 additions and 454 deletions

View File

@@ -6,4 +6,5 @@ DIST aws-cli-1.38.21.gh.tar.gz 2943903 BLAKE2B d7b78e85e552c90321bb5f8ac3db4aee1
DIST aws-cli-1.38.22.gh.tar.gz 2944494 BLAKE2B 01ec94cc6b644a79396e532cd563851b5ecd65e7fe29ec4caad3f1383fc6fcf9798844e342fe16a74617c7e7c43db60c1c9e31ba4480ae7784d30c045edce782 SHA512 45a927a9b2cdf9c99229c3ded7d72dea28aff873336c7459a313d71d5f7a1d5f4c6c9b4ca457b66c8887b33a9e51a873fb41e60b94102c813fecf22359d6d6aa
DIST aws-cli-1.38.23.gh.tar.gz 2945172 BLAKE2B e60a7465a8f03e73244eee0e8993f35cdfd4210aa16fa63ad2b5813420b0401fd7a8589da68f61c18f4c4a3aef198ac05b1e2d48ba51d0300135ea3b1d54d547 SHA512 c3bf38d2cc3e7b1f783ca9424f64bcb9c1757874d47bc7d44e98f9c42f4e1841749ec0d8a984b249215aefe1e2c44f55ff76708fb8ac630ce5bd8375a230197b
DIST aws-cli-1.38.24.gh.tar.gz 2946279 BLAKE2B 96f6ad7a7c44a59b174edff0176c4d986598a49fa3606c2c5c77d1b3ccf5cf8d349155a2f8fb0c71ad10af0a5d1f5ad4f5ea042debb81ff11fd7bd60c232ced6 SHA512 145a81e957015c911fda29c419c6ebf6bd05ff3b1c9a1169bb73aa32f0557a05577bc5c8aca359a1beac1f9f98ecb91039660622e0b3613521ff771ba2ad27c6
DIST aws-cli-1.38.25.gh.tar.gz 2946867 BLAKE2B 49cc1b731d3d35bbbb6d436beb96d30940934a7a53d126e15ac2c56f9b9c39896d720ca2fa866a887a91085c7d81d9bbc3edd7368aba3559918d4b21e4be0ee2 SHA512 3ad60d3b33d8da118d92895bf114da00e150ac3cc526397ac9101c5fff409319ddf40fea3f4820ee2159b6bd83e940784245439b7bb845939569551c9e8c2b38
DIST aws-cli-1.38.9.gh.tar.gz 2921470 BLAKE2B fb6b616095702417335be03a763a4434759c79fa1a31ec7c8c84cb59567461167b0b3c5b80baa950cd0b7298985b298c825f669b82d33ef5bd35adefe947729c SHA512 23fd65c3a0b0c8bb0cd64d52db924cddc8663671c0d80e45c9af1afb2c8558e42eed7a88d3fba2351fa1cf2d0dda1ca1b51a3baaba04b5249bd5d1551059b100

View File

@@ -0,0 +1,93 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 shell-completion
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
# botocore is x.(y-1).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 1)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pytest-forked[${PYTHON_USEDEP}]
)
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
local serial_tests=(
tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success}
tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking
tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows
tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking
tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success
tests/unit/customizations/test_sessionmanager.py
tests/unit/test_compat.py::TestIgnoreUserSignals
tests/unit/test_help.py
tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
EPYTEST_XDIST= epytest "${serial_tests[@]}"
local EPYTEST_DESELECT=(
"${serial_tests[@]}"
# flaky (some ordering?)
tests/functional/s3/test_cp_command.py::TestCPCommand::test_multipart_upload_with_checksum_algorithm_crc32
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit}
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
newzshcomp bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

View File

@@ -1 +1,2 @@
DIST mgorny-dev-scripts-57.tar.gz 19364 BLAKE2B 6e53eee063781f8edcb48ec6f72e0d727f7eac4c85edc784bc67cbda4a9eeffffc17031d95ffde1aadd593f9b6eb30973c0387d6cc4270608a704585e185d1b6 SHA512 b989631f6bc5840b8c01b3a3998b980a6702fab64c8f66c131bc3fe5835fef973ae26fd0012310bff6781f116fce23c3a990d11d7de05016a1c5ad355e83190c
DIST mgorny-dev-scripts-58.tar.gz 19367 BLAKE2B ed285ed0983b167f93b15f7c306a06dce41a78191884d8ac72dad2be536cab7446a6741a167d8b26bb623d0e3ff0ea9b980eab99ba355f17a86972e10ef62b69 SHA512 6db675eed88f2051342b6b3f44f6b907ffe70102648f69b93c9f07b5c46bafc21f4e462c895fe0554fb74fbd9c4e14cbae1961753b71d255a6da45d7854890ba

View File

@@ -0,0 +1,32 @@
# Copyright 2019-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Handy scripts for ebuild development and more"
HOMEPAGE="https://github.com/projg2/mgorny-dev-scripts/"
SRC_URI="
https://github.com/projg2/mgorny-dev-scripts/archive/v${PV}.tar.gz
-> ${P}.tar.gz
"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
RDEPEND="
app-portage/gentoolkit
>=app-portage/gpyutils-0.12
dev-perl/URI
dev-util/pkgcheck
dev-vcs/git
net-misc/wget
sys-apps/portage
x11-misc/xdg-utils
"
src_install() {
dodoc README.rst
rm -f COPYING README.rst || die
dobin *
}

View File

@@ -1,3 +1,4 @@
DIST aiohttp-3.11.13.tar.gz 7674284 BLAKE2B 1975baf20e3d1b7fa5b6b5fbdf4fb916fea57fbfb2dbe9295300fa2952b1cd7fb8aaa814e37bb5c403e43ea9930ca35f9ca17bba5359e8c07e535dfc1d71d607 SHA512 cd9745ea07041e438bb42508ed86095582b7121d233719e9d16033c34d567063c2fd091536ab45ea1695ba118d49b955c56153fe7d6b51c2ee0a4760bfd816a9
DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f
DIST aiohttp-3.11.15.tar.gz 7676625 BLAKE2B 02a5230bd9d038f0e90e4b63e69502a8f2445b781e0b4ff6e40657d7c0d49ddce011ba28c3ddc03cd75a4e205d3544af15f9944f9908064d6f9b922862cc8ab0 SHA512 deeaed7f204fef23641d076d1fd455ebe97173726e2cfc47f82fffc654c51e975fb3012ac78bf60181771e001f3e6f3aac67e2bfc9ed9291ff6d92873969eb0e
DIST aiohttp-3.11.16.tar.gz 7676826 BLAKE2B ae430c8d5e3c84442c95f6c485be2ca69df00b7dd2047ed34d7825c0f250b71ca1490140a1aff8b3dfcdb2af367958e59c94c60b288b7f534b1e1b0457debc10 SHA512 890f576d5ec8c364f8db29b1c4a540cd39cf61fa1fd17ec70049a8c1bf401745d8326e2b7b51bbbc7a2569bfe42f7aab022c23be186bb67f064a32ed16af18dd

View File

@@ -0,0 +1,135 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
inherit distutils-r1 pypi
DESCRIPTION="HTTP client/server for asyncio"
HOMEPAGE="
https://github.com/aio-libs/aiohttp/
https://pypi.org/project/aiohttp/
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="+native-extensions test-rust"
RDEPEND="
>=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
>=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
>=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/brotlicffi[${PYTHON_USEDEP}]
>=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
>=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
>=dev-python/propcache-0.2.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.17.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
<dev-python/async-timeout-6[${PYTHON_USEDEP}]
>=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
' 3.10)
"
BDEPEND="
native-extensions? (
dev-python/cython[${PYTHON_USEDEP}]
)
test? (
dev-python/freezegun[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/re-assert[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/time-machine[${PYTHON_USEDEP}]
' 'python3*')
test-rust? (
dev-python/trustme[${PYTHON_USEDEP}]
)
)
"
DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
# increase the timeout a little
sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
# xfail_strict fails on py3.10
sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die
sed -i -e 's:-Werror::' Makefile || die
distutils-r1_src_prepare
}
python_configure() {
if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions
then
# workaround missing files
mkdir tools || die
> requirements/cython.txt || die
> tools/gen.py || die
chmod +x tools/gen.py || die
# force rehashing first
emake requirements/.hash/cython.txt.hash
> .update-pip || die
> .install-cython || die
emake cythonize
fi
}
python_compile() {
# implicitly disabled for pypy3
if ! use native-extensions; then
local -x AIOHTTP_NO_EXTENSIONS=1
fi
distutils-r1_python_compile
}
python_test() {
local EPYTEST_IGNORE=(
# proxy is not packaged
tests/test_proxy_functional.py
# python_on_whales is not packaged
tests/autobahn/test_autobahn.py
# benchmarks
tests/test_benchmarks_client.py
tests/test_benchmarks_client_request.py
tests/test_benchmarks_client_ws.py
tests/test_benchmarks_cookiejar.py
tests/test_benchmarks_http_websocket.py
tests/test_benchmarks_http_writer.py
tests/test_benchmarks_web_fileresponse.py
tests/test_benchmarks_web_middleware.py
tests/test_benchmarks_web_response.py
tests/test_benchmarks_web_urldispatcher.py
)
local EPYTEST_DESELECT=(
# Internet
tests/test_client_session.py::test_client_session_timeout_zero
# broken by irrelevant deprecation warnings
tests/test_circular_imports.py::test_no_warnings
)
# upstream unconditionally blocks building C extensions
# on PyPy3 but the test suite needs an explicit switch
if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then
local -x AIOHTTP_NO_EXTENSIONS=1
fi
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
rm -rf aiohttp || die
epytest -m "not internal and not dev_mode" \
-p rerunfailures --reruns=5
}

View File

@@ -6,4 +6,5 @@ DIST boto3-1.37.21.gh.tar.gz 918526 BLAKE2B eb7ed9411680d46c02050a6dda80dff93202
DIST boto3-1.37.22.gh.tar.gz 919362 BLAKE2B f36e850e4b7089325f32c41ef1d60373fbdfbf35d1d56b9236f8eae10e665474d5612c3567e58a28ef5f9164c31286b5cd86ecb9b545e34e63dd4a7119203f0e SHA512 829f7b6446746efc688828e5c6264b380f5e550b9bad85c4a572c56b4030766a049ace67f0d979f0afe1dca01cbbb9174d1e60fe9d24e8179a1c699d0ab42936
DIST boto3-1.37.23.gh.tar.gz 920294 BLAKE2B c1bfcb5dd8c883c122b530ac2756c77884d74a43caeaeaded4e7f26bf9fbe829c7b4d70968b19e2561b4ed495c8e05e141ae365fcff7fa10159ff0c04dcc1f3e SHA512 b2fb0b4730e32ec881e933eeb6e57ce5dcffe9cfe5f586a15e5a9abea5d3a515d5db0c66058af3c0c8c206472fdfef80b74b750bd024718078ec9a5a94b01e29
DIST boto3-1.37.24.gh.tar.gz 920927 BLAKE2B 420db6c337247d54992f094aecf0c1a08fd0c49c565d5b30d53d3111dc321828a09006734018f4487c633919bcf3d6ff1d073d1147c1498ba11ef7fba9f25dee SHA512 f4c6d8e8014f05b0fcc78d8d70940387f034de026674cc640ada7f2eaf001f072f96ce4231b65a123efcf8a4051bcdc3c1ab67b2e14551d3c225279a341b9ad4
DIST boto3-1.37.25.gh.tar.gz 920853 BLAKE2B f1ef1df964b0fc8d1b3072d7c26c8737f52556745152b055940355f62ca578a2fa99110d9aaacaef6ca7173466953a4f9e9d4d1ea248cc896ac17cdde92b9fef SHA512 eda2476087dd106549ef51e83785def18bcee070c3cd03a7fca54b63d404c363aa9bf26b85760b9ac7dffc3ff51bbaf947d8e6f8e33ea5fc617a74059109e597
DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe

View File

@@ -0,0 +1,53 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="The AWS SDK for Python"
HOMEPAGE="
https://github.com/boto/boto3/
https://pypi.org/project/boto3/
"
SRC_URI="
https://github.com/boto/boto3/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}]
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
# don't lock versions to narrow ranges
sed -e '/botocore/ d' \
-e '/jmespath/ d' \
-e '/s3transfer/ d' \
-i setup.py || die
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
distutils-r1_python_prepare_all
}
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest tests/{functional,unit}
}

View File

@@ -6,4 +6,5 @@ DIST botocore-1.37.21.gh.tar.gz 14395519 BLAKE2B 7c90142d0441b366c43c63816bfbc68
DIST botocore-1.37.22.gh.tar.gz 14402437 BLAKE2B 4519e3f3ca1c42b2e0445d98d7afd669a02009cdc34b4e3a83e801b508a1c8b6afb6b739bc168d543260e24468436395f0dc469d2e1e687f8821ed12f916e04e SHA512 15b8adbe57f73179df7cb19cb8940d6ca9510c3b4716899a3fb448271e7d15b1640b64e51d5db62d4ab0a194d4900acb9f99e40f6980e3918531c350b6bfa244
DIST botocore-1.37.23.gh.tar.gz 14408721 BLAKE2B 6309e847210a3f7f916679078fba54afff6369d0d983638a1f0535da30349e918699c022929585d5d106a47822f746429b5eb4e52f0996059ce38f989cbf05c2 SHA512 61147b40c082469c5d99ba626ce1549c2d640c25151ae39e588c1ca15c20aa3eff1eeb1d91de18c62203099d45f1a70541e675b9c5ab14f5c04f90982f9a2ddd
DIST botocore-1.37.24.gh.tar.gz 14428720 BLAKE2B ca94c865048529d48eeb02721fdccb18051d7b1190645d80204d306f1774e46342f88dcb5dd51c73c1ecad133d36bf42b6b6e4f4c3bdb31b6468aea398cf4a47 SHA512 bc34c69f507144f6f84ba5af796b0c40ee2ea2d6f3eb2e51bc882ecd782f9cc0334b6ee4380aeb42800491d1f09440039ec57c2de06f45ccaa25a570889d5367
DIST botocore-1.37.25.gh.tar.gz 14523205 BLAKE2B f6bb565b57ee8d1c61c21a5f11363e1c286d359a74884cc65d870c9f06fda7682f23cf9a88e698cef4fc8b1d1b8bee1895bff9088ee3b42e795075a43b49d1cb SHA512 79a76916d97961be7b6b7aafd56f99c0ebb8e8c59e6c1dca4aa6a9ae741528f20c75e685bddc0f843424be3bcaa7cbc541283db9446a5a54eb059efd13982bf8
DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9

View File

@@ -0,0 +1,67 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Low-level, data-driven core of boto 3"
HOMEPAGE="
https://github.com/boto/botocore/
https://pypi.org/project/botocore/
"
SRC_URI="
https://github.com/boto/botocore/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
<dev-python/jmespath-2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
"
# unbundled packages
RDEPEND+="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/jsonschema[${PYTHON_USEDEP}]
)
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_prepare() {
# unpin deps
sed -i -e "s:>=.*':':" setup.py || die
# unbundle deps
rm -r botocore/vendored || die
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# rely on bundled six
tests/functional/test_six_imports.py::test_no_bare_six_imports
tests/functional/test_six_threading.py::test_six_thread_safety
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest tests/{functional,unit}
}

View File

@@ -1,4 +1 @@
DIST griffe-1.6.3.gh.tar.gz 395341 BLAKE2B c2beca0377d6d4a43a9a833142d1750d10fb4584c451cc7c9758275bfb58e6078634e79a204794b3b360d7afff0b37d68fb12d2f845ae846a6aa97ccb696538d SHA512 7b9197854ea8262bbcfa14fcd18dfb10e6bde253b92b7e88fc199f49f73d76f3641a6d3df8e383b4b1e2736a35f204eafe520347f00fd0f3c4f7bfd9a56d1e3e
DIST griffe-1.7.0.gh.tar.gz 397619 BLAKE2B ecd2b490ec4fa37e5ac4bc0ac509145093245345af81a933d9b1e763c94e3fe0e6fdcd8a8d73f276c6740a1dd5397eedaa647efee6c01bab7e55b914cc43e1fd SHA512 c69d7ddbd5641f8cc1c0b920349488dcf1f61109d3437a4658ae1379ee80cabf02073c0c25a41ba1ef5a627a8c27fd42bd6339931af043ce866ab096d064ffb2
DIST griffe-1.7.1.gh.tar.gz 397814 BLAKE2B fe481ae8cbffb79f355881fd5030ef43275c3bd8732757f77b5038a757629024b223374c33d9a5140fe0c375e54153e9835c267548282d545596c3b4a183afc8 SHA512 e2c538e2a413f2803c714ba2326599453ca7fd4ffbb6221076ef3a00ea95a159a852b9ad766cf0e66364cd1d05748b39efac534c6b7429cb276b85d09f6e2342
DIST griffe-1.7.2.gh.tar.gz 398102 BLAKE2B ec4125401ce079dee0795b5bf2db0f74799f3a0c8a122c5c47317fa040cec79772b08aab4e168f4a6ade3ba9e9f4b17b4def17108e9c27ab69d0b701896f2f53 SHA512 4e1573cdfa8a5ba37b932448ed4647a0e37ed680ade4c099e21a0c1ef038840392d5ff906e763bba584d5777b6e6571842f848e3eb3faa4f7f474d61744ba26b

View File

@@ -1,70 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Signature generator for Python programs"
HOMEPAGE="
https://mkdocstrings.github.io/griffe/
https://github.com/mkdocstrings/griffe/
https://pypi.org/project/griffe/
"
# Tests need files absent from the PyPI tarballs
SRC_URI="
https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-python/colorama-0.4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}]
' 3.10)
"
BDEPEND="
test? (
>=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
>=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
export PDM_BUILD_SCM_VERSION=${PV}
python_test() {
local EPYTEST_DESELECT=(
# fragile to installed packages
# (failed on PySide2 for me)
tests/test_stdlib.py::test_fuzzing_on_stdlib
)
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
# https://github.com/pypy/pypy/issues/5226
tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless
)
;&
pypy3*)
EPYTEST_DESELECT+=(
# tries importing CPython-specific modules
# https://github.com/mkdocstrings/griffe/issues/362
tests/test_loader.py::test_load_builtin_modules
)
;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}

View File

@@ -1,70 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Signature generator for Python programs"
HOMEPAGE="
https://mkdocstrings.github.io/griffe/
https://github.com/mkdocstrings/griffe/
https://pypi.org/project/griffe/
"
# Tests need files absent from the PyPI tarballs
SRC_URI="
https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-python/colorama-0.4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}]
' 3.10)
"
BDEPEND="
test? (
>=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
>=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
export PDM_BUILD_SCM_VERSION=${PV}
python_test() {
local EPYTEST_DESELECT=(
# fragile to installed packages
# (failed on PySide2 for me)
tests/test_stdlib.py::test_fuzzing_on_stdlib
)
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
# https://github.com/pypy/pypy/issues/5226
tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless
)
;&
pypy3*)
EPYTEST_DESELECT+=(
# tries importing CPython-specific modules
# https://github.com/mkdocstrings/griffe/issues/362
tests/test_loader.py::test_load_builtin_modules
)
;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}

View File

@@ -1,70 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pdm-backend
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Signature generator for Python programs"
HOMEPAGE="
https://mkdocstrings.github.io/griffe/
https://github.com/mkdocstrings/griffe/
https://pypi.org/project/griffe/
"
# Tests need files absent from the PyPI tarballs
SRC_URI="
https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
RDEPEND="
>=dev-python/colorama-0.4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}]
' 3.10)
"
BDEPEND="
test? (
>=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
>=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
export PDM_BUILD_SCM_VERSION=${PV}
python_test() {
local EPYTEST_DESELECT=(
# fragile to installed packages
# (failed on PySide2 for me)
tests/test_stdlib.py::test_fuzzing_on_stdlib
)
case ${EPYTHON} in
pypy3.11)
EPYTEST_DESELECT+=(
# https://github.com/pypy/pypy/issues/5226
tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless
)
;&
pypy3*)
EPYTEST_DESELECT+=(
# tries importing CPython-specific modules
# https://github.com/mkdocstrings/griffe/issues/362
tests/test_loader.py::test_load_builtin_modules
)
;;
esac
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}

View File

@@ -2,3 +2,4 @@ DIST hypothesis-6.128.2.gh.tar.gz 9522813 BLAKE2B cc466d24bf45b5a0916f47d6a7ed12
DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d
DIST hypothesis-6.130.5.gh.tar.gz 9529886 BLAKE2B 4c9bcb811892e5c1251887e0ebebefd57104c1317e38f0ae358312b2f072c2c4e914c619a8a5505bbde57ac81f8351bbc28a1e957b0942ea10f72541937c74b2 SHA512 603c4723574683410e3d660938326c2ddc1f517311613bcf47a029f62d39e7c5a7cd053041ac6837dd53b4ecc9b4ed19c2374c43a6978837c59bfd8f0c2f9862
DIST hypothesis-6.130.6.gh.tar.gz 9530097 BLAKE2B d3f6dd0f43a509cbeb250696029ab32130b180089c2b5b8af924da04b8c64238e7ff076719f145880e590e7996d8480195d2503d64e33fd7ebe0b40d8600de88 SHA512 41254e0756af3e8116818c88996e15c1582945a592e9d7ba9d2fd023a0de62a89b697460b12b99b8560c85988737597d74ae9dc4d8336d4c643ab51cfdcde0eb
DIST hypothesis-6.130.7.gh.tar.gz 9530483 BLAKE2B da79c2f77e55e2d920147bd1a067e52931ec49a6e85895ca781e2a846c0d7e782959a07f6caa4f0ffbc44da924d6b800f4b61cc63edff8ac31bcce64758a7181 SHA512 6a102ebc03dd155f499a6d839a55fa3379125604e6b859e4fb56d6e8ad3bc0612779edc74c1cc987147e4f495d0b28ffb06461de78f8119ea7c13c14767ad8d9

View File

@@ -0,0 +1,110 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
CLI_COMPAT=( pypy3 python3_{10..13} )
PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 )
PYTHON_REQ_USE="threads(+),sqlite"
inherit distutils-r1 optfeature
TAG=hypothesis-python-${PV}
MY_P=hypothesis-${TAG}
DESCRIPTION="A library for property based testing"
HOMEPAGE="
https://github.com/HypothesisWorks/hypothesis/
https://pypi.org/project/hypothesis/
"
SRC_URI="
https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
-> ${P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}/hypothesis-python"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="cli"
RDEPEND="
>=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
' 3.9 3.10)
cli? (
$(python_gen_cond_dep '
dev-python/black[${PYTHON_USEDEP}]
dev-python/click[${PYTHON_USEDEP}]
' "${CLI_COMPAT[@]}")
)
"
BDEPEND="
test? (
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/pytest-8[${PYTHON_USEDEP}]
dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_test() {
# subtests are broken by warnings from random plugins
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
local -x HYPOTHESIS_NO_PLUGINS=1
# NB: paths need to be relative to pytest.ini,
# i.e. start with hypothesis-python/
local EPYTEST_DESELECT=()
case ${EPYTHON} in
pypy3)
EPYTEST_DESELECT+=(
# failing due to warnings from numpy/cython
hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
)
;;
python3.13)
EPYTEST_DESELECT+=(
# TODO
'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]'
)
;;
esac
epytest -o filterwarnings= -p rerunfailures --reruns=5 \
tests/cover tests/pytest tests/quality
}
src_install() {
local HAD_CLI=
distutils-r1_src_install
if [[ ! ${HAD_CLI} ]]; then
rm -r "${ED}/usr/bin" || die
fi
}
python_install() {
distutils-r1_python_install
if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
HAD_CLI=1
else
rm -r "${D}$(python_get_scriptdir)" || die
fi
}
pkg_postinst() {
optfeature "datetime support" dev-python/pytz
optfeature "dateutil support" dev-python/python-dateutil
optfeature "numpy support" dev-python/numpy
optfeature "django support" dev-python/django dev-python/pytz
optfeature "pandas support" dev-python/pandas
optfeature "pytest support" dev-python/pytest
}

View File

@@ -1 +1,2 @@
DIST json5-0.10.0.tar.gz 48202 BLAKE2B 78794c785c5e5636aede6db48e230a5480ac10b8bbab4041cb827deabb1f251b3f2eddc252d5d0f91f358c093feba422575fdd51448c0984195937094227e48b SHA512 1c56def363c268aa256066c8e98b3a9bfba66a3756071bf6ff41929cdd98ccf5435f08103fbbc3b505abe81f39a14fa1ec50d4a984eebc52410cbb31f999b1b9
DIST json5-0.11.0.tar.gz 51014 BLAKE2B b285f33ad4afb4d40a9dfc598f63a2c4aa62b683648d8ba49c9a1962507db81b944cea71ef563594d3141b4b0f52348f0eb7b2aa3f0e77e525f22cd511197491 SHA512 5721720f514688c2f0c39b3610f001209fdb0f756ff35bca064aadfd0a9529157c88cb574c7f33ef3bed94ed65026f48383e6bafd65a22a27fce50ab140f447f

View File

@@ -0,0 +1,21 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="A Python implementation of the JSON5 data format"
HOMEPAGE="
https://github.com/dpranke/pyjson5/
https://pypi.org/project/json5/
"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
distutils_enable_tests pytest

View File

@@ -1 +1,2 @@
DIST lz4-4.4.3.tar.gz 171848 BLAKE2B 54873ac48b5b43787dd45c92056af2d302e018c0b78acb56ccef50becb4073ded1dead6d02ef203b239a4699e0af4527da04a74d3550a5a36fcdc88dda98772c SHA512 b02899f3011453f77e99aa31c7dc717a7d0ca636475e9ead617196d906e3e2abcee511e84f68e9071b27227cad8ece7fb5f78c04bd8f44cc0959bb687b72e73f
DIST lz4-4.4.4.tar.gz 171884 BLAKE2B a5a1a183b831de32c6197007a278351ed2ff7003c77d686432887436ca8920345995f1a1c2f64144d71ad929fe0cea13939c568030b8622a6b55bc53f0cad41b SHA512 eb49fa28d8745c8d232e82565338e1021da8bc27b4f9c01277e51fbd01a30943f420ee7a983e4683ccb81e72039a12b05b56836fa06c10039ba7267df72d0fcb

View File

@@ -0,0 +1,49 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="LZ4 Bindings for Python"
HOMEPAGE="
https://github.com/python-lz4/python-lz4/
https://pypi.org/project/lz4/
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
DEPEND="
app-arch/lz4:=
"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
dev-python/pkgconfig[${PYTHON_USEDEP}]
test? (
dev-python/psutil[${PYTHON_USEDEP}]
)
"
# note: test suite fails with xdist
distutils_enable_tests pytest
python_test() {
local EPYTEST_IGNORE=(
# lz4.stream is not officially supported and not installed by default
# (we do not support installing it at the moment)
tests/stream
)
rm -rf lz4 || die
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}

View File

@@ -1,3 +1,4 @@
DIST mkdocs-material-9.6.10.gh.tar.gz 14812031 BLAKE2B 505d6585d99aabd1b97f3853173aaf83085c58064c0f76d91517e92de311d52e7ae3c6c2ed71c66bbf013e88d6b38ae5eab64799076238bd46e2e36b745541b7 SHA512 c2589ccc0ffe21217d57fb91a5e247c026f2c32496767a72d604152c80913e03d015291fe3a31891618e53c167348c2cd08db5b986ac0c8c820e091f381d596d
DIST mkdocs-material-9.6.11.gh.tar.gz 14819417 BLAKE2B f38539b2e62d3a44cf3296410817b086d84bfeda8f8d66ff6adc135bb9f31a26ec73bbb0bfc32d9b9d050698bbeb7d8871a92d9382e28b8c78c3cc6b26d13278 SHA512 478a719d4bd46002cd9708a3c71e68c0843703ea8465631fcb5c188f45816673966be7a6c20a9b8886b195d09f153cb7881af3e1471fe11c41a1df2a58aee390
DIST mkdocs-material-9.6.8.gh.tar.gz 14926223 BLAKE2B ce5f0ccc1f19787bbf631f0e71f1b252920e32b6e99616066c18d417e5086f8f612411fb8ba41909df8ee1fc24907879ec87234c42cd8fd6088555b46b7c7d67 SHA512 26d9677d95903c4c3a7890decb11557168dbf26c1fbd7ba1406bebf29a813283ccf43c7173a69136508ff753d61fad2ee3f49a897514fb7f6fa914070d2570b6
DIST mkdocs-material-9.6.9.gh.tar.gz 14809122 BLAKE2B 14c07f44c93de9c74ca6ee64b9be0ef2b7c06f40fa3bca95fbd935cec783ee16d02c50c77ed6b0b62fddaa9f0dcba769db1d86ca4da4363aa48c4940d5eb83f9 SHA512 166c7a5fe445e07286ccc36040a3caf4e070ad86fbcb556fa380ed91b6adfd96c881762f0cb7b96ee1f5d04ff4d65018ad119973e07920c8dd037f32c1322c46

View File

@@ -0,0 +1,71 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
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/jinja2-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}]
$(python_gen_cond_dep '
>=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
' 'python*')
>=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"
# import backrefs only when used (i.e. never)
"${FILESDIR}/${PN}-9.6.7-backrefs.patch"
)
src_prepare() {
echo "__version__ = '${PV}'" > gentoo_version.py || die
distutils-r1_src_prepare
}

View File

@@ -1 +1,2 @@
DIST pytest-django-4.10.0.gh.tar.gz 78992 BLAKE2B 0d42b7bf11fd06ea58b38d9fedf48b12a1577b7b732a61449b787217a729e95ad7c754530bc31c3a6ce7d4c8417fce5b47bdd554b91b71ed148cdff5efb2696c SHA512 887e02a6122631adf0bb34e7b8354378d628564f736c3754a475473b9dc3ff80599bed9b7ccc12b145d0963c3cb56e7110d49c70bfd0b37e15f8a95f3f787ecf
DIST pytest-django-4.11.0.gh.tar.gz 80121 BLAKE2B d8450f007b7a4c5235b03d854a540780c10c993daf9ede82c4927ff69a4b469228a8f42628c1612006ed6312be5767b2c7a3d49e965e9b15bcb89e07ff622419 SHA512 7332c04589ae5539bb03bbdfeebd8e7435073370fcf5b20371ecc570d94ac3460661a192089d5ec7860f77aebbf91399ec78d786d89471a550b1ad9367189128

View File

@@ -0,0 +1,51 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A Django plugin for pytest"
HOMEPAGE="
https://pypi.org/project/pytest-django/
https://pytest-django.readthedocs.io/
https://github.com/pytest-dev/pytest-django/
"
SRC_URI="
https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
"
BDEPEND="
>=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
test? (
dev-python/django[${PYTHON_USEDEP}]
>=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
distutils_enable_tests pytest
python_test() {
local -x DJANGO_SETTINGS_MODULE
local -x PYTHONPATH=${PWD}
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
einfo "Testing ${DJANGO_SETTINGS_MODULE}"
epytest tests
done
}

View File

@@ -1 +1,2 @@
DIST sphinxcontrib-plantuml-0.30-fix-tests-python-3.13.patch 1033 BLAKE2B d1dc69918c4b0171d060e43863993fc23dea995f102fdd889b0face66587558b4fa4a02662026d8ce166be0f92cc63b8419ae0bb2d5586b98d840fe3fe2776cf SHA512 ca134e5d2e73b28e3f6e77ac46b12d869312601af4ef7e0f9e0ada30c9d26fa1e976693f286bd3613c8b07fee152abccf889066139c35df25892addf8bc3b759
DIST sphinxcontrib-plantuml-0.30.gh.tar.gz 19378 BLAKE2B 1f146b59184acec99ff4320199943b2193c3e4c5f5d1f62c6741fb9bbd9802d7c3955bfad786bf7dd4b937b99b974f94d753212c95e7940ab066a9d6ee02af9a SHA512 e85c6332d26d09531c961f8026c72cd82ff4a31700a38cb8285f24d942340700012c08cc1f87a86389b71bfc5d32164586407b5c6777cc94d4d0022c9872ee3a

View File

@@ -1,10 +1,10 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..12} )
PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1
@@ -16,6 +16,8 @@ HOMEPAGE="
SRC_URI="
https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz
-> ${P}.gh.tar.gz
https://github.com/sphinx-contrib/plantuml/commit/27ece3637c0ec5fa91cacf511349e290a1440ba9.patch
-> ${PN}-0.30-fix-tests-python-3.13.patch
"
S="${WORKDIR}/${P#sphinxcontrib-}"
@@ -33,6 +35,10 @@ BDEPEND="
)
"
PATCHES=(
"${DISTDIR}"/${PN}-0.30-fix-tests-python-3.13.patch
)
distutils_enable_tests pytest
python_test() {

View File

@@ -1 +1,2 @@
DIST stripe-11.6.0.tar.gz 1390405 BLAKE2B 0a630201e0c85d1c456a02f18c1383d8367e8980485cf20ab62fbad2a6a6f0612b2199626de1e7f5cefb477e7dcc07777d2af095994de04805fcba206469f6cd SHA512 f92978feef4083cb1a662da44101b9b670d442c141921f29b93a551a36d641faccdff60499115a4b8a0c62b74498403ad3ac7f04c4b16992f3cab5ee498cb25d
DIST stripe-12.0.0.tar.gz 1369861 BLAKE2B abd767466760e8e43d313e7072dcab5d74b09cd395eafb894ef0ee7d21db5503e3f36493e194ab02100f3b9d648342a91efd5c46574af290481c2a260680a974 SHA512 ab9cac4712989227562ade7a7058c2c3342c04f98f02496597047755d9f790f720c29b5f8c26da1a2f4d795793931a8a073789708f395cdfa0057a8e71724a49

View File

@@ -0,0 +1,95 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 )
inherit distutils-r1 pypi
DESCRIPTION="Stripe Python bindings"
HOMEPAGE="
https://github.com/stripe/stripe-python/
https://pypi.org/project/stripe/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="telemetry"
RDEPEND="
>=dev-python/requests-2.20[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
"
# please bump dev-util/stripe-mock dep to the latest version on every bump
BDEPEND="
test? (
>=dev-util/stripe-mock-0.192.0
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/anyio[${PYTHON_USEDEP}]
dev-python/httpx[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
net-misc/curl
)
"
EPYTEST_XDIST=1
distutils_enable_tests pytest
DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
src_prepare() {
distutils-r1_src_prepare
if ! use telemetry; then
sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
fi
}
python_test() {
local EPYTEST_DESELECT=(
# Internet
tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https
'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]'
# timing
tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest tests -p anyio -p pytest_mock
}
src_test() {
local stripe_mock_port=12111
local stripe_mock_max_port=12121
local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
# Try to start stripe-mock until we find a free port
while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
local stripe_mock_pid=${!}
sleep 2
# Did stripe-mock start?
curl --fail -u "sk_test_123:" \
"http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
eend ${?} "Port ${stripe_mock_port} unavailable"
if [[ ${?} -eq 0 ]]; then
einfo "stripe-mock running on port ${stripe_mock_port}"
break
fi
(( stripe_mock_port++ ))
done
if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
eerror "Unable to start stripe-mock for tests"
die "Please see the logfile located at: ${stripe_mock_logfile}"
fi
local -x STRIPE_MOCK_PORT=${stripe_mock_port}
distutils-r1_src_test
# Tear down stripe-mock
kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
}

View File

@@ -0,0 +1 @@
DIST uv_build-0.6.11.tar.gz 292635 BLAKE2B 906d310f6884def53d4b739d0b2d246be4a2651b8add2ec94665128d9cd815830de9246ce5e7c1850842673d56c829547ebd1d707ca69984bbc15183f3ade0d8 SHA512 b68ff4c87b21bae1095ac622fdb4ed60610e44db9c73c0ae29c5566ee30ecdfee39a0c8a0659a70101c72dd04317de80f2ac7a377d2ad5a2c59fa4adabeb7c5b

View File

@@ -0,0 +1,18 @@
diff --git a/python/uv_build/__init__.py b/python/uv_build/__init__.py
index c8ce9c5..835ba0f 100644
--- a/python/uv_build/__init__.py
+++ b/python/uv_build/__init__.py
@@ -39,11 +39,11 @@ def call(
warn_config_settings(config_settings)
# Unlike `find_uv_bin`, this mechanism must work according to PEP 517
- uv_bin = shutil.which("uv-build")
+ uv_bin = shutil.which("uv")
if uv_bin is None:
raise RuntimeError("uv was not properly installed")
# Forward stderr, capture stdout for the filename
- result = subprocess.run([uv_bin, *args], stdout=subprocess.PIPE)
+ result = subprocess.run([uv_bin, "build-backend", *args], stdout=subprocess.PIPE)
if result.returncode != 0:
sys.exit(result.returncode)
# If there was extra stdout, forward it (there should not be extra stdout)

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">astral-sh/uv</remote-id>
<remote-id type="pypi">uv-build</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,41 @@
# Copyright 2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
# maturin compiles uv-build executable for every impl, we do not want
# that, so we hack hatchling into installing the Python module instead.
DISTUTILS_UPSTREAM_PEP517=maturin
PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="PEP517 uv build backend"
HOMEPAGE="
https://github.com/astral-sh/uv/
https://pypi.org/project/uv-build/
"
LICENSE="|| ( Apache-2.0 MIT )"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/uv-${PV}
"
src_prepare() {
local PATCHES=(
# use 'uv build-backend' instead of compiling uv-build executable
# that largely overlaps with dev-python/uv
"${FILESDIR}/${PN}-0.6.9-use-uv.patch"
)
distutils-r1_src_prepare
cat >> pyproject.toml <<-EOF || die
[tool.hatch.build.targets.wheel]
packages = ["python/uv_build"]
EOF
}

View File

@@ -1 +1,2 @@
DIST zeroconf-0.146.1.tar.gz 161874 BLAKE2B 042bc3747dac7a63e05b454a12b5884d293490909e662cf8c7ab7bf871bd4983bbf04cb2eb2ae6e075a82ab586f95ef13c201875d42250898f234f69a288b21e SHA512 a0834e37f07e465e2bf4b99ac7630f98b7c09d9608ecd86d3b8e2a3cd9c3978c400f342b97c7299f10fe07de669356c088f74e4bb26d9316c98219844dee6392
DIST zeroconf-0.146.2.tar.gz 162157 BLAKE2B 8b35e4309759a4668db5014bf747c30d87a399467e28078501d72bbe34cd39d9a4a6045b80ea51810a4f702130200c5c7db114253ae5512db98a78d80e791c31 SHA512 eacc2b94a7a3b0eeeb941aeb0dbf1bd26c78464daadd6e2a5ad91b2b21e76041e85cffa27ff8e4ccf8c78a22771d53ecc412099699f4e643895be1a784a0540a

View File

@@ -0,0 +1,60 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
HOMEPAGE="
https://github.com/python-zeroconf/python-zeroconf/
https://pypi.org/project/zeroconf/
"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
"
# the build system uses custom build script that uses distutils to build
# C extensions, sigh
BDEPEND="
>=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
>=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
test? (
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
export REQUIRE_CYTHON=1
python_test() {
local -x SKIP_IPV6=1
local EPYTEST_DESELECT=(
# network
tests/test_core.py::Framework::test_close_multiple_times
tests/test_core.py::Framework::test_launch_and_close
tests/test_core.py::Framework::test_launch_and_close_context_manager
# fragile to timeouts (?)
tests/services/test_browser.py::test_service_browser_expire_callbacks
tests/utils/test_asyncio.py::test_run_coro_with_timeout
# randomly broken by a leftover thread?
tests/test_circular_imports.py::test_circular_imports
)
local EPYTEST_IGNORE=(
tests/benchmarks
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -o addopts= -p asyncio
}

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cmake.eclass
@@ -681,6 +681,19 @@ cmake-utils_src_make() {
die "cmake-utils_src_make is banned. Use cmake_build instead"
}
# @ECLASS_VARIABLE: CTEST_JOBS
# @USER_VARIABLE
# @DESCRIPTION:
# Maximum number of CTest jobs to run in parallel. If unset, the value
# will be determined from make options.
# @ECLASS_VARIABLE: CTEST_LOADAVG
# @USER_VARIABLE
# @DESCRIPTION:
# Maximum load, over which no new jobs will be started by CTest. Note
# that unlike make, CTest will not start *any* jobs if the load
# is exceeded. If unset, the value will be determined from make options.
# @FUNCTION: cmake_src_test
# @DESCRIPTION:
# Function for testing the package. Automatically detects the build type.
@@ -694,8 +707,9 @@ cmake_src_test() {
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
[[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo "${CMAKE_SKIP_TESTS[*]}")')' )
set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
--test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
set -- ctest -j "${CTEST_JOBS:-$(get_makeopts_jobs 999)}" \
--test-load "${CTEST_LOADAVG:-$(get_makeopts_loadavg)}" \
"${myctestargs[@]}" "$@"
echo "$@" >&2
if "$@" ; then
einfo "Tests succeeded."

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: distutils-r1.eclass
@@ -137,6 +137,8 @@
# - standalone - standalone build systems without external deps
# (used for bootstrapping).
#
# - uv-build - uv-build backend (using dev-python/uv)
#
# The variable needs to be set before the inherit line. The eclass
# adds appropriate build-time dependencies and verifies the value.
#
@@ -151,6 +153,20 @@
# files are found in ${BUILD_DIR}/install after python_install(), they
# will be merged into ${D}.
# @ECLASS_VARIABLE: DISTUTILS_UPSTREAM_PEP517
# @DESCRIPTION:
# Specifies the PEP517 build backend used upstream. It is used
# by the eclass to verify the correctness of DISTUTILS_USE_PEP517,
# and matches DISTUTILS_USE_PEP517 by default. However, it can be
# overriden to workaround the eclass check, when it is desirable
# to build the wheel using other backend than the one used upstream.
#
# Please note that even in packages using PEP621 metadata, there can
# be subtle differences between the behavior of different PEP517 build
# backends, for example regarding finding package files. When using
# this option, please make sure that the package is installed correctly.
: "${DISTUTILS_UPSTREAM_PEP517:=${DISTUTILS_USE_PEP517}}"
# @ECLASS_VARIABLE: DISTUTILS_USE_SETUPTOOLS
# @DEFAULT_UNSET
# @PRE_INHERIT
@@ -246,22 +262,23 @@ _distutils_set_globals() {
fi
bdep='
>=dev-python/gpep517-15[${PYTHON_USEDEP}]
>=dev-python/gpep517-16[${PYTHON_USEDEP}]
'
case ${DISTUTILS_USE_PEP517} in
flit)
bdep+='
>=dev-python/flit-core-3.9.0[${PYTHON_USEDEP}]
>=dev-python/flit-core-3.11.0[${PYTHON_USEDEP}]
'
;;
flit_scm)
bdep+='
>=dev-python/flit-core-3.11.0[${PYTHON_USEDEP}]
>=dev-python/flit-scm-1.7.0[${PYTHON_USEDEP}]
'
;;
hatchling)
bdep+='
>=dev-python/hatchling-1.21.1[${PYTHON_USEDEP}]
>=dev-python/hatchling-1.27.0[${PYTHON_USEDEP}]
'
;;
jupyter)
@@ -271,7 +288,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
>=dev-util/maturin-1.7.4[${PYTHON_USEDEP}]
>=dev-util/maturin-1.8.2[${PYTHON_USEDEP}]
'
;;
no)
@@ -280,41 +297,46 @@ _distutils_set_globals() {
;;
meson-python)
bdep+='
>=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
>=dev-python/meson-python-0.17.1[${PYTHON_USEDEP}]
'
;;
pbr)
bdep+='
>=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]
>=dev-python/pbr-6.1.1[${PYTHON_USEDEP}]
'
;;
pdm-backend)
bdep+='
>=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}]
>=dev-python/pdm-backend-2.4.3[${PYTHON_USEDEP}]
'
;;
poetry)
bdep+='
>=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
>=dev-python/poetry-core-2.1.1[${PYTHON_USEDEP}]
'
;;
scikit-build-core)
bdep+='
>=dev-python/scikit-build-core-0.9.4[${PYTHON_USEDEP}]
>=dev-python/scikit-build-core-0.10.7[${PYTHON_USEDEP}]
'
;;
setuptools)
bdep+='
>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]
>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]
'
;;
sip)
bdep+='
>=dev-python/sip-6.8.3[${PYTHON_USEDEP}]
>=dev-python/sip-6.10.0[${PYTHON_USEDEP}]
'
;;
standalone)
;;
uv-build)
bdep+='
dev-python/uv-build[${PYTHON_USEDEP}]
'
;;
*)
die "Unknown DISTUTILS_USE_PEP517=${DISTUTILS_USE_PEP517}"
;;
@@ -325,7 +347,7 @@ _distutils_set_globals() {
eqawarn "is enabled."
fi
else
local setuptools_dep='>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]'
local setuptools_dep='>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]'
case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
no|manual)
@@ -501,7 +523,7 @@ distutils_enable_sphinx() {
_DISTUTILS_SPHINX_PLUGINS=( "${@}" )
local deps autodoc=1 d
deps=">=dev-python/sphinx-7.2.6[\${PYTHON_USEDEP}]"
deps=">=dev-python/sphinx-8.1.3[\${PYTHON_USEDEP}]"
for d; do
if [[ ${d} == --no-autodoc ]]; then
autodoc=
@@ -525,7 +547,7 @@ distutils_enable_sphinx() {
use doc || return 0
local p
for p in ">=dev-python/sphinx-7.2.6" \
for p in ">=dev-python/sphinx-8.1.3" \
"${_DISTUTILS_SPHINX_PLUGINS[@]}"
do
python_has_version "${p}[${PYTHON_USEDEP}]" ||
@@ -533,7 +555,7 @@ distutils_enable_sphinx() {
done
}
else
deps=">=dev-python/sphinx-7.2.6"
deps=">=dev-python/sphinx-8.1.3"
fi
sphinx_compile_all() {
@@ -904,6 +926,12 @@ _distutils-r1_print_package_versions() {
dev-python/sip
)
;;
uv-build)
packages+=(
dev-python/uv
dev-python/uv-build
)
;;
esac
else
case ${DISTUTILS_USE_SETUPTOOLS} in
@@ -1050,55 +1078,57 @@ _distutils-r1_copy_egg_info() {
find -name '*.egg-info' -type d -exec cp -R -p {} "${BUILD_DIR}"/ ';' || die
}
# @FUNCTION: _distutils-r1_backend_to_key
# @USAGE: <backend>
# @FUNCTION: _distutils-r1_key_to_backend
# @USAGE: <key>
# @INTERNAL
# @DESCRIPTION:
# Print the DISTUTILS_USE_PEP517 value corresponding to the backend
# passed as the only argument.
_distutils-r1_backend_to_key() {
# Print the backend corresponding to the DISTUTILS_USE_PEP517 value.
_distutils-r1_key_to_backend() {
debug-print-function ${FUNCNAME} "$@"
local backend=${1}
case ${backend} in
flit_core.buildapi|flit.buildapi)
echo flit
local key=${1}
case ${key} in
flit)
echo flit_core.buildapi
;;
flit_scm:buildapi)
echo flit_scm
flit_scm)
echo flit_scm:buildapi
;;
hatchling.build)
echo hatchling
hatchling)
echo hatchling.build
;;
jupyter_packaging.build_api)
echo jupyter
jupyter)
echo jupyter_packaging.build_api
;;
maturin)
echo maturin
;;
mesonpy)
echo meson-python
meson-python)
echo mesonpy
;;
pbr.build)
echo pbr
pbr)
echo pbr.build
;;
pdm.backend|pdm.pep517.api)
echo pdm-backend
pdm-backend)
echo pdm.backend
;;
poetry.core.masonry.api|poetry.masonry.api)
echo poetry
poetry)
echo poetry.core.masonry.api
;;
scikit_build_core.build)
echo scikit-build-core
scikit-build-core)
echo scikit_build_core.build
;;
setuptools.build_meta|setuptools.build_meta:__legacy__)
echo setuptools
setuptools)
echo setuptools.build_meta
;;
sipbuild.api)
echo sip
sip)
echo sipbuild.api
;;
uv-build)
echo uv_build
;;
*)
die "Unknown backend: ${backend}"
die "Unknown DISTUTILS_USE_PEP517 key: ${key}"
;;
esac
}
@@ -1111,65 +1141,61 @@ _distutils-r1_backend_to_key() {
_distutils-r1_get_backend() {
debug-print-function ${FUNCNAME} "$@"
local build_backend legacy_fallback
local build_backend
if [[ -f pyproject.toml ]]; then
# if pyproject.toml exists, try getting the backend from it
# NB: this could fail if pyproject.toml doesn't list one
build_backend=$("${EPYTHON}" -m gpep517 get-backend)
fi
if [[ -z ${build_backend} && ${DISTUTILS_USE_PEP517} == setuptools &&
-f setup.py ]]
then
# use the legacy setuptools backend as a fallback
build_backend=setuptools.build_meta:__legacy__
legacy_fallback=1
fi
if [[ -z ${build_backend} ]]; then
die "Unable to obtain build-backend from pyproject.toml"
if [[ ${DISTUTILS_USE_PEP517} == setuptools && -f setup.py ]]
then
# use the legacy setuptools backend as a fallback
echo setuptools.build_meta:__legacy__
return
else
die "Unable to obtain build-backend from pyproject.toml"
fi
fi
if [[ ${DISTUTILS_USE_PEP517} != standalone ]]; then
# verify whether DISTUTILS_USE_PEP517 was set correctly
local expected_value=$(_distutils-r1_backend_to_key "${build_backend}")
if [[ ${DISTUTILS_USE_PEP517} != ${expected_value} ]]; then
eerror "DISTUTILS_USE_PEP517 does not match pyproject.toml!"
eerror " have: DISTUTILS_USE_PEP517=${DISTUTILS_USE_PEP517}"
eerror "expected: DISTUTILS_USE_PEP517=${expected_value}"
eerror "(backend: ${build_backend})"
die "DISTUTILS_USE_PEP517 value incorrect"
fi
if [[ ${DISTUTILS_USE_PEP517} == standalone ]]; then
echo "${build_backend}"
return
fi
# fix deprecated backends up
local new_backend=
# verify that the ebuild correctly specifies the build backend
local expected_backend=$(_distutils-r1_key_to_backend "${DISTUTILS_UPSTREAM_PEP517}")
if [[ ${expected_backend} != ${build_backend} ]]; then
# special-case deprecated backends
case ${build_backend} in
flit.buildapi)
new_backend=flit_core.buildapi
;;
pdm.pep517.api)
new_backend=pdm.backend
;;
poetry.masonry.api)
new_backend=poetry.core.masonry.api
;;
setuptools.build_meta:__legacy__)
# this backend should only be used as implicit fallback
[[ ! ${legacy_fallback} ]] &&
new_backend=setuptools.build_meta
;;
uv)
;;
*)
eerror "DISTUTILS_UPSTREAM_PEP517 does not match pyproject.toml!"
eerror " DISTUTILS_UPSTREAM_PEP517=${DISTUTILS_USE_PEP517}"
eerror " implies backend: ${expected_backend}"
eerror " pyproject.toml: ${build_backend}"
die "DISTUTILS_USE_PEP517 value incorrect"
esac
if [[ -n ${new_backend} ]]; then
if [[ ! -f ${T}/.distutils_deprecated_backend_warned ]]; then
eqawarn "${build_backend} backend is deprecated. Please see:"
eqawarn "https://projects.gentoo.org/python/guide/qawarn.html#deprecated-pep-517-backends"
eqawarn "The eclass will be using ${new_backend} instead."
> "${T}"/.distutils_deprecated_backend_warned || die
fi
build_backend=${new_backend}
# if we didn't die, we're dealing with a deprecated backend
if [[ ! -f ${T}/.distutils_deprecated_backend_warned ]]; then
eqawarn "${build_backend} backend is deprecated. Please see:"
eqawarn "https://projects.gentoo.org/python/guide/qawarn.html#deprecated-pep-517-backends"
eqawarn "The project should use ${expected_backend} instead."
> "${T}"/.distutils_deprecated_backend_warned || die
fi
fi
echo "${build_backend}"
echo "$(_distutils-r1_key_to_backend "${DISTUTILS_USE_PEP517}")"
}
# @FUNCTION: distutils_wheel_install
@@ -1220,6 +1246,8 @@ distutils_wheel_install() {
-o -path '*.dist-info/licenses' \
-o -path '*.dist-info/zip-safe' \
\) -delete || die
_DISTUTILS_WHL_INSTALLED=1
}
# @VARIABLE: DISTUTILS_WHEEL_PATH
@@ -1258,6 +1286,7 @@ distutils_pep517_install() {
fi
# set it globally in case we were using "standalone" wrapper
local -x FLIT_ALLOW_INVALID=1
local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1
local -x VALIDATE_PYPROJECT_NO_NETWORK=1
local -x VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1
@@ -1457,67 +1486,66 @@ distutils-r1_python_compile() {
_python_check_EPYTHON
case ${DISTUTILS_USE_PEP517:-unset} in
no)
return
;;
unset)
# legacy mode
_distutils-r1_copy_egg_info
esetup.py build -j "$(makeopts_jobs "${MAKEOPTS} ${*}")" "${@}"
;;
*)
# we do this for all build systems, since other backends
# and custom hooks may wrap setuptools
mkdir -p "${BUILD_DIR}" || die
local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg"
cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die
[build]
build_base = ${BUILD_DIR}/build
[[ ${DISTUTILS_USE_PEP517} == no ]] && return
[build_ext]
parallel = $(makeopts_jobs "${MAKEOPTS} ${*}")
EOF
;;
esac
if [[ ${DISTUTILS_USE_PEP517} ]]; then
if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then
local whl
for whl in "${!DISTUTILS_WHEELS[@]}"; do
# use only wheels corresponding to the current directory
if [[ ${PWD} != ${DISTUTILS_WHEELS["${whl}"]} ]]; then
continue
fi
# 1. Use pure Python wheels only if we're not expected
# to build extensions. Otherwise, we may end up
# not building the extension at all when e.g. PyPy3
# is built without one.
#
# 2. For CPython, we can reuse stable ABI wheels. Note
# that this relies on the assumption that we're building
# from the oldest to the newest implementation,
# and the wheels are forward-compatible.
if [[
( ! ${DISTUTILS_EXT} && ${whl} == *py3-none-any* ) ||
(
${EPYTHON} == python* &&
# freethreading does not support stable ABI
# at the moment
${EPYTHON} != *t &&
${whl} == *-abi3-*
)
]]; then
distutils_wheel_install "${BUILD_DIR}/install" "${whl}"
return
fi
done
fi
distutils_pep517_install "${BUILD_DIR}/install"
DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" )
if [[ ! ${DISTUTILS_USE_PEP517} ]]; then
# legacy mode
_distutils-r1_copy_egg_info
esetup.py build -j "$(makeopts_jobs "${MAKEOPTS} ${*}")" "${@}"
return
fi
# we do this for all build systems, since other backends
# and custom hooks may wrap setuptools
#
# we are appending a dynamic component so that
# distutils-r1_python_compile can be called multiple
# times and don't end up combining resulting packages
mkdir -p "${BUILD_DIR}" || die
local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg"
cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die
[build]
build_base = ${BUILD_DIR}/build${#DISTUTILS_WHEELS[@]}
[build_ext]
parallel = $(makeopts_jobs "${MAKEOPTS} ${*}")
EOF
if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then
local whl
for whl in "${!DISTUTILS_WHEELS[@]}"; do
# use only wheels corresponding to the current directory
if [[ ${PWD} != ${DISTUTILS_WHEELS["${whl}"]} ]]; then
continue
fi
# 1. Use pure Python wheels only if we're not expected
# to build extensions. Otherwise, we may end up
# not building the extension at all when e.g. PyPy3
# is built without one.
#
# 2. For CPython, we can reuse stable ABI wheels. Note
# that this relies on the assumption that we're building
# from the oldest to the newest implementation,
# and the wheels are forward-compatible.
if [[
( ! ${DISTUTILS_EXT} && ${whl} == *py3-none-any* ) ||
(
${EPYTHON} == python* &&
# freethreading does not support stable ABI
# at the moment
${EPYTHON} != *t &&
${whl} == *-abi3-*
)
]]; then
distutils_wheel_install "${BUILD_DIR}/install" "${whl}"
return
fi
done
fi
distutils_pep517_install "${BUILD_DIR}/install"
DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" )
}
# @FUNCTION: _distutils-r1_wrap_scripts
@@ -1985,6 +2013,11 @@ _distutils-r1_compare_installed_files() {
_distutils-r1_post_python_compile() {
debug-print-function ${FUNCNAME} "$@"
if [[ ! ${_DISTUTILS_WHL_INSTALLED} && ${DISTUTILS_USE_PEP517:-no} != no ]]
then
die "No wheel installed in python_compile(), did you call distutils-r1_python_compile?"
fi
local root=${BUILD_DIR}/install
if [[ ${DISTUTILS_USE_PEP517} && -d ${root} ]]; then
# copy executables to python-exec directory

View File

@@ -1,7 +1,5 @@
DIST fotema-1.19.0-crates.tar.xz 62327412 BLAKE2B 099677191ca1634288d9f4e6055ddfaa3e6562d96fcd06dcc51aa1cb49fed648a61f60f2d47ac51c4fd97a8a238a8f064a8f9990768e2160fd9e002b4ffb978a SHA512 11b7510aae15359e0b2bb95a7e5b4b973f1438328f8fea075264bfb16da50876c4bec5bd82c0af965c8fc9bb5c2d1126c03c077ebd0d1cda704e6b89daf504c2
DIST fotema-1.19.0.gh.tar.gz 8950038 BLAKE2B 131c013515b11ac068944e9d3c7e4ae1809ed75bf6d7d1eebdf10c09498d519363ab2b0d35b07a6f11c3e221d8665adf289ce9ff3f820585dd97b2065a5c1322 SHA512 4750028bd30a46f37a6ca85ff9d005dd99c4d4a0d1c0df60baadc094d9630bafeff21e898543c9ef41c612237fdfbe642f7abbbcb1fbd4c8c6d3dbed369f420f
DIST fotema-1.19.1.gh.tar.gz 8951161 BLAKE2B 77bbb21eceb2b700f4e3ff787be05a71dd819c662f26813af74ddd1645b9f7864e63cab74ca35cb33e20cddc9fd286705b43fc375247b490c0ec9c6848afb82b SHA512 aebf3a37443292ec51d5fe9a079cd1e074d82bf65e6bd2ec3729181849b71c8b57d020a5382ca8b690b1278b372b56b895b35f9c7810981462543c82a13e4aeb
DIST fotema-1.19.2.gh.tar.gz 8952377 BLAKE2B b41720af2f617c3d6f3e53be88bfdfec39d49a40b9b44b5a6c9b0c5e99d0280f8e8a79ebc7d0cee9fb083c0ed1ee54925953ca23e5a4807d0e1ca1c07170f337 SHA512 849ece52e13a1a8fc66864cad286e1c2bdcc9f3b73c0e0a45c42bf481e8b14a03f9e7d72a5461094a6fe804359d2ddcf0fbec1b7a82ce3a5c3cdc4e9b15c1311
DIST fotema-1.20.0.gh.tar.gz 8952954 BLAKE2B 3d3c7d3606cc650b91ad5ee26ad1dee042cc68d7f2542a39e6f561f596875eaa2796b790ce227eba2a2f2d02162301e4397ec4e605ee714131aebe51ee869b5f SHA512 597415dc4dd347980c8a2b530b51177f651661f585ca1f64380a45bce1ea40ec967ef1017212b297bb1b53391fc208deb77309390bf4e5741aeeb769a299207f
DIST fotema-rust-faces-43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e.gh.tar.gz 839519 BLAKE2B 7ba344d55c5d108e63556dda32aaf60cfbd2b14a05e2965ca69e54e2aab578f6ba49f7a7b89d6c32cb5ace4b80f7a84247dcbb43a98d5d709895810798966b0b SHA512 aac99659e2d82d342f52b5860d9f1e284e1658fa9e0986b1c54a81cc33f6391535a2773d79defc6a7bf1e52591dc91d91a1ef3742c38e599baed79975b42de51
DIST fotema-v1.19.1-crates.tar.xz 63008632 BLAKE2B 62758bdd9d4cf54d3bceb187d027d8419b4ccdd2d64ab1e8c9e5679123ee729acbc16f3adeece965bac9a9a33ef093c6519581c0f75afd8327d53e159baae2f7 SHA512 0a366cc7b4bb19e0529fbc6fd5c37a9e03cdfe3ec0ff8e853f46985ffdb974f142f047376999779601abbb33385b7ed44cd6070959513fc471dec92ac76cd0cb
DIST fotema-v1.19.2-crates.tar.xz 63106132 BLAKE2B f57f6e19bbaa2570530f8280e59c80cdc887d7808c9453ac27b6f64bbd175faec2f20f31b8decf61af21f1d38248a868412f27122b0ebe398c63ba3937ce0055 SHA512 58db1ef27c7e10e8d156af3beb6ba9941f7676e286ce51497ec3f6953586e648431fbd5cb8485d751b2fcce6cafd912037dc9c2ce9a5a1173d68e609b8c63712
DIST fotema-v1.20.0-crates.tar.xz 62261884 BLAKE2B 922522cd8e1882f48a6c22dc6e164c569bf224d2abd11a6eb13e1e839e1e9350a21f83cee6c5aac1e961e7be93bf2a2d9e135d3d3be2d5976763843d04d539e9 SHA512 4b549f5f4d378393553c978669a00aa07cdc3c76c37c2296bdd1d779156251c21f0a3ede3916ad4c46795628d70ee57c539f1a21b53f4b727e59b7d8e9cfd212

View File

@@ -1,91 +0,0 @@
# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
"
declare -A GIT_CRATES=(
[rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%'
)
inherit cargo gnome2-utils meson xdg-utils
CRATE_P=${P}
DESCRIPTION="Photo gallery for Linux"
HOMEPAGE="https://github.com/blissd/fotema"
SRC_URI="
https://github.com/blissd/fotema/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
${CARGO_CRATE_URIS}
"
if [[ ${PKGBUMPING} != ${PVR} ]]; then
SRC_URI+="
https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz
"
fi
# see LICENSES/
LICENSE="
CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0
FDL-1.3+ GPL-3+ MIT
"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT
MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB
"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=dev-libs/glib-2.66:2
>=gui-libs/gtk-4.16:4
"
# indirect deps via crates
DEPEND+="
dev-libs/openssl:=
gui-libs/libadwaita
media-libs/fontconfig
media-libs/graphene
media-libs/lcms:2
media-libs/libshumate:=
media-libs/opencv:=[contribdnn]
media-video/ffmpeg:=
sci-ml/onnx
sys-libs/libseccomp
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/pango
"
RDEPEND="
${DEPEND}
media-libs/glycin-loaders
"
BDEPEND="
dev-libs/glib:2
"
QA_FLAGS_IGNORED="/usr/bin/fotema"
src_configure() {
local emesonargs=(
-Dprofile=$(usex debug development default)
)
meson_src_configure
ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die
export ORT_STRATEGY=system
}
pkg_postinst() {
gnome2_schemas_update
xdg_icon_cache_update
}
pkg_postrm() {
gnome2_schemas_update
xdg_icon_cache_update
}

View File

@@ -1 +1,2 @@
DIST rssguard-4.8.1.gh.tar.gz 23782356 BLAKE2B dfc0a02ae3728794f98d48814881d66fe8ddc2e3af3cc767e53894254d6556dec78007068f098c4a8204d98d4e6a3d31718736565d036c98380d6f30dd67d5aa SHA512 68e53dd0b9924d227d4b46e5f03d93e99f6171b62ec33ad846336404f6be6c0c1c4c92eb38c5b11e9a1a4d30c07ebe3bb21f05ae450acaa73dd8a6c4f7a19106
DIST rssguard-4.8.2.gh.tar.gz 23849361 BLAKE2B 6857a4cdf7e8aa88346fa6443c2e352eb37a21e2583ff58336a0641962df608ecfec9b60de17186ebc5af02f8dcdc430d2ef5f6ffc3f71642d7e0074911e4bf1 SHA512 8c43694a7be6e33e68b164316bba7cff96d35804ed78373a0b9727d28010c3d9f87c3dedc4be697bf10bb3074377b50b745f781db9d02dd7dbe0f2cafa99dd37

View File

@@ -0,0 +1,66 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake optfeature xdg
DESCRIPTION="Simple (yet powerful) news feed reader"
HOMEPAGE="https://github.com/martinrotter/rssguard/"
SRC_URI="
https://github.com/martinrotter/rssguard/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="|| ( LGPL-3 GPL-2+ ) AGPL-3+ BSD GPL-3+ MIT"
SLOT="0"
KEYWORDS="~amd64"
IUSE="libmpv mysql qtmultimedia +sqlite webengine"
REQUIRED_USE="
|| ( mysql sqlite )
?? ( libmpv qtmultimedia )
"
BDEPEND="
dev-qt/qttools:6[linguist]
"
DEPEND="
dev-qt/qtbase:6[concurrent,dbus,gui,mysql?,network,sql,sqlite?,ssl,widgets]
dev-qt/qtdeclarative:6
dev-qt/qtmultimedia:6[gstreamer]
dev-qt/qt5compat:6
media-libs/libglvnd
sys-libs/zlib:=
libmpv? (
dev-qt/qtbase:6[opengl]
media-video/mpv:=
)
qtmultimedia? (
dev-qt/qtbase:6[opengl]
dev-qt/qtmultimedia:6
)
webengine? ( dev-qt/qtwebengine:6[widgets(+)] )
"
RDEPEND="${DEPEND}"
src_configure() {
local mycmakeargs=(
-DBUILD_WITH_QT6=ON
-DNO_LITE=$(usex webengine)
-DREVISION_FROM_GIT=OFF
-DNO_UPDATE_CHECK=ON
-DENABLE_COMPRESSED_SITEMAP=ON
-DENABLE_MEDIAPLAYER_QTMULTIMEDIA=$(usex qtmultimedia)
-DENABLE_MEDIAPLAYER_LIBMPV=$(usex libmpv)
# recommended
-DMEDIAPLAYER_FORCE_OPENGL=ON
)
cmake_src_configure
}
pkg_postinst() {
xdg_pkg_postinst
optfeature "ad blocking functionality" "net-libs/nodejs[npm]"
}