Merge updates from master

This commit is contained in:
Repository mirror & CI
2026-01-27 07:15:58 +00:00
47 changed files with 1519 additions and 101 deletions

View File

@@ -6,5 +6,6 @@ DIST aws-cli-1.44.21.gh.tar.gz 3059829 BLAKE2B e0eca00a14b4d88b08727412141c8bdd2
DIST aws-cli-1.44.22.gh.tar.gz 3059135 BLAKE2B 830fd6bf1eb1ac1839c060aa5277dbf22edab3b0459016278b9ec609e94d868f61bce330a2263e744f149b7847bf218bebb61db3a33a5da3c8c7d704c44aebaa SHA512 61d9e33e4c1be284f2acb35d3709d285d521f6d370d7af7be37e1589fe91717d0981ca0a52368fd2c35890fe578199b885b0232137d8e31077814c0eea715353
DIST aws-cli-1.44.23.gh.tar.gz 3060768 BLAKE2B a8afc196991357b28a461e91d9e93cd85ffb077c6640c5cc85d3cec77652eb76e31b8ab5ea644b515a3fb3ad0df5804c6c80345bc31cc37ba7730eb0ed921d7c SHA512 d663e31d4fcb6a9ddc2af39212bdc0a3eaf0c5c287e812f5c47c9fbb65248c6853b80fe288e05fe00ce03fb05513561b540c821f06b08b67a2313d3ee57e9cd4
DIST aws-cli-1.44.24.gh.tar.gz 3061628 BLAKE2B 580a2857b67989f2a5e0d0d48f9490574d29a8b5d15386d42326408207bee4d8f23e1e214ea1e7d1d8215b69a3abfd86f66ba9397b82bbcd80a4caf7e215872b SHA512 ef4e323b9fbb6e702dcdaf06fbbd78ba771759dd470e55ebb94fb952d499158613e8a5049fc7f2786929e01e612c6fa5bd31edc4ed36bd2d20e37ea211267858
DIST aws-cli-1.44.25.gh.tar.gz 3062426 BLAKE2B 2c972a53b294b4e7f157de10b88cbcc0e09f30b9deacdaad896359c528f2f54503fbf2ceb60df0a99ca5ef75f10a24d8ae0ff1a99a87b790035fe80648cd6303 SHA512 f656ce9351a2ef98aa0a77aac65117019dbf260524949d6b58b3813f96aa4effb9e79e223768e04421dd37b8b6abcc8046c1ae85c169a824f1535f6d34cc4016
DIST aws-cli-1.44.4.gh.tar.gz 3049973 BLAKE2B a493a4831e894949d04bf88ae8fc273319f876cce2e52d6621bfee5c591a4975c2ff753dea978b418344487a4351596499b7cb280ed1ab3e39e70c4582fd493e SHA512 1228ff933b02cab986753a80c6f76e60fc0b5256a5dd8d2dc80e3d197a0056e83fce472fba40d0ac49654c117b867b58f832f1d037ed7c1dd76142f72c0e2ca0
DIST aws-cli-1.44.7.gh.tar.gz 3056565 BLAKE2B c65d74973f229424145ee21a8e052dccaa7258a6cd8bced98a7895d4caef5ef2f0ee2cc58b21b0ba0edca21cd9837de43118a8c818afc8f6ab67ec8f62277875 SHA512 a927344ffd084eea0189bddd8b8c0e81ef36cf19f1b080994b194c41c4f4854158471123e34f20c333615e8749df0802de9ea957e942eb50737b166d85862e76

View File

@@ -0,0 +1,92 @@
# 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
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-2).(z+10), sigh
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 2)).$(( $(ver_cut 3) + 10 ))"
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.16.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/packaging[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-forked )
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
)
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,3 +1,4 @@
DIST blessed-1.23.0.tar.gz 6745236 BLAKE2B 4d211d840f964412b62089d96c364409d6ce80e119841b037287f68f667f640aac56ad37dda19ac47bba54053faf26c6c81bab52d01acfa155e2e9738c0a658d SHA512 0b343d4b55df2aaa516e7c0ac41f0bf5ad00bdc282eeace219eb5515fe464770bb1d35fbed9f65705213394e679691c96aa957f93652d6dda6d1958d4074bfda
DIST blessed-1.25.0.tar.gz 6746381 BLAKE2B d729c5963fc388d9672a660719ecafbd995b6b1b38feacd26b6db57a5857846286b6f3d99bf391f008bed28d111918a3cc50e47db30490285b85a032c7f1ebd6 SHA512 28ffc5bb6b84d9ae4019ec74bb6a5144611cdbf72f2aebb1c9776179a018b454e0a5f9a5e771ac3f46cdda4a1c074c18e72aa27ba7fdf6d6bcfda9864ce39264
DIST blessed-1.27.0.tar.gz 6761573 BLAKE2B 1549bc7e327cdd445d1c70033e637dbdb35bb686054e294d8c67422aa61eb44e3c37dc5a3d83e1b4ca920f786401bfa586008945aa70fee3b44c3a8caaaa8d72 SHA512 939262883b367bcae29f9b1f5f750adb5d0c4c7cd4ae7b61d13e00d1e1820384e3b38a5bf7f6694d3682c432ea6a058d6b487eb72c860b93b34093389068238a
DIST blessed-1.28.0.tar.gz 13950742 BLAKE2B 585b3db3a388db79f30d262187bacd983a6c5b48a19579c5598ec8296ef4443200e1b996dec7aa2df1dfcefc416ba2fee92be178c2f11f85fae9e194666d8888 SHA512 4772e917e2164120867e9ce454ae7bf9b31f90e85367ae5b1c737cb4656cd1c57bf4cf7501223d4306493ba5d03ab73d9c195803865dc33da7366a46b30d3d09

View File

@@ -0,0 +1,52 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 pypi
DESCRIPTION="Library for making terminal apps using colors, keyboard input and positioning"
HOMEPAGE="
https://github.com/jquast/blessed/
https://pypi.org/project/blessed/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/wcwidth-0.5[${PYTHON_USEDEP}]
"
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
EPYTEST_PLUGINS=()
# tests are flaky with xdist
distutils_enable_tests pytest
python_prepare_all() {
# Skip those extensions as they don't have a Gentoo package
# Remove calls to scripts that generate rst files because they
# are not present in the tarball
sed -e '/sphinxcontrib.manpage/d' -e '/sphinx_paramlinks/d' \
-e '/^for script in/,/runpy.run_path/d' \
-i docs/conf.py || die
distutils-r1_python_prepare_all
}
python_test() {
local EPYTEST_DESELECT=(
# fragile to timing
tests/test_sixel.py::test_sixel_height_and_width_fallback_to_xtwinops
)
# COLORTERM must not be truecolor
# See https://github.com/jquast/blessed/issues/162
local -x COLORTERM=
# Ignore coverage options
epytest --override-ini="addopts="
}

View File

@@ -7,4 +7,5 @@ DIST boto3-1.42.31.gh.tar.gz 1073739 BLAKE2B b8d4917f4567d05278278094ff41e627874
DIST boto3-1.42.32.gh.tar.gz 1074285 BLAKE2B 650353f9502b0857e75ec342d8da128471e091128fd4e18e3b4615ca397a1ffc375d7585ddd250ef9f0c9ed750f692f7ec85830918574bf8c17e12ce74798945 SHA512 0f9de9374c7e3d51700d4d787cdc203fb5f3d42650977e5ce904c7346436554c7775f4d5de0ec031d76964060a6281a53e6c11fb6bc0b14646fa700233f91860
DIST boto3-1.42.33.gh.tar.gz 1075387 BLAKE2B 7ce3dc11cacc0f9eeaf0e79e7347e45086e9e9a2edba209686295b097254c33ad1b6efd31f657052361372e0c0a1e99ddc3f367b84850eba11fc192071472925 SHA512 0b41602fc491a51caae9c180937e50bc4f7feba6cfd92bb24a9e07fc0dfca3f4ecfcac5c6688a130a1d81e25ae458021a399e73819a9778d5a26068e5f26affd
DIST boto3-1.42.34.gh.tar.gz 1075720 BLAKE2B 52881dd1683dc36c7f3360113d5418fd0e133d61954f16ca6703bb811b49fa5a9f22889383c3ab44a6a6b5a98aef047e605dc970148e9911c84a3720ef244d94 SHA512 f07639b74736c16c7b57d00dea4c9b961ef97db1ab808c238e966728f70a4b655beb2c6b2081f08c3fca39724b68f0aa353328e52dec89273b9988397b72bd6b
DIST boto3-1.42.35.gh.tar.gz 1076240 BLAKE2B 533ae1d59dc7f370e6e9ec1f73c45f54677b9ccc016785b743b6969e5a404daee8d46b9d9a0ba9797c07b326219217adb7113185244bc165bac53987c0ec239b SHA512 88c22015843523dde3dbe229faa1ee5951f804819f72a79af12393882e5c36715914499453661a80e7fe0b5c130d72081a66bb6fc913bb08aeb15f331381cb7b
DIST boto3-1.42.9.gh.tar.gz 1059745 BLAKE2B 78fba4fe807a3ea8eea22cd81cff67c90cd36e281665545bc9d7dc9bfaa1089d668e1994ba6e950eedfe2cfa1495f192b43f8fdae2b9b8b6bd74b62e0ab699d8 SHA512 92ecb0d609ba2f7df6a444b9d840e2a070b22ec38f8ae3bd376e9473e5b4efbefc9bc924046cc6d79576967e33eed270633396171e6102331b58519021435fe8

View File

@@ -0,0 +1,53 @@
# 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
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"
RDEPEND="
>=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.16.0[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
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() {
epytest tests/{functional,unit}
}

View File

@@ -7,4 +7,5 @@ DIST botocore-1.42.31.gh.tar.gz 15766802 BLAKE2B 06171344b9d0c33342ae0728ca4b71a
DIST botocore-1.42.32.gh.tar.gz 15772486 BLAKE2B a6aac0e927ee993ea9a3477e44fdb4f468f4285b862504b0ce786164016708ca97213229e7bbe760c5c750deea0fbe5b2ba2c839bfe9426d5823a779f9566c88 SHA512 a7272ca27a6a11bd6d149957ab61bae4306da6dc66e23d96b06a3ef0828eb8dd9e0309642a41c424cf702a4129b4005ced013a2f3c9ec7cfe6aa37d2f8fd1bfd
DIST botocore-1.42.33.gh.tar.gz 15774060 BLAKE2B 18ba48842711d6549233dadf64827281cafaa2c0c92f2a19a325d58753605920698ec8b1bb62de1f54df57d03229f57493eeefe8eb7e5cce9f9baa066b941037 SHA512 ea32417e60e2770733f07ca3e2e1acc3c6005af003fbe8399c2e0aa225ed6b37860cbb2521007391f4392f2ec31f007260e7b049a9412e90590feb694101c27f
DIST botocore-1.42.34.gh.tar.gz 15781471 BLAKE2B 694d24a74d14db50f6532c92032e3f0e213b777f701938ce3a8eb0f2120d43f41e5e1197c3d6ce6e1578ca731d6f56d39423b838f49cb28cd04924e268f0d986 SHA512 9f9d9f07badaec82c33c3d0d90cee0a54d8ace7bc54e4ca32716ca21498c600d8f0a321f9aaebb2fe4d4721819b62fca4e47daa1b35d09f8496f30055e66f257
DIST botocore-1.42.35.gh.tar.gz 15782577 BLAKE2B 72743c23cca0a258210208c1f1e2c6f76ed6f4e8869551c0a9a6ae162e81ba7ab60c072dede2af6d35df6508ba4e66eace57312ccf9272062636f013e2ac2eed SHA512 7e8c4ea994b27ba0a4fb02941c77cd905ee078bd90988f706969bdd5663406d52d324681eea0e1636159d30469756baa5fe242628f3f6316c88dd5e095b5236f
DIST botocore-1.42.9.gh.tar.gz 15723096 BLAKE2B 2cb1489fa48546abe3306935367744f918d053e02af58d6b85ed84a50bbfc659ec20763055e9783d492f6f248af81e571b8452487bf8ca3267e15d12ce8773bb SHA512 54cc19ca34474e8bfd7eda403452af24b6f73e611442ba4b7ed5f4f223ae279bdf95a3bc4945d16eba6ccca53d2dbefee6d2157ecb6b4ef23a1e960d5469dcc9

View File

@@ -0,0 +1,67 @@
# 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
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"
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_PLUGINS=()
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
)
epytest tests/{functional,unit}
}

View File

@@ -1,2 +1,3 @@
DIST cli_helpers-2.7.0.gh.tar.gz 36537 BLAKE2B 843d88f5f1eac62b3d37a6d423ec9bce47daedc4b3ea1896d5e84c6dae76a4af687a6fbc01f29d8146cca6ac89f638d2eec0a5d439258369636c7008fac3d499 SHA512 ef9976a7cd4c7853edee598d188003d7f1e1d73d3ca0be2030f2af9db246d394d1ac961408b8e222d45e9dbabda622dbc194cd9fa7aeacf958cd9206428781f6
DIST cli_helpers-2.8.1.gh.tar.gz 36594 BLAKE2B c713c771a742f992ee5468de70d1d965672ae6b24ade26d397f1aa411040a5d6561d3ca807c8be509217cb0d46f14c10bece2b181798ba8dee1952fb3358886a SHA512 b5228702e7de009404004f0fcc002a8876ee962885dcfc4cd04c8863fba5c5eed802fffe411cf0136ba2bc391ec5e6870e450acb17e5aa91b0962b509f1a2963
DIST cli_helpers-2.9.0.gh.tar.gz 36958 BLAKE2B e9cbe7560846bd05a24a2da66ea309e8d29869bdd22b42d9130f42217b58500da022857d1f4ac6a9d069f7e918d353847632a134cc9c49e134c3d7d4c179e5c0 SHA512 aa022d28c295837976f4d9c3ec20ea12fa80ba7600e2e73e30895127e8d2697d28865778e96962a49f2060f06fe58e5f0147eb3747e103fd3a16a54aebde1a75

View File

@@ -0,0 +1,36 @@
# 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
MY_P=cli_helpers-${PV}
DESCRIPTION="Python helpers for common CLI tasks"
HOMEPAGE="
https://cli-helpers.rtfd.io/
https://github.com/dbcli/cli_helpers/
https://pypi.org/project/cli-helpers/
"
SRC_URI="
https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
>=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
>=dev-python/tabulate-0.9.0[${PYTHON_USEDEP}]
dev-python/wcwidth[${PYTHON_USEDEP}]
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest

View File

@@ -1,3 +1,2 @@
DIST django-polymorphic-4.10.3.gh.tar.gz 336534 BLAKE2B bac9ba266486ad8e51eea6eecad8a1fcdf1ac78495af033a8195893e100e2505dc90c4f085fc41f9f922296c791089cc47bb0ff459b2e0986bb997b748350976 SHA512 58ef83c0da3cac1c2ae784c31f07260ad4d2970a5b397bc3f77289b411e76d040f88c6c48c909805523fee49f74b647816599619856ba678e0ec3ff04418c66e
DIST django-polymorphic-4.10.4.gh.tar.gz 337203 BLAKE2B 57ef0c5b63462b3d2f95918a0cecb3af7be7b0ae39e5bbc36e794e9cea24315df07e731b5fbc39bb0cdc0d66f4bbcbaec60358eab6dce7f8d5c7841e66b293f3 SHA512 810269dd8369417864ed496acb5947ee568635fbcf03e2b3846dce3dd3a8d3432bd3b7b4023d287727f5e00baee5595d1df94b0821facb9c5a886a2233d29341
DIST django-polymorphic-4.9.1.gh.tar.gz 308612 BLAKE2B c882cf193079df08256f9b2234b110ba69d0563d48d0743171faf2994f2ae4fe2a3428d554b03b629d48d88e0140bcb53c19a9809496e5d65fa4c6987221be3c SHA512 d0fa5c727d3c0f553686210042c12fc1304048622295f2d48b4962102c3fbce0d041dbf5097a2c019ec502f8a8abb67d761d5812a48bd74ca031bc21dcc7c2f9
DIST django-polymorphic-4.10.5.gh.tar.gz 342175 BLAKE2B 2ef7df67582b7879dcf8ca1ecda1d78317bb2db406f175b0287506a64387aed6f326ab5ceb9d0a254908bef0f755425cfb2a4465e9c6614cbf9325b7d3d2cd24 SHA512 370ab066c722147956e1cf05d307d07ff0b9e821501d21960ebdf723954bf2e7dc35402518b45212cbe5ea03c2756b9619dd7ae6b8c1471453aed8ef762f5c2e

View File

@@ -43,6 +43,7 @@ python_test() {
# some of them require playwright, others break subsequent tests
src/polymorphic/tests/examples
# require django-test-migrations
src/polymorphic/tests/test_migration_managers.py
src/polymorphic/tests/test_migrations
src/polymorphic/tests/test_serialization.py
)

View File

@@ -1,51 +0,0 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{12..14} )
inherit distutils-r1
DESCRIPTION="Seamless Polymorphic Inheritance for Django Models"
HOMEPAGE="
https://github.com/jazzband/django-polymorphic/
https://pypi.org/project/django-polymorphic/
"
SRC_URI="
https://github.com/jazzband/django-polymorphic/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/django-4.2[$PYTHON_USEDEP]
"
BDEPEND="
test? (
$(python_gen_impl_dep sqlite)
${RDEPEND}
dev-python/dj-database-url[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-django )
distutils_enable_tests pytest
python_test() {
local EPYTEST_IGNORE=(
# requires playwright
src/polymorphic/tests/test_admin.py
src/polymorphic/tests/examples/views/test.py
# require django-test-migrations
src/polymorphic/tests/test_migrations
src/polymorphic/tests/test_serialization.py
)
rm -f conftest.py || die
epytest -o addopts=
}

View File

@@ -1 +1,2 @@
DIST fritzconnection-1.15.0.gh.tar.gz 167546 BLAKE2B 203ff8e0e3211ebe4cf9486096434cb30e19af01b21b2f0b8a4513bc27145f87d2b73d1849bfcf6079d2b89a63d5c85c9ad290bf3e09f2c9605bc8d60e178c9e SHA512 12743d0071d388b1bc2213401d84b25182e867977a82fcfc6b4086a73fee4dcc6c9c1d948b96060c8c0c8989f3a374299b406913d5f7a7bc98448d74423e225b
DIST fritzconnection-1.15.1.gh.tar.gz 167688 BLAKE2B 2dbd8122e8c6d3ff1a7050319d44ec139fbce46abdd7df38b780a2ea2fe867d534d9b7d15ca9dcca9ab437363b3cab05a594019c6a5d06601c2034fc9d0243b0 SHA512 b4350835ddc05bfd66fad5911f6375bbf0f71a7e5e599581c4f9a738fbbc33c3d8065ca882ae8ff04ed5a40a5fce5c049613f796707fcb9ed8c0d002f7248e8d

View File

@@ -0,0 +1,50 @@
# Copyright 2022-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
DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
HOMEPAGE="
https://github.com/kbr/fritzconnection/
https://pypi.org/project/fritzconnection/
"
LICENSE="MIT"
SLOT="0"
IUSE="qrcode"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
inherit git-r3
else
SRC_URI="
https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
RDEPEND="
>=dev-python/requests-2.22[${PYTHON_USEDEP}]
qrcode? (
dev-python/segno[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-mock )
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# flaky (relies on time.sleep(0.01) magically being sufficient)
fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
)
# "routertest" marks tests against live hardware
epytest -m "not routertest"
}

View File

@@ -1,6 +1,7 @@
DIST google_auth-2.41.1.tar.gz 292284 BLAKE2B 8351dee7d5f0c40d9898ab0cd70cec379a9c39981d024caacc2d9e62428e18c8ea71a54aac43456fe669a31e24202e76b7a4b7df5e3a23cb79cb1b92701f0b70 SHA512 af2912c8be751659b701c5ffafb0c955ef8ad5609911d15ee58ad2e3e72dd041cded34bf3b56b37d5fe64ab17f0c625dfcb95c31d2dbf27ea61fd27e5f4777a7
DIST google_auth-2.43.0.tar.gz 296359 BLAKE2B 6b9d518710ec15276cfc01e7bb53dd10ba7b37707d7aaf42089f9923a86e530f91d26de924067bd0a53ed8657b6f1ec7e83f52740564829f49f447c8a25a0f7c SHA512 9e935d6431b556677aa2399100f3d25d7fdbf2ceb333688fcb9d4bda1fbc2b46a66dd86128eb1e81f0d5b9a1e1ca26dcaa312d6295a508a27454e4cbf785dd4e
DIST google_auth-2.45.0.tar.gz 320708 BLAKE2B 5fd4ec54cab28761fb62882e6cf66bd8836b01b20e97cf06cd967e16302891add74e2d0b351b9a9a66b6105d95b279e14540305fb9f997c8ee3a3a1f3b234000 SHA512 73c5b88c1c04eeedfc7529f42ea6128a2de80286385b44684d2de8c4ac20680b731df9a23bbde275c847fabd21a042a3a2cc8c7de70f518dbc001252f2bd18d6
DIST google_auth-2.46.0.tar.gz 321766 BLAKE2B 130742ce25f177e35e15b77a7e5b912428ca0ac7a2290cd5b11ff59910b7ab2cb6ff4d604f39e1072888b5c08200db8208c9422a03123a077bd7e91b195b1eab SHA512 00908d8ee725011918fd723544d5b3ced49b44f440c295da6f534fcf25fe14647f2d0e0bd19178b13a42231dc8af8afa017c51fce031a13a001b5a978d84fba5
DIST google_auth-2.47.0.tar.gz 323719 BLAKE2B 49bfb4441d4e9272903c19960221d2822370b392d1614ed815172a322739292798ad6b0bceac73b3e8053ea018ef884d2f0d092d00f0f4505ce5ad8fa3a42099 SHA512 fb3aa20d391767337ccdf6b127435d0aeedb9b639976a625bddabb4155ab8d83f17b298e606af5854f9baf3f42ac7c5d62c0799b90b888aae84d7379682d4ecb
DIST google_auth-2.47.0.tar.gz.provenance 5763 BLAKE2B 8cd21eb438cec8c132d5f7728e8283459a27ffbdd78c149669d563dc487cb478686b59211d2b64317aa3822ca69869ec4b9ebae8f7b00cc65b3539b9bb9decc1 SHA512 11262a96d2d16ba61e2769364f63773bd706bbb5be46c9a1acb8bf3ddbd966f97786db341b0997794fa7ea26aa477ee29c86d42f6351af178cc3901b8aea80f4
DIST google_auth-2.48.0.tar.gz 326522 BLAKE2B 9633a1480afc64115780b3ed00f84a2a0cce02da8168dde6205175ec588505338ab212071311e363b1031bbfc35c22e2c746848bfec26ca7b9b4021ede1bb4e7 SHA512 efa7b3142fbac1e790913c7a1640b6a4133cc132c6ba296bd5d6a20a6951fd6b1a62c3db90aa936caa6290472d658ca1d30549d8e3db1d92c8fa7ab189b4ab01
DIST google_auth-2.48.0.tar.gz.provenance 5888 BLAKE2B 8b87ee062cfd54fb37e5ae1163853a3f854409d705a71548ff1695afdf6699c4b769f8aada11549f0237c8e1c814bd62cdc4fe13605f333823b34b0e7ad9160b SHA512 26a4020e1f10e1c80a68c32d7793d2592f175bc128ba524f10e0e4e5e0b3ab543ef82fc47b89d1e3d478b2110298952f4ca1a9fda451e17ac8a439b819060d13

View File

@@ -1,9 +1,10 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_VERIFY_REPO=gcp:google-cloud-sdk-py@oss-exit-gate-prod.iam.gserviceaccount.com
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1 pypi
@@ -16,10 +17,10 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64 x86"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/cachetools[${PYTHON_USEDEP}]
>=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
>=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
>=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
>=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
@@ -27,10 +28,8 @@ RDEPEND="
BDEPEND="
test? (
dev-python/aioresponses[${PYTHON_USEDEP}]
>=dev-python/cryptography-38.0.3[${PYTHON_USEDEP}]
dev-python/flask[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/pyjwt-2.0[${PYTHON_USEDEP}]
dev-python/pyopenssl[${PYTHON_USEDEP}]
dev-python/pyu2f[${PYTHON_USEDEP}]

View File

@@ -1,3 +1,3 @@
DIST gssapi-1.10.0.gh.tar.gz 112079 BLAKE2B 7b52005994f7a93430ff6af124aacf1de7a8fff8867807497d1e770264d876184c0bfa3ed4d7b678a7e3bc3f1942ce5a6134ae1026e7b2150f647365179abded SHA512 49fcd1d658955dffb5fab1745ec3fc835ac475b77afe87cb81ed7f5ab9cf8a1d804954e99c81a31cf7e2ee8ad65038cbcabecf852762fa1c0ea4f6e41be23147
DIST gssapi-1.10.1.gh.tar.gz 113109 BLAKE2B b8ba68b31881adb5c5a4d111791a10c9f0fb91bb685660a321e0c56c09d93d3faa4645ca95227ac9f3a6366fd21c564afb25f717047f5f62cbb76f85c2707b9c SHA512 742b80c1638df010d4a63e9eb94ff75b89a20ceaea073e355a67cf0aa78a8b64f7ace4f183ef52c1356e6182be6ef37e7c26eda5820c18ea599f13dc1d2d9dd1
DIST gssapi-1.9.0.gh.tar.gz 112822 BLAKE2B 4a91c2639a5186afa408b35540e248b5d17e74957669fbe8274e9619ef30172507559612f6a425df383145e5ac10e16d243fec9dbdc0a10e43ef29aa9f208c12 SHA512 05ca208d37eb3af3cba91607b61c4472a0d83e92f43342994e0fca575290c47b67c7c46440e95d3712c2409f43280a1e95b906e1e8918ebd9da7e6f46e4031fc
DIST gssapi-1.11.1.gh.tar.gz 113666 BLAKE2B ac433606171949a4dcc49ec8a00d4bb55fd2cd5ef6e399a0be76faa956289062e55da10a15f526141d9b433f7972ea3a5a7d867ae052626df1d60de186ddadb2 SHA512 ee963596708643d35f5def529ab9e19163225b1553beaad69c191783d99474222c22df6f440a96f635a6c62640e8c9f78a024d27f2aabf90e8c27c7e2d7500ad

View File

@@ -1,10 +1,11 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
# TODO: freethreading
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
@@ -20,9 +21,9 @@ SRC_URI="
"
S="${WORKDIR}"/python-${P}
LICENSE="MIT"
LICENSE="ISC"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
RDEPEND="
dev-python/decorator[${PYTHON_USEDEP}]
@@ -30,7 +31,7 @@ RDEPEND="
"
BDEPEND="
>=dev-python/cython-3.0.3[${PYTHON_USEDEP}]
>=dev-python/cython-3.1.1[${PYTHON_USEDEP}]
virtual/krb5
test? (
dev-python/k5test[${PYTHON_USEDEP}]
@@ -38,6 +39,7 @@ BDEPEND="
)
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {

View File

@@ -4,3 +4,4 @@ DIST hypothesis-6.149.1.gh.tar.gz 9932484 BLAKE2B 41bdda077c6cdd1e2b2f7650e8b4f5
DIST hypothesis-6.150.2.gh.tar.gz 9878291 BLAKE2B b9ae21ff95afe8bd4918d7298b7f1ff10528fc70cc358f9106f79ddb9a84fe6aa0c8f34538b75c5b55afa442b9e70534c07a04102569b62b16d11421ca9f8016 SHA512 648112f870904a922162c099fd982d3a3756209efd272531c3c848383e2a6df02c3ff4c57f4be68408084542075a194ac9fe5fdac158c566c1a3045358e1045a
DIST hypothesis-6.150.3.gh.tar.gz 9878751 BLAKE2B 4b1995a52a8d195e5cc04eba89093458ca0244e1c20c5c8ce4cd13473598eb7d652c04656bd5df264ae766262fba4e084b61269df4bc77a2537a8177964fa4d3 SHA512 317235eacafaa415683cb7b1a50738655ab6704f4ba529657f5496625c5542812eb44a5cde999c4805ad5a74232edde0c8fc2e81aef3be367374a6302d3f3fa2
DIST hypothesis-6.151.0.gh.tar.gz 9878804 BLAKE2B 42ef6bf0c5bb8346b38a647804aecfcad20991c6ae70a48838050d424377f1e9256fb36df3e440250f3fb8f7fed6fd80cfd1288c38c446ffed62f3166aa571e2 SHA512 418af03dc2eaf456c96c0395c32fdcfc018e8543ed5029f7c6058e9e5d1368afbb04cdfc6a21bd44f87a0c064680927d75284eb5670f6f28b1b3ac2aee90823b
DIST hypothesis-6.151.2.gh.tar.gz 9878376 BLAKE2B 11f6da8ede480bffb503e67d6ed943eb1497686ef61a401f6fa7d6d819ab293f1595284205f5a7c9b534076d607a5d6c7a9a5eea2a89be2375f658d4b6a93924 SHA512 6f8f73a740e046f4e96e7c1f5d6ececd75a2d9a12e52b94fcf2419cfe2cb02807a16e030a0ce0335793c12beb07f07423cdc13a61d432a3836d9fc767c3e912e

View File

@@ -0,0 +1,100 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
CLI_COMPAT=( python3_{11..13} )
PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 python3_14 python3_{13,14}t )
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/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
cli? (
$(python_gen_cond_dep '
dev-python/black[${PYTHON_USEDEP}]
dev-python/click[${PYTHON_USEDEP}]
' "${CLI_COMPAT[@]}")
)
"
BDEPEND="
test? (
>=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/pytest-8[${PYTHON_USEDEP}]
)
"
PDEPEND="
dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
"
EPYTEST_PLUGIN_LOAD_VIA_ENV=1
EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
EPYTEST_RERUNS=5
EPYTEST_XDIST=1
distutils_enable_tests pytest
python_test() {
# NB: paths need to be relative to pytest.ini,
# i.e. start with hypothesis-python/
local EPYTEST_DESELECT=()
case ${EPYTHON} in
python3.14t)
EPYTEST_DESELECT+=(
# TODO
'hypothesis-python/tests/cover/test_lambda_formatting.py::test_modifying_lambda_source_code_returns_unknown[False]'
)
;;
esac
local -x HYPOTHESIS_NO_PLUGINS=1
epytest -o filterwarnings= tests/{cover,pytest,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,2 +1,2 @@
DIST mkdocs-git-revision-date-localized-plugin-1.4.7.gh.tar.gz 444162 BLAKE2B fee1e8e617362b45ee5901b7f9d10fbc24e5ac405d9de7fec13f26d71add9ca39c0091790a30229e5c33ec3f03956d50a4ab0d44ee6f65c3723b25028d446aa4 SHA512 86a1844eb5005630524d90eb381d297a21b8ccb3b0d9dbd102457554ce47f9dffce418a23e95816df040899259823fea0a339bfdb32b51af39430e747a57ad58
DIST mkdocs-git-revision-date-localized-plugin-1.5.0.gh.tar.gz 454910 BLAKE2B 344d0744b26fb7667ac486b6e1fb8295df29bed798f6b34e193463c00fc5585bf5365330150bea5178f4f1d96fa8b3233b125362fbb9846a9354104437cc9a18 SHA512 280a1b2d101b665b9510993c0997c38678ce48c52bacf742d366e3f7a6e98952c836f3938899aa5580eb1d3dd27f6fb957ee4e6fd52eef94d8591468e5b38b99
DIST mkdocs-git-revision-date-localized-plugin-1.5.1.gh.tar.gz 443717 BLAKE2B d47418b6af586bfb7447916f0caaaea913e74d5a290e9acb7e823b7f076d4e7663928823d2b264c92959442919679cb7a0989b818cd22646293faacc6c999faa SHA512 07d92edbdd3b313cb86a225e862688cbc9a259286d2f5b9ab92354da8ed2548d62ae3a0d9d2478076986a91c644f8ccef3c5afb5dcf6d5589a3bf19039434b34

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -29,13 +29,12 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/babel-2.7.0[${PYTHON_USEDEP}]
dev-python/gitpython[${PYTHON_USEDEP}]
>=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
@@ -55,6 +54,7 @@ EPYTEST_DESELECT=(
"tests/test_builds.py::test_tags_are_replaced[mkdocs file: techdocs-core/mkdocs.yml]"
)
EPYTEST_PLUGINS=()
EPYTEST_XDIST=1
distutils_enable_tests pytest

View File

@@ -1,4 +1,4 @@
DIST notebook-7.4.7.tar.gz 13937702 BLAKE2B 3c63eb57e0e439de7d08b319a1770767ae0bd32a2ff6caec4bf371a948f208eb03ac63ddf44f1d7f78ee898147696082e188ae53b096cb79dcb0d65feb77c95a SHA512 038046d891e7af6d64259e7f52e10be1bb5cd8d5928f44a8039eb916e48f8d4a926a55bb6ab5f5fd803baa32972636afd4498ec41911797e7bb1396bc8ca257f
DIST notebook-7.5.0.tar.gz 14052074 BLAKE2B 26cf6bd8d23ac20f00bb6fd8d2f6d4475cf708d42288cbc6fdb035b12370b1639f59694cac7fb06aa97f94c61bbb47602df741c3376dd4f99b7b179a48d0be1e SHA512 628e3bf9e54f58f8084675860b6e316e312dd4fc436280b2a642a08743ec9f23c2d16a808474eb8f07ba53ffcd9f14681216bc6c9c14ee42ac4a066657e4e85e
DIST notebook-7.5.1.tar.gz 14058696 BLAKE2B ae9a4695e6cb476f2fbd877df28c24c7658c3eebb58d7f8dc3c55f7bf7db9e10480dd0e7101b16d4fa2bd271600dce1b785658845a4cd3fedfbe9ccee1cf2681 SHA512 c6c54fce9625eeb298499b637a5db9b5d1e646498bc414b93ce0d2a6fa29bdf00a3b34475ab350a4b8c759fd7b37b3c598c0bd2fdc1f9f370dbc50b638f90a9d
DIST notebook-7.5.2.tar.gz 14059605 BLAKE2B e88de3cefd7703edd8b37c03ad622b026985e8886209d5fe2f6290d5293f67c3b67b30dd4cb61a59db016e269ef3cef6c04c9d78e7afdbe6bdff4dbdace610a9 SHA512 c7b4d14bfd2f70886950bf54a226a0ea23fb441affcd08b4b6426a3e1d7520fad51b8a0fc7cb27e5c19df9a1e4e4c50297186727317c58bd83a9ab5c63083709
DIST notebook-7.5.3.tar.gz 14073140 BLAKE2B 30909fa181fcc92f769cfafd2855b98a4a0f53e0a431d678dc305e160a01c3dd7cfd4c43755a7d0c2ea83608d6d0b3fa670256800b62594dc9fdf4ce58574b0a SHA512 e0f2a77d8f2436f45b7702e04d5743da03322eac3d018042710856af70e058e191f946bf7b9cd1dd6fb8ee4a4a6c9face48c633a551833fa8142c0ecb532e39e

View File

@@ -18,12 +18,12 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
RDEPEND="
>=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
<dev-python/jupyter-server-3[${PYTHON_USEDEP}]
>=dev-python/jupyterlab-4.5[${PYTHON_USEDEP}]
>=dev-python/jupyterlab-4.5.1[${PYTHON_USEDEP}]
<dev-python/jupyterlab-4.6[${PYTHON_USEDEP}]
>=dev-python/jupyterlab-server-2.28.0[${PYTHON_USEDEP}]
<dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
@@ -33,7 +33,7 @@ RDEPEND="
"
BDEPEND="
dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
>=dev-python/hatch-jupyter-builder-0.5[${PYTHON_USEDEP}]
>=dev-python/jupyterlab-4.5[${PYTHON_USEDEP}]
<dev-python/jupyterlab-4.6[${PYTHON_USEDEP}]
test? (

View File

@@ -7,3 +7,5 @@ DIST pathspec-1.0.2.tar.gz 130502 BLAKE2B f1557a9b1b110f7e3611aba0dd34e260ab404c
DIST pathspec-1.0.2.tar.gz.provenance 9518 BLAKE2B 26e62b12d506e5bb58a01945381dbaa2e3c894c3d0259aeba6ef19050b1535380c85a5df9c2612e034ddbbf32f27945f9b978a65fc9b38901a1d1d533ffcb558 SHA512 99884148ab3c59b823c335d60f665c59521aaa6d5bb90472f5e7dd223a861fafc625a9d3730383fe8ad4e856942548dadc999e431d5058f44f1a218f904d27cd
DIST pathspec-1.0.3.tar.gz 130841 BLAKE2B c8c092c579b8214595b9a081857d4df9b5373858a7c64b26a681c1748c6764eb7ecb1df14025ccae47759df48d80e7b6497ea07ae587030db3ae2a0eef9650db SHA512 8ca509c3085949827274efd73f5bb618b7446eab5e08e0c1a19b27dc5910d35b3e9dac36dc2f60152c2db4c95c776e5c4b9a436a17d9ade5da71a2bcf098dea8
DIST pathspec-1.0.3.tar.gz.provenance 9471 BLAKE2B f521d6821e6a39ae2caef6cf513bf5ede906888528bf12c4d6a207f264e25f4aade217fae7943da762dd3e6df49922f1244a0816ef52cdefd5de3c65611db50c SHA512 ed78f5b351c1434e040ef9f67dc243880de977a462e2cf3e82f1775c80d5e2600a9a131428d890b15a96a23a3c2d92e82e55aa7a05241f24c8992312642a16ea
DIST pathspec-1.0.4.tar.gz 131200 BLAKE2B 32af605bb8f2e85adfe97627af35d31f4e9a92d864343ec8f290468ac5637600b6869b0a241a77fa2b2f7a41a899f158359f16672cffd6d35506e2e23f39e8d5 SHA512 1004dc55111a4cbf8767775894ed79da465598cd700afbeb96f6ef1f997dcb43cfba8af0b0a1de6232da9725a6e08577ce531da7faa16125c2b7bda0a378d5c3
DIST pathspec-1.0.4.tar.gz.provenance 9992 BLAKE2B 5468d5c3fd4054f1f253247901203faa00d0e3d1c8a083942945adefac5ad8d7dec82a802e3d6f4f5d748938e02a54ac464c30d6c87e9206ff34cf5582fbe493 SHA512 5fafada724fddd4e6611f62913b9e59a8a6f8df04d638f85c3fa2764450d66d621425d7a2d5039e490b491828fa8a67f82149aded45dfb561024f5b57f5caec8

View File

@@ -0,0 +1,22 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_VERIFY_REPO=https://github.com/cpburnz/python-pathspec
PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 )
inherit distutils-r1 pypi
DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
HOMEPAGE="
https://github.com/cpburnz/python-pathspec/
https://pypi.org/project/pathspec/
"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
distutils_enable_tests unittest

View File

@@ -2,4 +2,5 @@ DIST pypdf-6.4.2.gh.tar.gz 8295275 BLAKE2B 745936795cabbdd7f561743fb7a0e6b497a68
DIST pypdf-6.5.0.gh.tar.gz 8301408 BLAKE2B 9df78a6d9cd8da07d55649ad92491a97d9fc02ea5329b8d6697a05f27a3c0dd1225271dfc4fda7cee6f6c571e328559cd42ead3535904f69c7517a90aa4dceb9 SHA512 09b098660affaaab94c2b7c3aec25538c639c1b15190aee01fa6d9e5882ad75299d53629bd4566bc7c667bfbad8cc8dc05a389598f29dd777121ea9eb10bea40
DIST pypdf-6.6.0.gh.tar.gz 8363620 BLAKE2B 69462ebf40aa8eeb0392f463a761e72af118abe94ff120e85226f2a6a276a03c62c1726d0d6a5b552ab6d28b81d19fb6aee4c12b494863fc0ce4281530a57a9b SHA512 edbbe417fca077f4ddbd7d4ffe01cc4cabc66e1bdd5f14607c16baceb945a6dc534bc10dae6af25c9f2d85b0b9873ca47981ad1266b6b64672074846dd3d0382
DIST pypdf-6.6.1.gh.tar.gz 8364036 BLAKE2B ae556f4742961150012b71206ee54ca9f275c7229cb797b9fd5cc58c7c44a1252dcd3dba6c2e8b9211ba6498086081109b4ab62bc9d955e30662f95a57325204 SHA512 971c6cefd0593804866a311a45feac51f816b420512ebc412f4a36551c1527117307281997d8eec33a19ee9cc65a1d71d1868c72514235a40e32e239fdf18749
DIST pypdf-6.6.2.gh.tar.gz 8364619 BLAKE2B 8aed0d554c764ab5626a86fa4d6513e9a0c0fed26843d2f84ca1c613a67284660b6607d1a12678a41f3086dc1624770b558134f765b49268d28d9ce25ac2732d SHA512 310261c47f9d1dfcbbdb95138d76b90ceb202573e148edbb3a30cf74f1e20f0afd831131d3dcbd39e918ac44507a32cd50465f44e8aff5780ed66ed611bd6c22
DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3

View File

@@ -0,0 +1,52 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
DESCRIPTION="Python library to work with PDF files"
HOMEPAGE="
https://pypi.org/project/pypdf/
https://github.com/py-pdf/pypdf/
"
SRC_URI="
https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
test? (
https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
-> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
)
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
BDEPEND="
test? (
dev-python/cryptography[${PYTHON_USEDEP}]
>=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
media-libs/jbig2dec[png]
)
"
EPYTEST_PLUGINS=( pytest-timeout )
EPYTEST_XDIST=1
distutils_enable_tests pytest
src_unpack() {
default
if use test; then
mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
fi
}
python_test() {
epytest -o addopts= -m "not enable_socket"
}

View File

@@ -1,2 +1,2 @@
DIST python_ironicclient-5.13.0.tar.gz 225872 BLAKE2B 528827c20507b23a2d4fe2c2bb158ccca5bff1c269b9b58b0293b772942c7fb30460a3f933eed554f848c8e58453e4a9024111fec2c7fe5107099c5326d409a1 SHA512 2c9bfeea82df5156a283baf182bf21f46e56bec555ec64849d12b540f269f5f5a421e5949e86070eeeb79d26295e20556596a896710f9f3fe9e7bd7fd67ad458
DIST python_ironicclient-5.14.0.tar.gz 226166 BLAKE2B 2dd9160b9c193e8f857125cf5b9d38b879286eb400e0ba7db26b477fd6e8b30f41398b48b6afc0a1f4d5add4ea7334680550163069de07219e41a4070b10af49 SHA512 acd7407916a44fa62e1e450d4cddc987cfc9132a25f195b8ca0aa9af81ed1c4b5cdd6c5cfbc1d1e6e8cf3ac5ae62fa21fc207d186e38da9040cdb8e219de9d1a
DIST python_ironicclient-5.15.0.tar.gz 228639 BLAKE2B fbf49c7adb1c39aea7d1056c4796dfd7f4fa8dd16e860416b3984f7e3462c87bbc5e624c25c821a3f7dd87ab2204d4374ff42c711500aa6814737ff9d8f233fa SHA512 1fbb6787bdc8a1e8c27326b7f9d6bf076fc41d37990d76e9b05d76b81e89a48ff49c0b30e400358a800a227ac60ffedf6707bcf2d15b9682abc97457e0cedfb3

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2025 Gentoo Authors
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64 x86"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/pbr-6.0.0[${PYTHON_USEDEP}]

View File

@@ -1,4 +1,4 @@
DIST sigstore-python-3.6.5.gh.tar.gz 281176 BLAKE2B 23d4ccffaa2e779fdb65406f452d0c559a2c0699560d996f3b71d326d38da38bc6a264c3d4195b866d9764289a986de7f732afc64f33995f98557e759baf0c79 SHA512 a4fd2cfe1619db363b33ea03e940ae6d3b97bb838501d704926cf32b63f7c2ce75ace9915ec466ab4a9714c9a2b45578aa3006b9c19ca022c588d50bb53ae5bb
DIST sigstore-python-3.6.6.gh.tar.gz 281340 BLAKE2B 79a2d099e4c7dfe611ef666479bad6923ad70ba6d0e737d25855fe32a6178c5966449ac1c120e3b6a1b801ab01f63fa82eb041cd97f7ce03b117cc7244d35a2b SHA512 d233a3412d185b26c722f9a1d228f597934ea61d1613fb7c7ef5b5861c17a11ab6251b74f069f61aa4228d7aaff34f64e1caae784a34d32ebad7d3e23a858c5c
DIST sigstore-python-4.0.0.gh.tar.gz 299794 BLAKE2B ba6da6348436e9cdf43251556f7557015c5023ab80c90d801fd6ecc6f110a479d61e4edfa5f49a3a2a3204c411bc756a8c7a074798264c8f4a6036761804b052 SHA512 32fb6ce24635a0cedfea48d87f59c48d4794fd49399ca9fe1c10f945179888cd238dddb8be8ec5830b39e5d5faea0c5e8adec59c6710356ccd14067b817c0709
DIST sigstore-python-4.1.0.gh.tar.gz 296902 BLAKE2B 381eb809baedb3078f2acfe83070522901fbcc0d717e32ba12be89aa2d891906fad93be570f77aadef386928e6576d11623572b22a1d5293cd82a6fdc5c83521 SHA512 57641886bec8c193097d57cc61c94247f7e32d24ea83599527a09c1db9f0c8e0dd97d8422b6ec2055fe9474ff4be23a11a373be55b71ed11b7c308f0cf2cf0ae
DIST sigstore-python-4.2.0.gh.tar.gz 300449 BLAKE2B 07a5e9682283867af0350e383054e9f9ec62ba022620925ee4baa4e0e2808d4e03ab720fb8a7fb6611284565a3d8ecb1436d60b4dc60050605b8c129ca53ba75 SHA512 8dc3ddad69ed3a72f5b6b8f013f8f7355dc88e8b429f53e23765153ed0d32b019c9372429389a2c660433569fa956e5c7f7ee1d3f084b1bb5c730d415a7d9ec1

View File

@@ -1,4 +1,4 @@
# Copyright 2024-2025 Gentoo Authors
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
KEYWORDS="~amd64 ~ppc ~ppc64"
RDEPEND="
>=dev-python/cryptography-42[${PYTHON_USEDEP}]
@@ -37,7 +37,7 @@ RDEPEND="
~dev-python/rfc3161-client-1.0.3[${PYTHON_USEDEP}]
>=dev-python/rfc8785-0.1.2[${PYTHON_USEDEP}]
>=dev-python/rich-13[${PYTHON_USEDEP}]
~dev-python/sigstore-protobuf-specs-0.3.2[${PYTHON_USEDEP}]
~dev-python/sigstore-models-0.0.6[${PYTHON_USEDEP}]
~dev-python/sigstore-rekor-types-0.0.18[${PYTHON_USEDEP}]
>=dev-python/tuf-6.0[${PYTHON_USEDEP}]
"

View File

@@ -6,3 +6,4 @@ DIST uv_build-0.9.21.tar.gz 357539 BLAKE2B 721e12e0260301d3234f3fbc76d5944c9b15e
DIST uv_build-0.9.22.tar.gz 357175 BLAKE2B 684bfc438483ebcb7b818456fa88994c4f677cc550de06dfee0b05c5a55f058e5079b7851b0e5aa88153e50a78aa28efa6216388a0a6cb1c620b12f80400523d SHA512 dbb19e42fae9ba49eae7a5e55395b4c04542142a22a421ced43195eb616eeec53126452b1f716e9d4cb8a528adf54ab72ab1f36236e5ea1a7a0e7da8d28cf36a
DIST uv_build-0.9.24.tar.gz 359788 BLAKE2B 79cd6452e95d99a01e8212d80c7c0b30aeb5796a75f18c6fa031b1b9800032d3643625db1d9780c649dfa7b14876adac507fb98cac1c62b08aad93ac86be094a SHA512 9b28f7037a2f30e7ebfed6e54af10c1c3c540311723099afcac8ddce1e7c34b34e50e344da8a20e22d8840991342f8fea6ab17e8899a513a70c958f250d8a1d8
DIST uv_build-0.9.25.tar.gz 359005 BLAKE2B b0c8307919092aa0abbca7da379efd315f54c4d70c066633a3524fb1a78fcff0831e071086050b240536a123d965706337f09c716814e5655c9051cd4d879a19 SHA512 601eea260c615b6102c0e6a766d7c5fd0585c72005fb813a22cdc3f568c2f57042f72d3d16822f1c1773e1f9e8580d1f77b1e73b940a026c0a8e8783ef817f7b
DIST uv_build-0.9.27.tar.gz 359927 BLAKE2B 59b28b510f3d6b00e1cc3d4d7b2513181d2b0b494beeb3bc715e02a88ed42efddd2d5baa76c220dd94128bda9283f80f4bbf4fd7510101d022c9a070a7205cf8 SHA512 9b7ddba6293f6b2b6df8d4d5d5d2ededdea9c2806551d61ca32f1831bd0f073c68463336cbfb75e69a202af0cba2f61a9d03c80e19cf4b1c7e5a314b34c59bd7

View File

@@ -0,0 +1,99 @@
# Copyright 2025-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Maturin compiles uv-build executable for every impl, we do not want
# that, so we use another backend. And since we use another backend,
# why not dogfood it in the first place?
DISTUTILS_USE_PEP517=standalone
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
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 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/uv-${PV}
"
BDEPEND="
test? (
app-arch/unzip
dev-python/build[${PYTHON_USEDEP}]
)
"
src_prepare() {
distutils-r1_src_prepare
# use the executable from dev-python/uv instead of building
# a largely overlapping uv-build executable (at least for now)
sed -i -e '/USE_UV_EXECUTABLE/s:False:True:' python/uv_build/__init__.py || die
# replace the build-system section
sed -i -e '/\[build-system\]/,$d' pyproject.toml || die
cat >> pyproject.toml <<-EOF || die
[build-system]
requires = ["uv_build<9999"]
build-backend = "uv_build"
backend-path = ["src"]
EOF
# rename to make uv-build find it
mv python src || die
}
python_test() {
"${EPYTHON}" -m build -n || die "Self-build failed with ${EPYTHON}"
local zip_result=$(
unzip -t "dist/uv_build-${PV}-py3-none-any.whl" || die
)
local zip_expected="\
Archive: dist/uv_build-${PV}-py3-none-any.whl
testing: uv_build/ OK
testing: uv_build/__init__.py OK
testing: uv_build/__main__.py OK
testing: uv_build/py.typed OK
testing: uv_build-${PV}.dist-info/ OK
testing: uv_build-${PV}.dist-info/WHEEL OK
testing: uv_build-${PV}.dist-info/METADATA OK
testing: uv_build-${PV}.dist-info/RECORD OK
No errors detected in compressed data of dist/uv_build-${PV}-py3-none-any.whl.\
"
if [[ ${zip_result} != ${zip_expected} ]]; then
eerror ".zip result:\n${zip_result}"
eerror ".zip expected:\n${zip_expected}"
die ".whl result mismatch"
fi
local tar_result=$(
tar -tf "dist/uv_build-${PV}.tar.gz" || die
)
local tar_expected="\
uv_build-${PV}/PKG-INFO
uv_build-${PV}/
uv_build-${PV}/README.md
uv_build-${PV}/pyproject.toml
uv_build-${PV}/src
uv_build-${PV}/src/uv_build
uv_build-${PV}/src/uv_build/__init__.py
uv_build-${PV}/src/uv_build/__main__.py
uv_build-${PV}/src/uv_build/py.typed\
"
if [[ ${tar_result} != ${tar_expected} ]]; then
eerror ".tar.gz result:\n${tar_result}"
eerror ".tar.gz expected:\n${tar_expected}"
die ".tar.gz result mismatch"
fi
}

View File

@@ -14,3 +14,5 @@ DIST uv-0.9.24-crates.tar.xz 48574824 BLAKE2B ad3fd45f6ad0ff2b84dd092adaec061539
DIST uv-0.9.24.gh.tar.gz 4821236 BLAKE2B bb35fc9b0d9ef11bd318c9387f04e14b99968e43bca7e34afae2b32513eda6de3d2fbe1be7fe20d0859ef2866b013b3fab2d3497ef5a6976f6765ebe4d0c3d8e SHA512 713f9dfda0e55b330246643618236f005e3bbee76b9b48499d1608778a7fb190e9daf19c9967fb492426f0cda31028dcaa61867b23fb861e050d2f0f36439478
DIST uv-0.9.25-crates.tar.xz 48574824 BLAKE2B ad3fd45f6ad0ff2b84dd092adaec061539b46293bce4c05c694a1aac32ba00cafd3b6ae419149e8251baf7bc6928f8a07c7237e356731d29e222a13093d9388f SHA512 c022e7cb8f9d539e9e52c48f31b8958e570cbd117db8bac4b8ecaf1ba5fd434dab451ebb32a419e426d845f3edafa07b6ad87f270da09f37d61e2ba4104ad046
DIST uv-0.9.25.gh.tar.gz 4834894 BLAKE2B 2aa0542dd6754213a61973541b08c03bb0b42733c518899ccb770a81fdcff7ff57183de60540ae1c878390a358ff765b3f2c5639a1b1790e04b9751ff49a8093 SHA512 f578b7f51f4330e55fa3e9db4db428f074bb8762e41ce840032857893304a807a00d6544fc23588abbe9dc584925261f5a3232a62c8cf5da5b237fafef5b520e
DIST uv-0.9.27-crates.tar.xz 40486928 BLAKE2B 51f658d27d85b40b2eabb1e4369e43517e86a211a81ec946f4ca58c4507e0685d65f26ffdf07c0c821213edda865d249a7f3f346ffda9c176eaeab8323fc9f12 SHA512 9f942d809ed5a3806887d8bca616bb904ebe9d0d1c83beec62bd5dcade2c2d566c6db5f0a00abe018cc28ab4ef3e7ff567faa0687557040cbe5a79401d9012b3
DIST uv-0.9.27.gh.tar.gz 4895904 BLAKE2B 52a2ddb30979b2be31cabdd242aa448397b86a13d63e121bd97633787d278cb1340ee9d3f0ae664212268da891efccbf4e1c089f6b89fc345a9c82fbd24a8fae SHA512 3c71f9e7d64a32466697124b9b6e96ee3f260deb3abe016cf765e325976d5f1cafb2bc5a1e1aaf876efe5f2b5bc2d347560c2dc6c917f749da63d936621e96fd

View File

@@ -0,0 +1,161 @@
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
"
RUST_MIN_VER="1.91.0"
inherit cargo check-reqs
CRATE_PV=${PV}
DESCRIPTION="A Python package installer and resolver, written in Rust"
HOMEPAGE="
https://github.com/astral-sh/uv/
https://pypi.org/project/uv/
"
# pypi sdist misses scripts/, needed for tests
SRC_URI="
https://github.com/astral-sh/uv/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
${CARGO_CRATE_URIS}
"
if [[ ${PKGBUMPING} != ${PVR} ]]; then
SRC_URI+="
https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz
"
fi
# most of the code
LICENSE="|| ( Apache-2.0 MIT )"
# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
# Dependent crate licenses
LICENSE+="
0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0
CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 Unicode-DFS-2016
ZLIB
"
# ring crate
LICENSE+=" openssl"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
IUSE="test"
RESTRICT="test"
PROPERTIES="test_network"
DEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-arch/zstd:=
"
RDEPEND="
${DEPEND}
"
BDEPEND="
virtual/pkgconfig
test? (
dev-lang/python:3.9
dev-lang/python:3.10
dev-lang/python:3.11
dev-lang/python:3.12
dev-lang/python:3.13
!!~dev-python/uv-0.5.0
)
"
QA_FLAGS_IGNORED="usr/bin/.*"
check_space() {
local CHECKREQS_DISK_BUILD=3G
use debug && CHECKREQS_DISK_BUILD=9G
check-reqs_pkg_setup
}
pkg_pretend() {
check_space
}
pkg_setup() {
check_space
rust_pkg_setup
}
src_prepare() {
default
# force thin lto, makes build much faster and less memory hungry
# (i.e. makes it possible to actually build uv on 32-bit PPC)
sed -i -e '/lto/s:fat:thin:' Cargo.toml || die
# enable system libraries where supported
export ZSTD_SYS_USE_PKG_CONFIG=1
# TODO: unbundle libz-ng-sys, tikv-jemalloc-sys?
# remove unbundled sources, just in case
find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die
# bzip2-sys requires a pkg-config file
# https://github.com/alexcrichton/bzip2-rs/issues/104
mkdir "${T}/pkg-config" || die
export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}}
cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die
Name: bzip2
Version: 9999
Description:
Libs: -lbz2
EOF
}
src_configure() {
local myfeatures=(
git
pypi
python
)
cargo_src_configure --no-default-features
}
src_compile() {
cd crates/uv || die
cargo_src_compile
}
src_test() {
cd crates/uv || die
cargo_src_test --no-fail-fast
}
src_install() {
cd crates/uv || die
cargo_src_install
insinto /etc/xdg/uv
newins - uv.toml <<-EOF || die
# These defaults match Fedora, see:
# https://src.fedoraproject.org/rpms/uv/pull-request/18
# By default ("automatic"), uv downloads missing Python versions
# automatically and keeps them in the user's home directory.
# Disable that to make downloading opt-in, and especially
# to avoid unnecessarily fetching custom Python when the distro
# package would be preferable. Python builds can still be
# downloaded manually via "uv python install".
#
# https://docs.astral.sh/uv/reference/settings/#python-downloads
python-downloads = "manual"
# By default ("managed"), uv always prefers self-installed
# Python versions over the system Python, independently
# of versions. Since we generally expect users to use that
# to install old Python versions not in ::gentoo anymore,
# this effectively means that uv would end up preferring very
# old Python versions over the newer ones that are provided
# by the system. Default to using the system versions to avoid
# this counter-intuitive behavior.
#
# https://docs.astral.sh/uv/reference/settings/#python-preference
python-preference = "system"
EOF
}

View File

@@ -3,7 +3,7 @@
EAPI=8
RUST_MIN_VER="1.90.0"
RUST_MIN_VER="1.91.0"
inherit cargo check-reqs git-r3

View File

@@ -3,3 +3,4 @@ DIST wcwidth-0.3.0.tar.gz 172238 BLAKE2B ffb6a0db47f924cb1263df9e95024e7e76436ea
DIST wcwidth-0.3.1.tar.gz 233057 BLAKE2B dca2e1458299b9dd76ee5abf23dbf42179c214a27d03e297bfed4e806367b17eb80adeb2d132b6af854c736ce566827fbd71700b6732665e75ccb6c264dbd9fb SHA512 46accd22f52176d5ccbb11bacd588488d07fab6eb2e713ee5fd4cb7f66ba881611a1d553a6232d970db994841f71b074779a84aed9e658e3c41350f70bf6958c
DIST wcwidth-0.3.2.tar.gz 233633 BLAKE2B c342a44c7a7419c6d225dd4b567139ad162b355610c0c42d5e729950676205c63e96b3b5c01189bd3a76863a4c12bd0b47843f3cd774b28b1a6c14aa1fc78776 SHA512 40b4fac28d95d1ba58b2268dec053d4f26b93c0518825a1a86abf9db31f5fc94894eddbcb6f76c203ea5eb5d832be999848106a947efdfb68475f792035cda3a
DIST wcwidth-0.4.0.tar.gz 237625 BLAKE2B 4bbbbb93b7742b435d7c835601788d86ac383ee2cae9f55a344690fc24d94d8f636aa08e0b92307abcffdef805f93f5490324d72158b38ad5ea39e5a0e0e7210 SHA512 fb8e22359098c6a0281669d01dbad98741a7a60c72420288efe731b211ebdaf12bd0f49e943c20b5bf2a26af074e39354e7b629e4cb6a43a27333aa64e80a546
DIST wcwidth-0.5.0.tar.gz 246585 BLAKE2B fa18ed5474efdcb96d2da23efdb123bb22a3bf0cda3e85065898c6e3dcec7d2fcf1c2a6589080182fd72bed94d086bfc38a3f913feb34c187563de206e26ebef SHA512 0ef0c4a5e3de2496f3cab9da69e6e80dc9e3d6770aaa1735909769ff4ceaf1901dbd31f4565c5fca156f1f554d90398e7e10aee3b1cbd98b8ea150c093935ab7

View File

@@ -0,0 +1,32 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
inherit distutils-r1 pypi
DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
HOMEPAGE="
https://pypi.org/project/wcwidth/
https://github.com/jquast/wcwidth/
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
epytest -o addopts=
}
python_install_all() {
docinto docs
dodoc docs/intro.rst
distutils-r1_python_install_all
}

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2024 Gentoo Authors
# Copyright 2013-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: multilib-build.eclass
@@ -6,7 +6,7 @@
# Michał Górny <mgorny@gentoo.org>
# @AUTHOR:
# Author: Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 7 8
# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: flags and utility functions for building multilib packages
# @DESCRIPTION:
# The multilib-build.eclass exports USE flags and utility functions
@@ -21,7 +21,7 @@ if [[ -z ${_MULTILIB_BUILD_ECLASS} ]]; then
_MULTILIB_BUILD_ECLASS=1
case ${EAPI} in
7|8) ;;
7|8|9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
@@ -168,9 +168,12 @@ multilib_get_enabled_abi_pairs() {
# paludis is broken (bug #486592), and switching it locally
# for the split is more complex than cheating like this
for m_abi in ${m_abis//,/ }; do
if [[ ${m_abi} == ${abi} ]] \
&& { [[ ! "${MULTILIB_COMPAT[@]}" ]] || has "${m_flag}" "${MULTILIB_COMPAT[@]}"; } \
&& use "${m_flag}"
if [[ ${m_abi} == ${abi} ]] &&
{
[[ ! "${MULTILIB_COMPAT[@]}" ]] ||
has "${m_flag}" "${MULTILIB_COMPAT[@]}"
} &&
use "${m_flag}"
then
echo "${m_flag}.${abi}"
found=1
@@ -234,10 +237,12 @@ multilib_foreach_abi() {
# is done.
#
# This function used to run multiple commands in parallel. Now it's just
# a deprecated alias to multilib_foreach_abi.
# a deprecated alias to multilib_foreach_abi. It is removed in EAPI 9.
multilib_parallel_foreach_abi() {
debug-print-function ${FUNCNAME} "$@"
[[ ${EAPI} != [78] ]] && die "${FUNCNAME} is banned since EAPI 9"
local MULTIBUILD_VARIANTS=( $(multilib_get_enabled_abi_pairs) )
multibuild_foreach_variant _multilib_multibuild_wrapper "${@}"
}

View File

@@ -1,10 +1,10 @@
# Copyright 2020-2025 Gentoo Authors
# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: verify-sig.eclass
# @MAINTAINER:
# Michał Górny <mgorny@gentoo.org>
# @SUPPORTED_EAPIS: 7 8
# @SUPPORTED_EAPIS: 7 8 9
# @BLURB: Eclass to verify upstream signatures on distfiles
# @DESCRIPTION:
# verify-sig eclass provides a streamlined approach to verifying
@@ -40,15 +40,14 @@
# VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/example.asc
# @CODE
case ${EAPI} in
7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_VERIFY_SIG_ECLASS} ]]; then
_VERIFY_SIG_ECLASS=1
inherit eapi9-pipestatus
case ${EAPI} in
7|8) inherit eapi9-pipestatus ;;
9) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
IUSE="verify-sig"
@@ -345,11 +344,10 @@ verify-sig_verify_unsigned_checksums() {
[[ -n ${junk} ]] && continue
;;
openssl-dgst)
[[ ${line} != *"("*")="* ]] && continue
checksum=${line##*)=}
algo=${line%%(*}
filename=${line#*(}
filename=${filename%)=*}
[[ ${line} =~ ^([[:alnum:]]+)[[:space:]]*[(](.*)[)][[:space:]]*=[[:space:]]*([0-9a-fA-F]+)$ ]] || continue
algo=${BASH_REMATCH[1]}
filename=${BASH_REMATCH[2]}
checksum=${BASH_REMATCH[3]}
;;
esac

View File

@@ -1,6 +1,14 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Michał Górny <mgorny@gentoo.org> (2025-01-27)
# google-auth now unconditionally requires cryptography.
dev-python/google-api-core
dev-python/google-api-python-client
dev-python/google-auth
dev-python/google-auth-httplib2
dev-python/proto-plus
# Michał Górny <mgorny@gentoo.org> (2024-11-29)
# dev-python/translate-toolkit has Rust deps now.
dev-python/translate-toolkit

View File

@@ -238,7 +238,6 @@ app-admin/salt libcloud openssl test
dev-python/aiohttp test
dev-python/cheroot test
dev-python/cherrypy ssl
dev-python/google-auth test
dev-python/pyftpdlib ssl test
dev-python/python-novaclient test
dev-python/requests test

View File

@@ -1,5 +1,6 @@
DIST composable_kernel-7fe50dc3.tar.gz 5380728 BLAKE2B c89c346d8e2d7a93a9cf26409e477fcdd25c43bc3f99d904c3bfe1bc282c6844ef2f2c80aceabe3bf4494db3457285384d5de5a22281aa426ba7479af82b0caf SHA512 a62f92e2dd7da944bd34bab6cf3bf624f630dc316d29c755e9fd523343c3f7648b0b7e0c9a0c8f5e9654477599ae8be9dac687d4054b0390f064ac2e40fc1cd3
DIST composable_kernel-8086bbe3.tar.gz 4418862 BLAKE2B b710e3d4586899443ec01044dad19fd2f992c351e2f65ba526dfcc47cc65c095beaf8ac21a8f71c02a0eb524d364e817b27241a9198884f2bdae9924b51e24e4 SHA512 8410b5a1c864d71f3034ef0d9d1245078856d09cc191faec59856c229bf11d89ae291036d735cb5cec4f1d72e6e9e8f6921833147f9619d30cfab8722d3a9f63
DIST flash-attention-2.7.4.gh.tar.gz 5841323 BLAKE2B 432999d763f2b3d732580ddfea5d3e01370351db0656546259a5e500a07516dd03c98828bfb55855dabe4adc651033b5d97ea4725ca46158b9970f0fbc662710 SHA512 05a4afb09e666f7404d6a3f8b5256e7bed6eba60a6f1bde2b7dbb96d318975f0b458c2521c7a38d88e97b6e4c27f29077cf787849daf82586e33f43a3d9a84b3
DIST pytorch-2.10.0.tar.gz 62555251 BLAKE2B 6b48b4d3d3802a82d37231c472032f8c9390bdbfe9e810ff811f5521737b46794db51e87f7aad3928be917923ae8ac9c619b14d8d0cfacfc115dffb38347bd43 SHA512 929b1be42954f22e2091e0696d6175c8f30752925ce0bbe3a60a9393aff1f0afb228fa5efaf1ce26e78cd9e99294d150109e9ba9cb3243c90e9ec06cc082f74d
DIST pytorch-2.8.0.tar.gz 56565754 BLAKE2B a8f07513b92f9293f8322508f9fc73a462f89fe51cb1f280af371cee19cbe7e2bf900ba2b3c43fd08ea415566db441a6d6310d77f18477e957641be311a361a5 SHA512 448e9dad4aa10f1793d35e6ffe9f0f69b7719d41e6eccceb687a8d0c148e22d03e4f76170a05308ef9323a7aea41aa74605077ae1d68c6d949f13b3340ebf310
DIST pytorch-2.9.1.tar.gz 55764697 BLAKE2B b22e154034f8a25aa3ef949eb6b0456777e11fe5f97de56c6112d93a2e154db425e97848911af458d179f03d7154956f53b715c7b9d7e7f074e0baceac35dad8 SHA512 d7098408d44e0fee9ded4afd6622df6f08757bf02eee878ae25b62a275f82eb16f96a07027c670c6ffdd431c8714c569249bd8518ac8828a504e99908b8c38b1

View File

@@ -0,0 +1,406 @@
# Copyright 2022-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
ROCM_VERSION=6.1
inherit python-single-r1 cmake cuda flag-o-matic prefix rocm toolchain-funcs
MYPN=pytorch
MYP=${MYPN}-${PV}
# caffe2-2.9.0 depends on future version of composable kernel
# TODO: replace it with DEPEND in the future
CK_COMMIT=7fe50dc3da2069d6645d9deb8c017a876472a977
CK_P=composable_kernel-${CK_COMMIT:0:8}
FLASH_PV=2.7.4
FLASH_PN=flash-attention
FLASH_P=${FLASH_PN}-${FLASH_PV}
FLASH_ATT_URI="https://github.com/Dao-AILab/${FLASH_PN}/archive/refs/tags/v${FLASH_PV}.tar.gz -> ${FLASH_P}.gh.tar.gz"
AOTRITON_PV=0.9.2b
AOTRITON_PN=aotriton
AOTRITON_P=${AOTRITON_PN}-${AOTRITON_PV}
AOTRITON_tar=${AOTRITON_P}-manylinux_2_28_x86_64-rocm6.3-shared.tar.gz
DESCRIPTION="A deep learning framework"
HOMEPAGE="https://pytorch.org/"
SRC_URI="
https://github.com/pytorch/${MYPN}/archive/refs/tags/v${PV}.tar.gz -> ${MYP}.tar.gz
rocm? (
https://github.com/ROCm/composable_kernel/archive/${CK_COMMIT}.tar.gz
-> ${CK_P}.tar.gz
)
cuda? (
flash? ( ${FLASH_ATT_URI} )
memefficient? ( ${FLASH_ATT_URI} )
)
"
S="${WORKDIR}"/${MYP}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="cuda cusparselt distributed fbgemm flash gloo memefficient mkl mpi nccl nnpack +numpy
onednn openblas opencl openmp qnnpack rocm xnnpack"
RESTRICT="test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
mpi? ( distributed )
gloo? ( distributed )
?? ( cuda rocm )
rocm? (
|| ( ${ROCM_REQUIRED_USE} )
)
flash? ( || ( cuda rocm ) )
memefficient? ( || ( cuda rocm ) )
nccl? ( rocm )
"
RDEPEND="
${PYTHON_DEPS}
dev-cpp/abseil-cpp:=
dev-cpp/gflags:=
>=dev-cpp/glog-0.5.0:=
dev-libs/cpuinfo
dev-libs/libfmt:=
dev-cpp/opentelemetry-cpp
dev-libs/protobuf:=
dev-libs/sleef
~sci-ml/kineto-0.4.0_p20250617
sci-ml/onnx
virtual/lapack
cuda? (
dev-libs/cudnn
>=sci-ml/cudnn-frontend-1.12.0:=
>=dev-util/nvidia-cuda-toolkit-12.9:=[profiler]
cusparselt? ( dev-libs/cusparselt )
)
fbgemm? ( sci-ml/FBGEMM )
gloo? ( >=sci-ml/gloo-2025.06.04[cuda?,rocm?] )
mpi? ( virtual/mpi )
nnpack? (
sci-ml/NNPACK
dev-libs/pthreadpool
)
numpy? ( $(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
') )
onednn? ( sci-ml/oneDNN )
opencl? ( virtual/opencl )
qnnpack? (
!sci-libs/QNNPACK
sci-ml/gemmlowp
dev-libs/pthreadpool
)
rocm? (
nccl? ( >=dev-libs/rccl-6.3:= <dev-libs/rccl-7.2:= )
>=dev-util/hip-6.3:= <dev-util/hip-7.2:=
>=dev-util/roctracer-6.3:= <dev-util/roctracer-7.2:=
>=sci-libs/hipBLAS-6.3:= <sci-libs/hipBLAS-7.2:=[rocsolver(+)]
>=sci-libs/hipBLASLt-6.3:= <sci-libs/hipBLASLt-7.2:=
>=sci-libs/hipFFT-6.3:= <sci-libs/hipFFT-7.2:=
>=sci-libs/hipRAND-6.3:= <sci-libs/hipRAND-7.2:=
>=sci-libs/hipSOLVER-6.3:= <sci-libs/hipSOLVER-7.2:=
>=sci-libs/hipSPARSE-6.3:= <sci-libs/hipSPARSE-7.2:=
>=sci-libs/miopen-6.3:= <sci-libs/miopen-7.2:=
>=sci-libs/rocBLAS-6.3:= <sci-libs/rocBLAS-7.2:=
>=sci-libs/rocRAND-6.3:= <sci-libs/rocRAND-7.2:=
>=sci-libs/rocSOLVER-6.3:= <sci-libs/rocSOLVER-7.2:=
memefficient? ( =sci-libs/aotriton-bin-0.11*:= )
distributed? ( >=dev-util/rocm-smi-6.3:= <dev-util/rocm-smi-7.2:= )
)
distributed? (
!rocm? ( sci-ml/tensorpipe[cuda?] )
dev-cpp/cpp-httplib:=
)
xnnpack? (
>=sci-ml/XNNPACK-2024.11
dev-libs/pthreadpool
)
mkl? ( sci-libs/mkl )
openblas? ( sci-libs/openblas )
"
DEPEND="
${RDEPEND}
dev-cpp/nlohmann_json
dev-libs/flatbuffers
dev-libs/FXdiv
dev-libs/pocketfft
dev-libs/psimd
sci-ml/FP16
$(python_gen_cond_dep '
dev-python/pybind11[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
')
cuda? ( >=dev-libs/cutlass-3.9.2[tools(+)] )
onednn? ( sci-ml/ideep )
rocm? (
>=sci-libs/hipCUB-6.3:= <sci-libs/hipCUB-7.2:=
>=sci-libs/rocPRIM-6.3:= <sci-libs/rocPRIM-7.2:=
>=sci-libs/rocThrust-6.3:= <sci-libs/rocThrust-7.2:=
)
qnnpack? ( dev-libs/clog )
"
PATCHES=(
"${FILESDIR}"/${PN}-2.5.1-unbundle_fmt.patch
"${FILESDIR}"/${PN}-2.5.1-unbundle_kineto.patch
"${FILESDIR}"/${PN}-2.8.0-unbundle_pocketfft.patch
"${FILESDIR}"/${PN}-2.5.1-cudnn_include_fix.patch
"${FILESDIR}"/${PN}-2.4.0-cpp-httplib.patch
"${FILESDIR}"/${PN}-2.5.1-glog-0.6.0.patch
"${FILESDIR}"/${PN}-2.6.0-rocm-fix-std-cpp17.patch
"${FILESDIR}"/${PN}-2.7.0-glog-0.7.1.patch
"${FILESDIR}"/${PN}-2.7.1-aotriton-fixes.patch
"${FILESDIR}"/${PN}-2.8.0-rocm-minus-flash.patch
"${FILESDIR}"/${PN}-2.9.0-cmake.patch
"${FILESDIR}"/${PN}-2.9.0-rocm-distributed-link.patch
"${FILESDIR}"/${PN}-2.9.1-torch_cpu.patch
"${FILESDIR}"/${P}-gentoo.patch
)
src_prepare() {
if use cuda && ( use flash || use memefficient ); then
mv "${WORKDIR}"/${FLASH_P}/* third_party/${FLASH_PN}/ || die
fi
filter-lto #bug 862672
# Unbundle fmt
sed -i \
-e 's|::fmt-header-only||' \
c10/CMakeLists.txt \
cmake/Dependencies.cmake \
torch/CMakeLists.txt \
|| die
# tensorpipe is in system, not a build target of caffe2
sed -e '/target_compile_options_if_supported(tensorpipe/d' -i cmake/Dependencies.cmake || die
# Drop third_party from CMake tree
sed -i \
-e '/add_subdirectory.*third_party/d' \
CMakeLists.txt \
cmake/Dependencies.cmake \
cmake/ProtoBuf.cmake \
aten/src/ATen/CMakeLists.txt \
|| die
# Change libc10* path
sed -i \
-e "/EXPORT/s|DESTINATION lib)|DESTINATION $(get_libdir))|" \
c10/cuda/CMakeLists.txt \
c10/CMakeLists.txt \
c10/hip/CMakeLists.txt \
|| die
# Change libaotriton path
sed -i \
-e "s|}/lib|}/$(get_libdir)|g" \
cmake/External/aotriton.cmake \
|| die
# Noisy warnings from Logging.h
sed -i 's/-Wextra-semi//' cmake/public/utils.cmake || die
cmake_src_prepare
pushd torch/csrc/jit/serialization > /dev/null || die
flatc --cpp --gen-mutable --scoped-enums mobile_bytecode.fbs || die
popd > /dev/null || die
# prefixify the hardcoded paths, after all patches are applied
hprefixify \
aten/CMakeLists.txt \
caffe2/CMakeLists.txt \
cmake/Metal.cmake \
cmake/Modules/*.cmake \
cmake/Modules_CUDA_fix/FindCUDNN.cmake \
cmake/Modules_CUDA_fix/upstream/FindCUDA/make2cmake.cmake \
cmake/Modules_CUDA_fix/upstream/FindPackageHandleStandardArgs.cmake \
cmake/public/LoadHIP.cmake \
cmake/public/cuda.cmake \
cmake/Dependencies.cmake \
torch/CMakeLists.txt \
CMakeLists.txt
if use rocm; then
sed -e "s:/opt/rocm:/usr:" \
-e "s:lib/cmake:$(get_libdir)/cmake:g" \
-i cmake/public/LoadHIP.cmake || die
# TODO: delete, when caffe2 depends on systemwide composable_kernel
sed -e "s:third_party/composable_kernel:../composable_kernel-${CK_COMMIT}:g" \
-i aten/src/ATen/CMakeLists.txt || die
# Bug 959808: fix for gfx101x targets
pushd "${WORKDIR}/composable_kernel-${CK_COMMIT}" > /dev/null || die
eapply "${FILESDIR}"/composable-kernel-7fe50dc-expand-isa.patch
popd > /dev/null || die
if tc-is-clang; then
# Systemwide gcc (for absl and at::TensorBase) + hipcc (llvm>=18) need abi-compat=17.
# But systemwide clang>=18 + hipcc (>=llvm-18) need opposite!
# See also: https://github.com/llvm/llvm-project/issues/102443#issuecomment-2329726287
sed -e '/-fclang-abi-compat=17/d' -i cmake/Dependencies.cmake || die
fi
# Workaround for libc++ issue https://github.com/llvm/llvm-project/issues/100802
sed -e 's/std::memcpy/memcpy/g' -i torch/headeronly/util/Half.h || die
# Typo: https://github.com/pytorch/pytorch/pull/166502
sed -e 's/gloo_hiop/gloo_hip/' -i cmake/Modules/FindGloo.cmake || die
ebegin "HIPifying cuda sources"
${EPYTHON} tools/amd_build/build_amd.py || die
eend $?
fi
}
src_configure() {
if use cuda && [[ -z ${TORCH_CUDA_ARCH_LIST} ]]; then
ewarn "WARNING: caffe2 is being built with its default CUDA compute capabilities: 3.5 and 7.0."
ewarn "These may not be optimal for your GPU."
ewarn ""
ewarn "To configure caffe2 with the CUDA compute capability that is optimal for your GPU,"
ewarn "set TORCH_CUDA_ARCH_LIST in your make.conf, and re-emerge caffe2."
ewarn "For example, to use CUDA capability 7.5 & 3.5, add: TORCH_CUDA_ARCH_LIST=7.5 3.5"
ewarn "For a Maxwell model GPU, an example value would be: TORCH_CUDA_ARCH_LIST=Maxwell"
ewarn ""
ewarn "You can look up your GPU's CUDA compute capability at https://developer.nvidia.com/cuda-gpus"
ewarn "or by running /opt/cuda/extras/demo_suite/deviceQuery | grep 'CUDA Capability'"
fi
local mycmakeargs=(
-DBUILD_CUSTOM_PROTOBUF=OFF
-DBUILD_TEST=OFF
-DLIBSHM_INSTALL_LIB_SUBDIR="${EPREFIX}"/usr/$(get_libdir)
-DPython_EXECUTABLE="${PYTHON}"
-DTORCH_INSTALL_LIB_DIR="${EPREFIX}"/usr/$(get_libdir)
-DUSE_CCACHE=OFF
-DUSE_CUDA=$(usex cuda)
-DUSE_DISTRIBUTED=$(usex distributed)
-DUSE_FBGEMM=$(usex fbgemm)
-DUSE_FLASH_ATTENTION=$(usex flash)
-DUSE_GFLAGS=ON
-DUSE_GLOG=ON
-DUSE_GLOO=$(usex gloo)
-DUSE_ITT=OFF
-DUSE_KINETO=ON
-DUSE_KLEIDIAI=OFF # TODO
-DUSE_MAGMA=OFF # TODO: In GURU as sci-libs/magma
-DUSE_MEM_EFF_ATTENTION=$(usex memefficient)
-DUSE_MKLDNN=$(usex onednn)
-DUSE_MPI=$(usex mpi)
-DUSE_NCCL=OFF
-DUSE_NNPACK=$(usex nnpack)
-DUSE_NUMA=OFF
-DUSE_NUMPY=$(usex numpy)
-DUSE_OPENCL=$(usex opencl)
-DUSE_OPENMP=$(usex openmp)
-DUSE_PYTORCH_QNNPACK=$(usex qnnpack)
-DUSE_PYTORCH_METAL=OFF
-DUSE_ROCM=$(usex rocm)
-DUSE_SYSTEM_CPUINFO=ON
-DUSE_SYSTEM_EIGEN_INSTALL=ON
-DUSE_SYSTEM_FP16=ON
-DUSE_SYSTEM_FXDIV=ON
-DUSE_SYSTEM_GLOO=ON
-DUSE_SYSTEM_NVTX=ON
-DUSE_SYSTEM_ONNX=ON
-DUSE_SYSTEM_PSIMD=ON
-DUSE_SYSTEM_PTHREADPOOL=ON
-DUSE_SYSTEM_PYBIND11=ON
-DUSE_SYSTEM_SLEEF=ON
-DUSE_SYSTEM_XNNPACK=$(usex xnnpack)
-DUSE_TENSORPIPE=$(use distributed && use !rocm && echo ON || echo OFF)
-DUSE_UCC=OFF
-DUSE_VALGRIND=OFF
-DUSE_XNNPACK=$(usex xnnpack)
-DUSE_XPU=OFF
-Wno-dev
)
if use mkl; then
mycmakeargs+=(-DBLAS=MKL)
elif use openblas; then
mycmakeargs+=(-DBLAS=OpenBLAS)
else
mycmakeargs+=(-DBLAS=Generic -DBLAS_LIBRARIES=)
fi
if use cuda; then
addpredict "/dev/nvidiactl" # bug 867706
addpredict "/dev/char"
addpredict "/proc/self/task" # bug 926116
mycmakeargs+=(
-DUSE_CUDNN=ON
-DTORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST:-3.5 7.0}"
-DUSE_NCCL=OFF # TODO: NVIDIA Collective Communication Library
-DCMAKE_CUDA_FLAGS="$(cuda_gccdir -f | tr -d \")"
-DUSE_CUSPARSELT=$(usex cusparselt)
)
elif use rocm; then
export PYTORCH_ROCM_ARCH="$(get_amdgpu_flags)"
if use memefficient; then
export AOTRITON_INSTALLED_PREFIX="${ESYSROOT}/usr"
fi
mycmakeargs+=(
-DUSE_NCCL=$(usex nccl)
-DUSE_SYSTEM_NCCL=ON
-DCMAKE_REQUIRE_FIND_PACKAGE_HIP=ON
-DUSE_ROCM_CK_SDPA=OFF # requires flash + aiter, works only on gfx90a/gfx942/gfx950
)
# ROCm libraries produce too much warnings
append-cxxflags -Wno-deprecated-declarations -Wno-unused-result -Wno-unused-value
fi
if use onednn; then
mycmakeargs+=(
-DMKLDNN_FOUND=ON
-DMKLDNN_LIBRARIES=dnnl
-DMKLDNN_INCLUDE_DIR="${ESYSROOT}/usr/include/oneapi/dnnl"
)
fi
cmake_src_configure
}
src_compile() {
PYTORCH_BUILD_VERSION=${PV} \
PYTORCH_BUILD_NUMBER=0 \
cmake_src_compile
}
python_install() {
python_domodule python/torch
mkdir "${D}"$(python_get_sitedir)/torch/bin || die
mkdir "${D}"$(python_get_sitedir)/torch/lib || die
mkdir "${D}"$(python_get_sitedir)/torch/include || die
ln -s ../../../../../include/torch \
"${D}$(python_get_sitedir)"/torch/include/torch || die # bug 923269
ln -s ../../../../../bin/torch_shm_manager \
"${D}"/$(python_get_sitedir)/torch/bin/torch_shm_manager || die
ln -s ../../../../../$(get_libdir)/libtorch_global_deps.so \
"${D}"/$(python_get_sitedir)/torch/lib/libtorch_global_deps.so || die
}
src_install() {
cmake_src_install
# Used by pytorch ebuild
insinto "/var/lib/${PN}"
doins "${BUILD_DIR}"/CMakeCache.txt
rm -rf python
mkdir -p python/torch || die
cp torch/version.py python/torch/ || die
python_install
}

View File

@@ -0,0 +1,220 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1084,7 +1084,7 @@
set(CMAKE_COLOR_DIAGNOSTICS ON)
endif()
if(NOT MSVC)
- string(APPEND CMAKE_CXX_FLAGS " -O2 -fPIC")
+ string(APPEND CMAKE_CXX_FLAGS " -O2")
# This prevents use of `c10::optional`, `c10::nullopt` etc within the codebase
string(APPEND CMAKE_CXX_FLAGS " -DC10_NODEPRECATED")
@@ -1095,7 +1095,6 @@
# Details at http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1459
string(APPEND CMAKE_CXX_FLAGS " -Wall")
string(APPEND CMAKE_CXX_FLAGS " -Wextra")
- append_cxx_flag_if_supported("-Werror=return-type" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-Werror=non-virtual-dtor" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-Werror=braced-scalar-init" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-Werror=range-loop-construct" CMAKE_CXX_FLAGS)
@@ -1083,7 +1082,6 @@
endif()
append_cxx_flag_if_supported("-fno-math-errno" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-fno-trapping-math" CMAKE_CXX_FLAGS)
- append_cxx_flag_if_supported("-Werror=format" CMAKE_CXX_FLAGS)
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13)
append_cxx_flag_if_supported("-Wno-dangling-reference" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-Wno-error=dangling-reference" CMAKE_CXX_FLAGS)
append_cxx_flag_if_supported("-Wno-error=redundant-move" CMAKE_CXX_FLAGS)
--- a/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
+++ b/aten/src/ATen/native/quantized/cpu/qnnpack/CMakeLists.txt
@@ -323,7 +323,7 @@
set_target_properties(pytorch_qnnpack PROPERTIES PUBLIC_HEADER include/qnnpack_func.h)
# ---[ Configure clog
-if(NOT TARGET clog)
+if(FALSE)
set(CLOG_BUILD_TESTS OFF CACHE BOOL "")
set(CLOG_RUNTIME_TYPE "${CPUINFO_RUNTIME_TYPE}" CACHE STRING "")
add_subdirectory(
@@ -335,7 +335,8 @@
target_compile_options(clog PRIVATE "-Wno-unused-result")
endif()
endif()
-target_link_libraries(pytorch_qnnpack PUBLIC clog)
+find_library(CLOG_LIBRARY NAMES clog REQUIRED)
+target_link_libraries(pytorch_qnnpack PUBLIC ${CLOG_LIBRARY})
# ---[ Configure cpuinfo
if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO)
--- a/caffe2/CMakeLists.txt
+++ b/caffe2/CMakeLists.txt
@@ -87,7 +87,7 @@ endif()
# Note: the folders that are being commented out have not been properly
# addressed yet.
-if(NOT MSVC AND USE_XNNPACK)
+if(FALSE)
if(NOT TARGET fxdiv)
set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
set(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "")
@@ -1212,7 +1212,6 @@ if(USE_XPU)
endif()
if(NOT MSVC AND USE_XNNPACK)
- TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
endif()
# ==========================================================
@@ -1324,17 +1323,6 @@
target_include_directories(torch_cpu PRIVATE
"/usr/include/kineto")
-if(USE_KINETO)
- target_include_directories(torch_cpu PRIVATE
- ${TORCH_ROOT}/third_party/kineto/libkineto/src)
-endif()
-
-target_include_directories(torch_cpu PRIVATE
- ${TORCH_ROOT}/third_party/cpp-httplib)
-
-target_include_directories(torch_cpu PRIVATE
- ${TORCH_ROOT}/third_party/nlohmann/include)
-
install(DIRECTORY
"${TORCH_SRC_DIR}/csrc"
"${TORCH_SRC_DIR}/headeronly"
--- a/cmake/Codegen.cmake
+++ b/cmake/Codegen.cmake
@@ -64,7 +64,7 @@ if(INTERN_BUILD_ATEN_OPS)
if(MSVC)
set(OPT_FLAG "/fp:strict ")
else(MSVC)
- set(OPT_FLAG "-O3 ")
+ set(OPT_FLAG " ")
if("${CMAKE_BUILD_TYPE}" MATCHES "Debug")
set(OPT_FLAG " ")
endif()
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -492,7 +492,9 @@
set_property(TARGET pytorch_qnnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
set_property(TARGET cpuinfo PROPERTY POSITION_INDEPENDENT_CODE ON)
# QNNPACK depends on gemmlowp headers
- target_include_directories(pytorch_qnnpack PRIVATE "${CAFFE2_THIRD_PARTY_ROOT}/gemmlowp")
+ find_package(gemmlowp REQUIRED)
+ get_target_property(GEMMLOWP_INCLUDE_DIRS gemmlowp::gemmlowp INTERFACE_INCLUDE_DIRECTORIES)
+ target_include_directories(pytorch_qnnpack PRIVATE ${GEMMLOWP_INCLUDE_DIRS})
endif()
list(APPEND Caffe2_DEPENDENCY_LIBS pytorch_qnnpack)
@@ -593,7 +591,7 @@
find_library(microkernels-prod_LIBRARY microkernels-prod)
set_property(TARGET XNNPACK PROPERTY IMPORTED_LOCATION "${XNNPACK_LIBRARY}")
set_property(TARGET microkernels-prod PROPERTY IMPORTED_LOCATION "${microkernels-prod_LIBRARY}")
- if(NOT XNNPACK_LIBRARY OR NOT microkernels-prod_LIBRARY)
+ if(FALSE)
message(FATAL_ERROR "Cannot find XNNPACK")
endif()
message("-- Found XNNPACK: ${XNNPACK_LIBRARY}")
@@ -674,7 +672,7 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
endif()
# ---[ FBGEMM
-if(USE_FBGEMM)
+if(FALSE)
set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
if(NOT DEFINED FBGEMM_SOURCE_DIR)
set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
@@ -698,6 +696,7 @@ if(USE_FBGEMM)
endif()
if(USE_FBGEMM)
+ list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
caffe2_update_option(USE_FBGEMM ON)
else()
caffe2_update_option(USE_FBGEMM OFF)
@@ -1156,7 +1155,6 @@
endif()
set(TP_BUILD_LIBUV ON CACHE BOOL "" FORCE)
add_compile_options(-DTORCH_USE_LIBUV)
- include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/tensorpipe/third_party/libuv/include)
set(TP_STATIC_OR_SHARED STATIC CACHE STRING "" FORCE)
# Tensorpipe uses cuda_add_library
@@ -1676,11 +1676,9 @@
# Include cpp-httplib
add_library(httplib INTERFACE IMPORTED)
-target_include_directories(httplib SYSTEM INTERFACE ${PROJECT_SOURCE_DIR}/third_party/cpp-httplib)
# Include nlohmann-json
add_library(nlohmann INTERFACE IMPORTED)
-include_directories(nlohmann SYSTEM INTERFACE ${PROJECT_SOURCE_DIR}/third_party/nlohmann/include)
# Include moodycamel
add_library(moodycamel INTERFACE IMPORTED)
--- a/cmake/External/nnpack.cmake
+++ b/cmake/External/nnpack.cmake
@@ -56,7 +56,7 @@
set(PTHREADPOOL_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/pthreadpool" CACHE STRING "pthreadpool source directory")
set(GOOGLETEST_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/googletest" CACHE STRING "Google Test source directory")
- if(NOT TARGET nnpack)
+ if(FALSE)
set(NNPACK_BUILD_TESTS OFF CACHE BOOL "")
set(NNPACK_BUILD_BENCHMARKS OFF CACHE BOOL "")
set(NNPACK_LIBRARY_TYPE "static" CACHE STRING "")
--- a/aten/src/ATen/CMakeLists.txt 2025-02-27 14:23:02.402742165 +0100
+++ b/aten/src/ATen/CMakeLists.txt 2025-02-27 14:23:40.445850718 +0100
@@ -448,8 +448,6 @@
if(USE_CUDA)
list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/cuda)
# Next two lines are needed because TunableOp uses third-party/fmt
- list(APPEND ATen_CUDA_INCLUDE $<TARGET_PROPERTY:fmt::fmt-header-only,INTERFACE_INCLUDE_DIRECTORIES>)
- list(APPEND ATen_CUDA_DEPENDENCY_LIBS fmt::fmt-header-only)
list(APPEND ATen_CUDA_CU_SRCS
${cuda_cu}
${native_cuda_cu}
@@ -521,8 +519,6 @@
endif()
# Next two lines are needed because TunableOp uses third-party/fmt
- list(APPEND ATen_HIP_INCLUDE $<TARGET_PROPERTY:fmt::fmt-header-only,INTERFACE_INCLUDE_DIRECTORIES>)
- list(APPEND ATen_HIP_DEPENDENCY_LIBS fmt::fmt-header-only)
if(USE_FLASH_ATTENTION AND USE_ROCM_CK_SDPA)
list(APPEND ATen_HIP_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/native/transformers/hip/flash_attn/ck)
endif()
--- a/torch/CMakeLists.txt
+++ b/torch/CMakeLists.txt
@@ -59,16 +59,10 @@
${CMAKE_BINARY_DIR}/aten/src
${CMAKE_BINARY_DIR}/caffe2/aten/src
${CMAKE_BINARY_DIR}/third_party
- ${CMAKE_BINARY_DIR}/third_party/onnx
${TORCH_ROOT}/third_party/valgrind-headers
- ${TORCH_ROOT}/third_party/gloo
- ${TORCH_ROOT}/third_party/onnx
- ${TORCH_ROOT}/third_party/flatbuffers/include
"/usr/include/kineto"
- ${TORCH_ROOT}/third_party/cpp-httplib
- ${TORCH_ROOT}/third_party/nlohmann/include
${TORCH_SRC_DIR}/csrc
${TORCH_SRC_DIR}/csrc/api/include
--- a/cmake/FlatBuffers.cmake
+++ b/cmake/FlatBuffers.cmake
@@ -1,10 +1 @@
-set(FlatBuffers_Include ${PROJECT_SOURCE_DIR}/third_party/flatbuffers/include)
-file(GLOB FlatBuffers_Library_SRCS
- ${FlatBuffers_Include}/flatbuffers/*.h
-)
add_library(flatbuffers INTERFACE)
-target_sources(
- flatbuffers
- INTERFACE ${FlatBuffers_Library_SRCS}
-)
-target_include_directories(flatbuffers INTERFACE ${FlatBuffers_Include})