diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 38422478fc27b..efb068c2e2bb7 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -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 diff --git a/app-admin/awscli/awscli-1.44.25.ebuild b/app-admin/awscli/awscli-1.44.25.ebuild new file mode 100644 index 0000000000000..993f89ea1d78e --- /dev/null +++ b/app-admin/awscli/awscli-1.44.25.ebuild @@ -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 +} diff --git a/dev-python/blessed/Manifest b/dev-python/blessed/Manifest index 404a756fc3fbd..7e7915a1707fa 100644 --- a/dev-python/blessed/Manifest +++ b/dev-python/blessed/Manifest @@ -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 diff --git a/dev-python/blessed/blessed-1.28.0.ebuild b/dev-python/blessed/blessed-1.28.0.ebuild new file mode 100644 index 0000000000000..4e62bcbcf21f8 --- /dev/null +++ b/dev-python/blessed/blessed-1.28.0.ebuild @@ -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=" +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index ae220289a7ea8..84a59636b9a47 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -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 diff --git a/dev-python/boto3/boto3-1.42.35.ebuild b/dev-python/boto3/boto3-1.42.35.ebuild new file mode 100644 index 0000000000000..019ca75e6b75a --- /dev/null +++ b/dev-python/boto3/boto3-1.42.35.ebuild @@ -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} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 01566e72b38c3..1c5ce6ae444b9 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -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 diff --git a/dev-python/botocore/botocore-1.42.35.ebuild b/dev-python/botocore/botocore-1.42.35.ebuild new file mode 100644 index 0000000000000..d43f8b5c5f238 --- /dev/null +++ b/dev-python/botocore/botocore-1.42.35.ebuild @@ -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/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} +} diff --git a/dev-python/cli-helpers/Manifest b/dev-python/cli-helpers/Manifest index 92447f1b65c73..8cb563de437e9 100644 --- a/dev-python/cli-helpers/Manifest +++ b/dev-python/cli-helpers/Manifest @@ -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 diff --git a/dev-python/cli-helpers/cli-helpers-2.9.0.ebuild b/dev-python/cli-helpers/cli-helpers-2.9.0.ebuild new file mode 100644 index 0000000000000..410669c134eac --- /dev/null +++ b/dev-python/cli-helpers/cli-helpers-2.9.0.ebuild @@ -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 diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest index 7cccc91f768ef..bde96cac0111b 100644 --- a/dev-python/django-polymorphic/Manifest +++ b/dev-python/django-polymorphic/Manifest @@ -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 diff --git a/dev-python/django-polymorphic/django-polymorphic-4.10.3.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.10.5.ebuild similarity index 95% rename from dev-python/django-polymorphic/django-polymorphic-4.10.3.ebuild rename to dev-python/django-polymorphic/django-polymorphic-4.10.5.ebuild index 73c3c189833d9..6e4a0a7eec107 100644 --- a/dev-python/django-polymorphic/django-polymorphic-4.10.3.ebuild +++ b/dev-python/django-polymorphic/django-polymorphic-4.10.5.ebuild @@ -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 ) diff --git a/dev-python/django-polymorphic/django-polymorphic-4.9.1.ebuild b/dev-python/django-polymorphic/django-polymorphic-4.9.1.ebuild deleted file mode 100644 index 93c156df8f268..0000000000000 --- a/dev-python/django-polymorphic/django-polymorphic-4.9.1.ebuild +++ /dev/null @@ -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= -} diff --git a/dev-python/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest index d17cf01c24fcb..3a9c27d7a363e 100644 --- a/dev-python/fritzconnection/Manifest +++ b/dev-python/fritzconnection/Manifest @@ -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 diff --git a/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild b/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild new file mode 100644 index 0000000000000..dd3a831edbfae --- /dev/null +++ b/dev-python/fritzconnection/fritzconnection-1.15.1.ebuild @@ -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" +} diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest index f696ed0e254c7..ef26ebc57695c 100644 --- a/dev-python/google-auth/Manifest +++ b/dev-python/google-auth/Manifest @@ -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 diff --git a/dev-python/google-auth/google-auth-2.43.0.ebuild b/dev-python/google-auth/google-auth-2.48.0.ebuild similarity index 86% rename from dev-python/google-auth/google-auth-2.43.0.ebuild rename to dev-python/google-auth/google-auth-2.48.0.ebuild index ea9ab50614339..3bf5a0bbfb6af 100644 --- a/dev-python/google-auth/google-auth-2.43.0.ebuild +++ b/dev-python/google-auth/google-auth-2.48.0.ebuild @@ -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}] diff --git a/dev-python/gssapi/Manifest b/dev-python/gssapi/Manifest index 75215605a4046..252ba266875d6 100644 --- a/dev-python/gssapi/Manifest +++ b/dev-python/gssapi/Manifest @@ -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 diff --git a/dev-python/gssapi/gssapi-1.9.0.ebuild b/dev-python/gssapi/gssapi-1.11.1.ebuild similarity index 79% rename from dev-python/gssapi/gssapi-1.9.0.ebuild rename to dev-python/gssapi/gssapi-1.11.1.ebuild index f75fba4843572..f7ce6a693d91a 100644 --- a/dev-python/gssapi/gssapi-1.9.0.ebuild +++ b/dev-python/gssapi/gssapi-1.11.1.ebuild @@ -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() { diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 1a48058e35b94..68a9a20c0f970 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -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 diff --git a/dev-python/hypothesis/hypothesis-6.151.2.ebuild b/dev-python/hypothesis/hypothesis-6.151.2.ebuild new file mode 100644 index 0000000000000..84a0d37d14f92 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.151.2.ebuild @@ -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 +} diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest index f512499f53f60..3166acac30cf3 100644 --- a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest +++ b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest @@ -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 diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.4.7.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.5.1.ebuild similarity index 93% rename from dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.4.7.ebuild rename to dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.5.1.ebuild index ccf01751fd4da..7aa345f0ffd16 100644 --- a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.4.7.ebuild +++ b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.5.1.ebuild @@ -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 diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest index bd5338d47a9ca..a75168170ab33 100644 --- a/dev-python/notebook/Manifest +++ b/dev-python/notebook/Manifest @@ -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 diff --git a/dev-python/notebook/notebook-7.5.0.ebuild b/dev-python/notebook/notebook-7.5.3.ebuild similarity index 90% rename from dev-python/notebook/notebook-7.5.0.ebuild rename to dev-python/notebook/notebook-7.5.3.ebuild index 2d7762458d423..840cf0c5493ad 100644 --- a/dev-python/notebook/notebook-7.5.0.ebuild +++ b/dev-python/notebook/notebook-7.5.3.ebuild @@ -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/jupyterlab-4.5[${PYTHON_USEDEP}] + >=dev-python/jupyterlab-4.5.1[${PYTHON_USEDEP}] =dev-python/jupyterlab-server-2.28.0[${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}] " diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest index ec9eb76bfcc94..7897d8b0fea81 100644 --- a/dev-python/uv-build/Manifest +++ b/dev-python/uv-build/Manifest @@ -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 diff --git a/dev-python/uv-build/uv-build-0.9.27.ebuild b/dev-python/uv-build/uv-build-0.9.27.ebuild new file mode 100644 index 0000000000000..1a0d93770833a --- /dev/null +++ b/dev-python/uv-build/uv-build-0.9.27.ebuild @@ -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 +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index d28a82a7e1e9e..19d5017589234 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -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 diff --git a/dev-python/uv/uv-0.9.27.ebuild b/dev-python/uv/uv-0.9.27.ebuild new file mode 100644 index 0000000000000..30f3883671ff9 --- /dev/null +++ b/dev-python/uv/uv-0.9.27.ebuild @@ -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 +} diff --git a/dev-python/uv/uv-9999.ebuild b/dev-python/uv/uv-9999.ebuild index 3fb5535d922d9..e71a4b9b7ff85 100644 --- a/dev-python/uv/uv-9999.ebuild +++ b/dev-python/uv/uv-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -RUST_MIN_VER="1.90.0" +RUST_MIN_VER="1.91.0" inherit cargo check-reqs git-r3 diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest index d01c434b039d6..c7f8f123b3d91 100644 --- a/dev-python/wcwidth/Manifest +++ b/dev-python/wcwidth/Manifest @@ -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 diff --git a/dev-python/wcwidth/wcwidth-0.5.0.ebuild b/dev-python/wcwidth/wcwidth-0.5.0.ebuild new file mode 100644 index 0000000000000..37b4c6631c0e2 --- /dev/null +++ b/dev-python/wcwidth/wcwidth-0.5.0.ebuild @@ -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 +} diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass index 375adc46531a5..14774fc0139ef 100644 --- a/eclass/multilib-build.eclass +++ b/eclass/multilib-build.eclass @@ -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 # @AUTHOR: # Author: Michał Górny -# @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 "${@}" } diff --git a/eclass/verify-sig.eclass b/eclass/verify-sig.eclass index ba1086d6641c1..d9aa60152a091 100644 --- a/eclass/verify-sig.eclass +++ b/eclass/verify-sig.eclass @@ -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 -# @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 diff --git a/profiles/features/wd40/package.mask b/profiles/features/wd40/package.mask index c579ed354311e..5927c0aebcd7c 100644 --- a/profiles/features/wd40/package.mask +++ b/profiles/features/wd40/package.mask @@ -1,6 +1,14 @@ # Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny (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 (2024-11-29) # dev-python/translate-toolkit has Rust deps now. dev-python/translate-toolkit diff --git a/profiles/features/wd40/package.use.mask b/profiles/features/wd40/package.use.mask index aa1a6029b8430..4bb52c2d7a15c 100644 --- a/profiles/features/wd40/package.use.mask +++ b/profiles/features/wd40/package.use.mask @@ -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 diff --git a/sci-ml/caffe2/Manifest b/sci-ml/caffe2/Manifest index 71de6ac421f8d..35010993e9558 100644 --- a/sci-ml/caffe2/Manifest +++ b/sci-ml/caffe2/Manifest @@ -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 diff --git a/sci-ml/caffe2/caffe2-2.10.0.ebuild b/sci-ml/caffe2/caffe2-2.10.0.ebuild new file mode 100644 index 0000000000000..c95b5716ae7fe --- /dev/null +++ b/sci-ml/caffe2/caffe2-2.10.0.ebuild @@ -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-util/hip-6.3:= =dev-util/roctracer-6.3:= =sci-libs/hipBLAS-6.3:= =sci-libs/hipBLASLt-6.3:= =sci-libs/hipFFT-6.3:= =sci-libs/hipRAND-6.3:= =sci-libs/hipSOLVER-6.3:= =sci-libs/hipSPARSE-6.3:= =sci-libs/miopen-6.3:= =sci-libs/rocBLAS-6.3:= =sci-libs/rocRAND-6.3:= =sci-libs/rocSOLVER-6.3:= =dev-util/rocm-smi-6.3:= =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/rocPRIM-6.3:= =sci-libs/rocThrust-6.3:= /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 +} diff --git a/sci-ml/caffe2/files/caffe2-2.10.0-gentoo.patch b/sci-ml/caffe2/files/caffe2-2.10.0-gentoo.patch new file mode 100644 index 0000000000000..b211756a49ccf --- /dev/null +++ b/sci-ml/caffe2/files/caffe2-2.10.0-gentoo.patch @@ -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 $) +- 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 $) +- 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})