diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index 166423f1b5c8d..fa7579c05bbd9 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -6,4 +6,5 @@ DIST aws-cli-1.38.21.gh.tar.gz 2943903 BLAKE2B d7b78e85e552c90321bb5f8ac3db4aee1 DIST aws-cli-1.38.22.gh.tar.gz 2944494 BLAKE2B 01ec94cc6b644a79396e532cd563851b5ecd65e7fe29ec4caad3f1383fc6fcf9798844e342fe16a74617c7e7c43db60c1c9e31ba4480ae7784d30c045edce782 SHA512 45a927a9b2cdf9c99229c3ded7d72dea28aff873336c7459a313d71d5f7a1d5f4c6c9b4ca457b66c8887b33a9e51a873fb41e60b94102c813fecf22359d6d6aa DIST aws-cli-1.38.23.gh.tar.gz 2945172 BLAKE2B e60a7465a8f03e73244eee0e8993f35cdfd4210aa16fa63ad2b5813420b0401fd7a8589da68f61c18f4c4a3aef198ac05b1e2d48ba51d0300135ea3b1d54d547 SHA512 c3bf38d2cc3e7b1f783ca9424f64bcb9c1757874d47bc7d44e98f9c42f4e1841749ec0d8a984b249215aefe1e2c44f55ff76708fb8ac630ce5bd8375a230197b DIST aws-cli-1.38.24.gh.tar.gz 2946279 BLAKE2B 96f6ad7a7c44a59b174edff0176c4d986598a49fa3606c2c5c77d1b3ccf5cf8d349155a2f8fb0c71ad10af0a5d1f5ad4f5ea042debb81ff11fd7bd60c232ced6 SHA512 145a81e957015c911fda29c419c6ebf6bd05ff3b1c9a1169bb73aa32f0557a05577bc5c8aca359a1beac1f9f98ecb91039660622e0b3613521ff771ba2ad27c6 +DIST aws-cli-1.38.25.gh.tar.gz 2946867 BLAKE2B 49cc1b731d3d35bbbb6d436beb96d30940934a7a53d126e15ac2c56f9b9c39896d720ca2fa866a887a91085c7d81d9bbc3edd7368aba3559918d4b21e4be0ee2 SHA512 3ad60d3b33d8da118d92895bf114da00e150ac3cc526397ac9101c5fff409319ddf40fea3f4820ee2159b6bd83e940784245439b7bb845939569551c9e8c2b38 DIST aws-cli-1.38.9.gh.tar.gz 2921470 BLAKE2B fb6b616095702417335be03a763a4434759c79fa1a31ec7c8c84cb59567461167b0b3c5b80baa950cd0b7298985b298c825f669b82d33ef5bd35adefe947729c SHA512 23fd65c3a0b0c8bb0cd64d52db924cddc8663671c0d80e45c9af1afb2c8558e42eed7a88d3fba2351fa1cf2d0dda1ca1b51a3baaba04b5249bd5d1551059b100 diff --git a/app-admin/awscli/awscli-1.38.25.ebuild b/app-admin/awscli/awscli-1.38.25.ebuild new file mode 100644 index 0000000000000..88651d723a583 --- /dev/null +++ b/app-admin/awscli/awscli-1.38.25.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 shell-completion + +MY_P=aws-cli-${PV} +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE=" + https://github.com/aws/aws-cli/ + https://pypi.org/project/awscli/ +" +SRC_URI=" + https://github.com/aws/aws-cli/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" + +# botocore is x.(y-1).z +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) - 1)).$(ver_cut 3-)" +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + dev-python/colorama[${PYTHON_USEDEP}] + dev-python/docutils[${PYTHON_USEDEP}] + dev-python/rsa[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + !app-admin/awscli-bin +" +BDEPEND=" + test? ( + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pytest-forked[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + # strip overzealous upper bounds on requirements + sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die + distutils-r1_src_prepare +} + +python_test() { + local serial_tests=( + tests/functional/ecs/test_execute_command.py::TestExecuteCommand::test_execute_command_success + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_{fails,success} + tests/functional/ssm/test_start_session.py::TestSessionManager::test_start_session_with_new_version_plugin_success + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking + tests/unit/customizations/codeartifact/test_adapter_login.py::TestDotNetLogin::test_login_dotnet_sources_listed_with_backtracking_windows + tests/unit/customizations/codeartifact/test_adapter_login.py::TestNuGetLogin::test_login_nuget_sources_listed_with_backtracking + tests/unit/customizations/ecs/test_executecommand_startsession.py::TestExecuteCommand::test_execute_command_success + tests/unit/customizations/test_sessionmanager.py + tests/unit/test_compat.py::TestIgnoreUserSignals + tests/unit/test_help.py + tests/unit/test_utils.py::TestIgnoreCtrlC::test_ctrl_c_is_ignored + ) + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + EPYTEST_XDIST= epytest "${serial_tests[@]}" + + local EPYTEST_DESELECT=( + "${serial_tests[@]}" + + # flaky (some ordering?) + tests/functional/s3/test_cp_command.py::TestCPCommand::test_multipart_upload_with_checksum_algorithm_crc32 + ) + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + newzshcomp bin/aws_zsh_completer.sh _aws + + distutils-r1_python_install_all + + rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die +} diff --git a/app-portage/mgorny-dev-scripts/Manifest b/app-portage/mgorny-dev-scripts/Manifest index 9b6bc5bd05212..0756ce2c92b0b 100644 --- a/app-portage/mgorny-dev-scripts/Manifest +++ b/app-portage/mgorny-dev-scripts/Manifest @@ -1 +1,2 @@ DIST mgorny-dev-scripts-57.tar.gz 19364 BLAKE2B 6e53eee063781f8edcb48ec6f72e0d727f7eac4c85edc784bc67cbda4a9eeffffc17031d95ffde1aadd593f9b6eb30973c0387d6cc4270608a704585e185d1b6 SHA512 b989631f6bc5840b8c01b3a3998b980a6702fab64c8f66c131bc3fe5835fef973ae26fd0012310bff6781f116fce23c3a990d11d7de05016a1c5ad355e83190c +DIST mgorny-dev-scripts-58.tar.gz 19367 BLAKE2B ed285ed0983b167f93b15f7c306a06dce41a78191884d8ac72dad2be536cab7446a6741a167d8b26bb623d0e3ff0ea9b980eab99ba355f17a86972e10ef62b69 SHA512 6db675eed88f2051342b6b3f44f6b907ffe70102648f69b93c9f07b5c46bafc21f4e462c895fe0554fb74fbd9c4e14cbae1961753b71d255a6da45d7854890ba diff --git a/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-58.ebuild b/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-58.ebuild new file mode 100644 index 0000000000000..6adf4c2f13a3e --- /dev/null +++ b/app-portage/mgorny-dev-scripts/mgorny-dev-scripts-58.ebuild @@ -0,0 +1,32 @@ +# Copyright 2019-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Handy scripts for ebuild development and more" +HOMEPAGE="https://github.com/projg2/mgorny-dev-scripts/" +SRC_URI=" + https://github.com/projg2/mgorny-dev-scripts/archive/v${PV}.tar.gz + -> ${P}.tar.gz +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos" + +RDEPEND=" + app-portage/gentoolkit + >=app-portage/gpyutils-0.12 + dev-perl/URI + dev-util/pkgcheck + dev-vcs/git + net-misc/wget + sys-apps/portage + x11-misc/xdg-utils +" + +src_install() { + dodoc README.rst + rm -f COPYING README.rst || die + dobin * +} diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest index b6a47c71c1dfc..a8e2fa1140f1a 100644 --- a/dev-python/aiohttp/Manifest +++ b/dev-python/aiohttp/Manifest @@ -1,3 +1,4 @@ DIST aiohttp-3.11.13.tar.gz 7674284 BLAKE2B 1975baf20e3d1b7fa5b6b5fbdf4fb916fea57fbfb2dbe9295300fa2952b1cd7fb8aaa814e37bb5c403e43ea9930ca35f9ca17bba5359e8c07e535dfc1d71d607 SHA512 cd9745ea07041e438bb42508ed86095582b7121d233719e9d16033c34d567063c2fd091536ab45ea1695ba118d49b955c56153fe7d6b51c2ee0a4760bfd816a9 DIST aiohttp-3.11.14.tar.gz 7676994 BLAKE2B e8e048c01db9600df3bdc7bdc6e5066094b4575d08fef3ec7d0a78763a701cd3501dce435b80d3fbea28d2e7bf4110a5cc9e0ccec2bc3745835cadcb27528404 SHA512 38e51d3640b533d9bd639a59657bf7affbfc0b1a9dc40d77175d6528044e23b1e524589b9a10e0159eb8f9ba29e96b3e67529a9d11f1c53760a70800d813d13f DIST aiohttp-3.11.15.tar.gz 7676625 BLAKE2B 02a5230bd9d038f0e90e4b63e69502a8f2445b781e0b4ff6e40657d7c0d49ddce011ba28c3ddc03cd75a4e205d3544af15f9944f9908064d6f9b922862cc8ab0 SHA512 deeaed7f204fef23641d076d1fd455ebe97173726e2cfc47f82fffc654c51e975fb3012ac78bf60181771e001f3e6f3aac67e2bfc9ed9291ff6d92873969eb0e +DIST aiohttp-3.11.16.tar.gz 7676826 BLAKE2B ae430c8d5e3c84442c95f6c485be2ca69df00b7dd2047ed34d7825c0f250b71ca1490140a1aff8b3dfcdb2af367958e59c94c60b288b7f534b1e1b0457debc10 SHA512 890f576d5ec8c364f8db29b1c4a540cd39cf61fa1fd17ec70049a8c1bf401745d8326e2b7b51bbbc7a2569bfe42f7aab022c23be186bb67f064a32ed16af18dd diff --git a/dev-python/aiohttp/aiohttp-3.11.16.ebuild b/dev-python/aiohttp/aiohttp-3.11.16.ebuild new file mode 100644 index 0000000000000..2c0d281aa7536 --- /dev/null +++ b/dev-python/aiohttp/aiohttp-3.11.16.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="HTTP client/server for asyncio" +HOMEPAGE=" + https://github.com/aio-libs/aiohttp/ + https://pypi.org/project/aiohttp/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+native-extensions test-rust" + +RDEPEND=" + >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}] + >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}] + >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}] + >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}] + dev-python/brotlicffi[${PYTHON_USEDEP}] + >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}] + >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}] + >=dev-python/propcache-0.2.0[${PYTHON_USEDEP}] + >=dev-python/yarl-1.17.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + =dev-python/async-timeout-4.0[${PYTHON_USEDEP}] + ' 3.10) +" +BDEPEND=" + native-extensions? ( + dev-python/cython[${PYTHON_USEDEP}] + ) + test? ( + dev-python/freezegun[${PYTHON_USEDEP}] + www-servers/gunicorn[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/re-assert[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/time-machine[${PYTHON_USEDEP}] + ' 'python3*') + test-rust? ( + dev-python/trustme[${PYTHON_USEDEP}] + ) + ) +" + +DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst ) + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # increase the timeout a little + sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die + # xfail_strict fails on py3.10 + sed -i -e '/--cov/d' -e '/pytest_cov/d' -e '/xfail_strict/d' setup.cfg || die + sed -i -e 's:-Werror::' Makefile || die + + distutils-r1_src_prepare +} + +python_configure() { + if [[ ! -d tools && ${EPYTHON} != pypy3 ]] && use native-extensions + then + # workaround missing files + mkdir tools || die + > requirements/cython.txt || die + > tools/gen.py || die + chmod +x tools/gen.py || die + # force rehashing first + emake requirements/.hash/cython.txt.hash + > .update-pip || die + > .install-cython || die + emake cythonize + fi +} + +python_compile() { + # implicitly disabled for pypy3 + if ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + distutils-r1_python_compile +} + +python_test() { + local EPYTEST_IGNORE=( + # proxy is not packaged + tests/test_proxy_functional.py + # python_on_whales is not packaged + tests/autobahn/test_autobahn.py + # benchmarks + tests/test_benchmarks_client.py + tests/test_benchmarks_client_request.py + tests/test_benchmarks_client_ws.py + tests/test_benchmarks_cookiejar.py + tests/test_benchmarks_http_websocket.py + tests/test_benchmarks_http_writer.py + tests/test_benchmarks_web_fileresponse.py + tests/test_benchmarks_web_middleware.py + tests/test_benchmarks_web_response.py + tests/test_benchmarks_web_urldispatcher.py + ) + + local EPYTEST_DESELECT=( + # Internet + tests/test_client_session.py::test_client_session_timeout_zero + # broken by irrelevant deprecation warnings + tests/test_circular_imports.py::test_no_warnings + ) + + # upstream unconditionally blocks building C extensions + # on PyPy3 but the test suite needs an explicit switch + if [[ ${EPYTHON} == pypy3* ]] || ! use native-extensions; then + local -x AIOHTTP_NO_EXTENSIONS=1 + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin + rm -rf aiohttp || die + epytest -m "not internal and not dev_mode" \ + -p rerunfailures --reruns=5 +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index ade5e80f82d91..8745b2dcf09f6 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -6,4 +6,5 @@ DIST boto3-1.37.21.gh.tar.gz 918526 BLAKE2B eb7ed9411680d46c02050a6dda80dff93202 DIST boto3-1.37.22.gh.tar.gz 919362 BLAKE2B f36e850e4b7089325f32c41ef1d60373fbdfbf35d1d56b9236f8eae10e665474d5612c3567e58a28ef5f9164c31286b5cd86ecb9b545e34e63dd4a7119203f0e SHA512 829f7b6446746efc688828e5c6264b380f5e550b9bad85c4a572c56b4030766a049ace67f0d979f0afe1dca01cbbb9174d1e60fe9d24e8179a1c699d0ab42936 DIST boto3-1.37.23.gh.tar.gz 920294 BLAKE2B c1bfcb5dd8c883c122b530ac2756c77884d74a43caeaeaded4e7f26bf9fbe829c7b4d70968b19e2561b4ed495c8e05e141ae365fcff7fa10159ff0c04dcc1f3e SHA512 b2fb0b4730e32ec881e933eeb6e57ce5dcffe9cfe5f586a15e5a9abea5d3a515d5db0c66058af3c0c8c206472fdfef80b74b750bd024718078ec9a5a94b01e29 DIST boto3-1.37.24.gh.tar.gz 920927 BLAKE2B 420db6c337247d54992f094aecf0c1a08fd0c49c565d5b30d53d3111dc321828a09006734018f4487c633919bcf3d6ff1d073d1147c1498ba11ef7fba9f25dee SHA512 f4c6d8e8014f05b0fcc78d8d70940387f034de026674cc640ada7f2eaf001f072f96ce4231b65a123efcf8a4051bcdc3c1ab67b2e14551d3c225279a341b9ad4 +DIST boto3-1.37.25.gh.tar.gz 920853 BLAKE2B f1ef1df964b0fc8d1b3072d7c26c8737f52556745152b055940355f62ca578a2fa99110d9aaacaef6ca7173466953a4f9e9d4d1ea248cc896ac17cdde92b9fef SHA512 eda2476087dd106549ef51e83785def18bcee070c3cd03a7fca54b63d404c363aa9bf26b85760b9ac7dffc3ff51bbaf947d8e6f8e33ea5fc617a74059109e597 DIST boto3-1.37.9.gh.tar.gz 911836 BLAKE2B d190525b9c5e39b445042aba6d8e57da5e49165775901ceebe44b76fd2780ec85a2f5a8a08d3a9a5e451d42bbae19b679e565a7a9acc663258ea0b7909a9a798 SHA512 12cba48d5f2c158b372eaf4e44903e22ca963e5712c3c463fbfd20626a771efe30530852b6c9ab70132a26472ff1b4656095675a5de37524f6b489c25175f8fe diff --git a/dev-python/boto3/boto3-1.37.25.ebuild b/dev-python/boto3/boto3-1.37.25.ebuild new file mode 100644 index 0000000000000..b087a88814e88 --- /dev/null +++ b/dev-python/boto3/boto3-1.37.25.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE=" + https://github.com/boto/boto3/ + https://pypi.org/project/boto3/ +" +SRC_URI=" + https://github.com/boto/boto3/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/botocore-${PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.11.0[${PYTHON_USEDEP}] +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # do not rely on bundled deps in botocore (sic!) + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 991ba394c93d0..d304ef4e369c1 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -6,4 +6,5 @@ DIST botocore-1.37.21.gh.tar.gz 14395519 BLAKE2B 7c90142d0441b366c43c63816bfbc68 DIST botocore-1.37.22.gh.tar.gz 14402437 BLAKE2B 4519e3f3ca1c42b2e0445d98d7afd669a02009cdc34b4e3a83e801b508a1c8b6afb6b739bc168d543260e24468436395f0dc469d2e1e687f8821ed12f916e04e SHA512 15b8adbe57f73179df7cb19cb8940d6ca9510c3b4716899a3fb448271e7d15b1640b64e51d5db62d4ab0a194d4900acb9f99e40f6980e3918531c350b6bfa244 DIST botocore-1.37.23.gh.tar.gz 14408721 BLAKE2B 6309e847210a3f7f916679078fba54afff6369d0d983638a1f0535da30349e918699c022929585d5d106a47822f746429b5eb4e52f0996059ce38f989cbf05c2 SHA512 61147b40c082469c5d99ba626ce1549c2d640c25151ae39e588c1ca15c20aa3eff1eeb1d91de18c62203099d45f1a70541e675b9c5ab14f5c04f90982f9a2ddd DIST botocore-1.37.24.gh.tar.gz 14428720 BLAKE2B ca94c865048529d48eeb02721fdccb18051d7b1190645d80204d306f1774e46342f88dcb5dd51c73c1ecad133d36bf42b6b6e4f4c3bdb31b6468aea398cf4a47 SHA512 bc34c69f507144f6f84ba5af796b0c40ee2ea2d6f3eb2e51bc882ecd782f9cc0334b6ee4380aeb42800491d1f09440039ec57c2de06f45ccaa25a570889d5367 +DIST botocore-1.37.25.gh.tar.gz 14523205 BLAKE2B f6bb565b57ee8d1c61c21a5f11363e1c286d359a74884cc65d870c9f06fda7682f23cf9a88e698cef4fc8b1d1b8bee1895bff9088ee3b42e795075a43b49d1cb SHA512 79a76916d97961be7b6b7aafd56f99c0ebb8e8c59e6c1dca4aa6a9ae741528f20c75e685bddc0f843424be3bcaa7cbc541283db9446a5a54eb059efd13982bf8 DIST botocore-1.37.9.gh.tar.gz 14346488 BLAKE2B 29ac550ad462ab7c83bad7989588ec62fb57959586a8ec91be9756d90712ad86e3dfd813a347e619b7cac3fd7afb56affcd81926e15d91b8d0ceae2cd4436a8d SHA512 e191c9485e95188049c02020fcb32c4429de6cfd78f237a2026200b7240890d5759f5cdd96166cd2aec035dac82d32db155fe00d9ec6be482c655cfdb44265f9 diff --git a/dev-python/botocore/botocore-1.37.25.ebuild b/dev-python/botocore/botocore-1.37.25.ebuild new file mode 100644 index 0000000000000..9e1580d455818 --- /dev/null +++ b/dev-python/botocore/botocore-1.37.25.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + =dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest index ae9e0f65659f5..bd1bf78cf72d0 100644 --- a/dev-python/griffe/Manifest +++ b/dev-python/griffe/Manifest @@ -1,4 +1 @@ -DIST griffe-1.6.3.gh.tar.gz 395341 BLAKE2B c2beca0377d6d4a43a9a833142d1750d10fb4584c451cc7c9758275bfb58e6078634e79a204794b3b360d7afff0b37d68fb12d2f845ae846a6aa97ccb696538d SHA512 7b9197854ea8262bbcfa14fcd18dfb10e6bde253b92b7e88fc199f49f73d76f3641a6d3df8e383b4b1e2736a35f204eafe520347f00fd0f3c4f7bfd9a56d1e3e -DIST griffe-1.7.0.gh.tar.gz 397619 BLAKE2B ecd2b490ec4fa37e5ac4bc0ac509145093245345af81a933d9b1e763c94e3fe0e6fdcd8a8d73f276c6740a1dd5397eedaa647efee6c01bab7e55b914cc43e1fd SHA512 c69d7ddbd5641f8cc1c0b920349488dcf1f61109d3437a4658ae1379ee80cabf02073c0c25a41ba1ef5a627a8c27fd42bd6339931af043ce866ab096d064ffb2 -DIST griffe-1.7.1.gh.tar.gz 397814 BLAKE2B fe481ae8cbffb79f355881fd5030ef43275c3bd8732757f77b5038a757629024b223374c33d9a5140fe0c375e54153e9835c267548282d545596c3b4a183afc8 SHA512 e2c538e2a413f2803c714ba2326599453ca7fd4ffbb6221076ef3a00ea95a159a852b9ad766cf0e66364cd1d05748b39efac534c6b7429cb276b85d09f6e2342 DIST griffe-1.7.2.gh.tar.gz 398102 BLAKE2B ec4125401ce079dee0795b5bf2db0f74799f3a0c8a122c5c47317fa040cec79772b08aab4e168f4a6ade3ba9e9f4b17b4def17108e9c27ab69d0b701896f2f53 SHA512 4e1573cdfa8a5ba37b932448ed4647a0e37ed680ade4c099e21a0c1ef038840392d5ff906e763bba584d5777b6e6571842f848e3eb3faa4f7f474d61744ba26b diff --git a/dev-python/griffe/griffe-1.6.3.ebuild b/dev-python/griffe/griffe-1.6.3.ebuild deleted file mode 100644 index 115d0beb002b1..0000000000000 --- a/dev-python/griffe/griffe-1.6.3.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=pdm-backend -PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Signature generator for Python programs" -HOMEPAGE=" - https://mkdocstrings.github.io/griffe/ - https://github.com/mkdocstrings/griffe/ - https://pypi.org/project/griffe/ -" -# Tests need files absent from the PyPI tarballs -SRC_URI=" - https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -RDEPEND=" - >=dev-python/colorama-0.4[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}] - ' 3.10) -" -BDEPEND=" - test? ( - >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}] - >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export PDM_BUILD_SCM_VERSION=${PV} - -python_test() { - local EPYTEST_DESELECT=( - # fragile to installed packages - # (failed on PySide2 for me) - tests/test_stdlib.py::test_fuzzing_on_stdlib - ) - - case ${EPYTHON} in - pypy3.11) - EPYTEST_DESELECT+=( - # https://github.com/pypy/pypy/issues/5226 - tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless - ) - ;& - pypy3*) - EPYTEST_DESELECT+=( - # tries importing CPython-specific modules - # https://github.com/mkdocstrings/griffe/issues/362 - tests/test_loader.py::test_load_builtin_modules - ) - ;; - esac - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/griffe/griffe-1.7.0.ebuild b/dev-python/griffe/griffe-1.7.0.ebuild deleted file mode 100644 index 115d0beb002b1..0000000000000 --- a/dev-python/griffe/griffe-1.7.0.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=pdm-backend -PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Signature generator for Python programs" -HOMEPAGE=" - https://mkdocstrings.github.io/griffe/ - https://github.com/mkdocstrings/griffe/ - https://pypi.org/project/griffe/ -" -# Tests need files absent from the PyPI tarballs -SRC_URI=" - https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -RDEPEND=" - >=dev-python/colorama-0.4[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}] - ' 3.10) -" -BDEPEND=" - test? ( - >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}] - >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export PDM_BUILD_SCM_VERSION=${PV} - -python_test() { - local EPYTEST_DESELECT=( - # fragile to installed packages - # (failed on PySide2 for me) - tests/test_stdlib.py::test_fuzzing_on_stdlib - ) - - case ${EPYTHON} in - pypy3.11) - EPYTEST_DESELECT+=( - # https://github.com/pypy/pypy/issues/5226 - tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless - ) - ;& - pypy3*) - EPYTEST_DESELECT+=( - # tries importing CPython-specific modules - # https://github.com/mkdocstrings/griffe/issues/362 - tests/test_loader.py::test_load_builtin_modules - ) - ;; - esac - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/griffe/griffe-1.7.1.ebuild b/dev-python/griffe/griffe-1.7.1.ebuild deleted file mode 100644 index 115d0beb002b1..0000000000000 --- a/dev-python/griffe/griffe-1.7.1.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=pdm-backend -PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) - -inherit distutils-r1 - -DESCRIPTION="Signature generator for Python programs" -HOMEPAGE=" - https://mkdocstrings.github.io/griffe/ - https://github.com/mkdocstrings/griffe/ - https://pypi.org/project/griffe/ -" -# Tests need files absent from the PyPI tarballs -SRC_URI=" - https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="ISC" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -RDEPEND=" - >=dev-python/colorama-0.4[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - >=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}] - ' 3.10) -" -BDEPEND=" - test? ( - >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.28.0[${PYTHON_USEDEP}] - >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -export PDM_BUILD_SCM_VERSION=${PV} - -python_test() { - local EPYTEST_DESELECT=( - # fragile to installed packages - # (failed on PySide2 for me) - tests/test_stdlib.py::test_fuzzing_on_stdlib - ) - - case ${EPYTHON} in - pypy3.11) - EPYTEST_DESELECT+=( - # https://github.com/pypy/pypy/issues/5226 - tests/test_inspector.py::test_inspecting_objects_from_private_builtin_stdlib_moduless - ) - ;& - pypy3*) - EPYTEST_DESELECT+=( - # tries importing CPython-specific modules - # https://github.com/mkdocstrings/griffe/issues/362 - tests/test_loader.py::test_load_builtin_modules - ) - ;; - esac - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index 220601ea7422f..964189ed61227 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -2,3 +2,4 @@ DIST hypothesis-6.128.2.gh.tar.gz 9522813 BLAKE2B cc466d24bf45b5a0916f47d6a7ed12 DIST hypothesis-6.129.4.gh.tar.gz 9528147 BLAKE2B c85806af24ddd934338f99c9d62a577fb35c8809d71ddf23aea0d613f33e690c70662279e88f4680d48c0c3b51fa10ff99c29fde7cf2d3c094cfaa0aa65b7612 SHA512 aec846f34e3a66da8a79929da681bd41ac7deb4a83934a51ee69bf989ddb8f3f7bd8f612571e625d3334cf786e3841b4e4d05fe4368e930e5975077e0f027a7d DIST hypothesis-6.130.5.gh.tar.gz 9529886 BLAKE2B 4c9bcb811892e5c1251887e0ebebefd57104c1317e38f0ae358312b2f072c2c4e914c619a8a5505bbde57ac81f8351bbc28a1e957b0942ea10f72541937c74b2 SHA512 603c4723574683410e3d660938326c2ddc1f517311613bcf47a029f62d39e7c5a7cd053041ac6837dd53b4ecc9b4ed19c2374c43a6978837c59bfd8f0c2f9862 DIST hypothesis-6.130.6.gh.tar.gz 9530097 BLAKE2B d3f6dd0f43a509cbeb250696029ab32130b180089c2b5b8af924da04b8c64238e7ff076719f145880e590e7996d8480195d2503d64e33fd7ebe0b40d8600de88 SHA512 41254e0756af3e8116818c88996e15c1582945a592e9d7ba9d2fd023a0de62a89b697460b12b99b8560c85988737597d74ae9dc4d8336d4c643ab51cfdcde0eb +DIST hypothesis-6.130.7.gh.tar.gz 9530483 BLAKE2B da79c2f77e55e2d920147bd1a067e52931ec49a6e85895ca781e2a846c0d7e782959a07f6caa4f0ffbc44da924d6b800f4b61cc63edff8ac31bcce64758a7181 SHA512 6a102ebc03dd155f499a6d839a55fa3379125604e6b859e4fb56d6e8ad3bc0612779edc74c1cc987147e4f495d0b28ffb06461de78f8119ea7c13c14767ad8d9 diff --git a/dev-python/hypothesis/hypothesis-6.130.7.ebuild b/dev-python/hypothesis/hypothesis-6.130.7.ebuild new file mode 100644 index 0000000000000..5e0df5815a5e2 --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.130.7.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +CLI_COMPAT=( pypy3 python3_{10..13} ) +PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3_11 ) +PYTHON_REQ_USE="threads(+),sqlite" + +inherit distutils-r1 optfeature + +TAG=hypothesis-python-${PV} +MY_P=hypothesis-${TAG} +DESCRIPTION="A library for property based testing" +HOMEPAGE=" + https://github.com/HypothesisWorks/hypothesis/ + https://pypi.org/project/hypothesis/ +" +SRC_URI=" + https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz + -> ${P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}/hypothesis-python" + +LICENSE="MPL-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="cli" + +RDEPEND=" + >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}] + >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}] + ' 3.9 3.10) + cli? ( + $(python_gen_cond_dep ' + dev-python/black[${PYTHON_USEDEP}] + dev-python/click[${PYTHON_USEDEP}] + ' "${CLI_COMPAT[@]}") + ) +" +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pytest-8[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + # subtests are broken by warnings from random plugins + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin + local -x HYPOTHESIS_NO_PLUGINS=1 + + # NB: paths need to be relative to pytest.ini, + # i.e. start with hypothesis-python/ + local EPYTEST_DESELECT=() + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + # failing due to warnings from numpy/cython + hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + # TODO + 'hypothesis-python/tests/cover/test_reflection.py::test_clean_source[case-5]' + ) + ;; + esac + + epytest -o filterwarnings= -p rerunfailures --reruns=5 \ + tests/cover tests/pytest tests/quality +} + +src_install() { + local HAD_CLI= + + distutils-r1_src_install + + if [[ ! ${HAD_CLI} ]]; then + rm -r "${ED}/usr/bin" || die + fi +} + +python_install() { + distutils-r1_python_install + if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then + HAD_CLI=1 + else + rm -r "${D}$(python_get_scriptdir)" || die + fi +} + +pkg_postinst() { + optfeature "datetime support" dev-python/pytz + optfeature "dateutil support" dev-python/python-dateutil + optfeature "numpy support" dev-python/numpy + optfeature "django support" dev-python/django dev-python/pytz + optfeature "pandas support" dev-python/pandas + optfeature "pytest support" dev-python/pytest +} diff --git a/dev-python/json5/Manifest b/dev-python/json5/Manifest index 9230044c3c68d..522ac9398e40b 100644 --- a/dev-python/json5/Manifest +++ b/dev-python/json5/Manifest @@ -1 +1,2 @@ DIST json5-0.10.0.tar.gz 48202 BLAKE2B 78794c785c5e5636aede6db48e230a5480ac10b8bbab4041cb827deabb1f251b3f2eddc252d5d0f91f358c093feba422575fdd51448c0984195937094227e48b SHA512 1c56def363c268aa256066c8e98b3a9bfba66a3756071bf6ff41929cdd98ccf5435f08103fbbc3b505abe81f39a14fa1ec50d4a984eebc52410cbb31f999b1b9 +DIST json5-0.11.0.tar.gz 51014 BLAKE2B b285f33ad4afb4d40a9dfc598f63a2c4aa62b683648d8ba49c9a1962507db81b944cea71ef563594d3141b4b0f52348f0eb7b2aa3f0e77e525f22cd511197491 SHA512 5721720f514688c2f0c39b3610f001209fdb0f756ff35bca064aadfd0a9529157c88cb574c7f33ef3bed94ed65026f48383e6bafd65a22a27fce50ab140f447f diff --git a/dev-python/json5/json5-0.11.0.ebuild b/dev-python/json5/json5-0.11.0.ebuild new file mode 100644 index 0000000000000..f018cc63f564d --- /dev/null +++ b/dev-python/json5/json5-0.11.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A Python implementation of the JSON5 data format" +HOMEPAGE=" + https://github.com/dpranke/pyjson5/ + https://pypi.org/project/json5/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +distutils_enable_tests pytest diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest index 7dab8d103c7fc..403ceb471701a 100644 --- a/dev-python/lz4/Manifest +++ b/dev-python/lz4/Manifest @@ -1 +1,2 @@ DIST lz4-4.4.3.tar.gz 171848 BLAKE2B 54873ac48b5b43787dd45c92056af2d302e018c0b78acb56ccef50becb4073ded1dead6d02ef203b239a4699e0af4527da04a74d3550a5a36fcdc88dda98772c SHA512 b02899f3011453f77e99aa31c7dc717a7d0ca636475e9ead617196d906e3e2abcee511e84f68e9071b27227cad8ece7fb5f78c04bd8f44cc0959bb687b72e73f +DIST lz4-4.4.4.tar.gz 171884 BLAKE2B a5a1a183b831de32c6197007a278351ed2ff7003c77d686432887436ca8920345995f1a1c2f64144d71ad929fe0cea13939c568030b8622a6b55bc53f0cad41b SHA512 eb49fa28d8745c8d232e82565338e1021da8bc27b4f9c01277e51fbd01a30943f420ee7a983e4683ccb81e72039a12b05b56836fa06c10039ba7267df72d0fcb diff --git a/dev-python/lz4/lz4-4.4.4.ebuild b/dev-python/lz4/lz4-4.4.4.ebuild new file mode 100644 index 0000000000000..13562005ac5c4 --- /dev/null +++ b/dev-python/lz4/lz4-4.4.4.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="LZ4 Bindings for Python" +HOMEPAGE=" + https://github.com/python-lz4/python-lz4/ + https://pypi.org/project/lz4/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +DEPEND=" + app-arch/lz4:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + dev-python/pkgconfig[${PYTHON_USEDEP}] + test? ( + dev-python/psutil[${PYTHON_USEDEP}] + ) +" + +# note: test suite fails with xdist +distutils_enable_tests pytest + +python_test() { + local EPYTEST_IGNORE=( + # lz4.stream is not officially supported and not installed by default + # (we do not support installing it at the moment) + tests/stream + ) + + rm -rf lz4 || die + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest index 02ae11e296c14..4e7a9c9e1402f 100644 --- a/dev-python/mkdocs-material/Manifest +++ b/dev-python/mkdocs-material/Manifest @@ -1,3 +1,4 @@ DIST mkdocs-material-9.6.10.gh.tar.gz 14812031 BLAKE2B 505d6585d99aabd1b97f3853173aaf83085c58064c0f76d91517e92de311d52e7ae3c6c2ed71c66bbf013e88d6b38ae5eab64799076238bd46e2e36b745541b7 SHA512 c2589ccc0ffe21217d57fb91a5e247c026f2c32496767a72d604152c80913e03d015291fe3a31891618e53c167348c2cd08db5b986ac0c8c820e091f381d596d +DIST mkdocs-material-9.6.11.gh.tar.gz 14819417 BLAKE2B f38539b2e62d3a44cf3296410817b086d84bfeda8f8d66ff6adc135bb9f31a26ec73bbb0bfc32d9b9d050698bbeb7d8871a92d9382e28b8c78c3cc6b26d13278 SHA512 478a719d4bd46002cd9708a3c71e68c0843703ea8465631fcb5c188f45816673966be7a6c20a9b8886b195d09f153cb7881af3e1471fe11c41a1df2a58aee390 DIST mkdocs-material-9.6.8.gh.tar.gz 14926223 BLAKE2B ce5f0ccc1f19787bbf631f0e71f1b252920e32b6e99616066c18d417e5086f8f612411fb8ba41909df8ee1fc24907879ec87234c42cd8fd6088555b46b7c7d67 SHA512 26d9677d95903c4c3a7890decb11557168dbf26c1fbd7ba1406bebf29a813283ccf43c7173a69136508ff753d61fad2ee3f49a897514fb7f6fa914070d2570b6 DIST mkdocs-material-9.6.9.gh.tar.gz 14809122 BLAKE2B 14c07f44c93de9c74ca6ee64b9be0ef2b7c06f40fa3bca95fbd935cec783ee16d02c50c77ed6b0b62fddaa9f0dcba769db1d86ca4da4363aa48c4940d5eb83f9 SHA512 166c7a5fe445e07286ccc36040a3caf4e070ad86fbcb556fa380ed91b6adfd96c881762f0cb7b96ee1f5d04ff4d65018ad119973e07920c8dd037f32c1322c46 diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild new file mode 100644 index 0000000000000..60f0fcd96617d --- /dev/null +++ b/dev-python/mkdocs-material/mkdocs-material-9.6.11.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) + +DOCS_BUILDER="mkdocs" +DOCS_DEPEND=" + dev-python/mkdocs-material-extensions + dev-python/mkdocs-minify-plugin + dev-python/mkdocs-redirects +" + +inherit distutils-r1 docs + +DESCRIPTION="A Material Design theme for MkDocs" +HOMEPAGE=" + https://github.com/squidfunk/mkdocs-material/ + https://pypi.org/project/mkdocs-material/ +" +SRC_URI=" + https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="social" + +RDEPEND=" + >=dev-python/babel-2.10.3[${PYTHON_USEDEP}] + >=dev-python/colorama-0.4[${PYTHON_USEDEP}] + >=dev-python/jinja2-3.0.2[${PYTHON_USEDEP}] + >=dev-python/lxml-4.6[${PYTHON_USEDEP}] + >=dev-python/markdown-3.2[${PYTHON_USEDEP}] + >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}] + >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}] + >=dev-python/pygments-2.16[${PYTHON_USEDEP}] + >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}] + >=dev-python/readtime-2.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/requests-2.26[${PYTHON_USEDEP}] + social? ( + >=dev-python/pillow-10.2[${PYTHON_USEDEP}] + >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}] +" +# mkdocs-material-extensions depends on mkdocs-material creating a circular dep +PDEPEND=" + >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}] +" + +PATCHES=( + # simplify pyproject to remove extra deps for metadata + "${FILESDIR}/${PN}-8.5.7-simplify-build.patch" + # import backrefs only when used (i.e. never) + "${FILESDIR}/${PN}-9.6.7-backrefs.patch" +) + +src_prepare() { + echo "__version__ = '${PV}'" > gentoo_version.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/pytest-django/Manifest b/dev-python/pytest-django/Manifest index 31db17de811c6..59b46bf7da75d 100644 --- a/dev-python/pytest-django/Manifest +++ b/dev-python/pytest-django/Manifest @@ -1 +1,2 @@ DIST pytest-django-4.10.0.gh.tar.gz 78992 BLAKE2B 0d42b7bf11fd06ea58b38d9fedf48b12a1577b7b732a61449b787217a729e95ad7c754530bc31c3a6ce7d4c8417fce5b47bdd554b91b71ed148cdff5efb2696c SHA512 887e02a6122631adf0bb34e7b8354378d628564f736c3754a475473b9dc3ff80599bed9b7ccc12b145d0963c3cb56e7110d49c70bfd0b37e15f8a95f3f787ecf +DIST pytest-django-4.11.0.gh.tar.gz 80121 BLAKE2B d8450f007b7a4c5235b03d854a540780c10c993daf9ede82c4927ff69a4b469228a8f42628c1612006ed6312be5767b2c7a3d49e965e9b15bcb89e07ff622419 SHA512 7332c04589ae5539bb03bbdfeebd8e7435073370fcf5b20371ecc570d94ac3460661a192089d5ec7860f77aebbf91399ec78d786d89471a550b1ad9367189128 diff --git a/dev-python/pytest-django/pytest-django-4.11.0.ebuild b/dev-python/pytest-django/pytest-django-4.11.0.ebuild new file mode 100644 index 0000000000000..f889911117ccf --- /dev/null +++ b/dev-python/pytest-django/pytest-django-4.11.0.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) + +inherit distutils-r1 + +DESCRIPTION="A Django plugin for pytest" +HOMEPAGE=" + https://pypi.org/project/pytest-django/ + https://pytest-django.readthedocs.io/ + https://github.com/pytest-dev/pytest-django/ +" +SRC_URI=" + https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}] + test? ( + dev-python/django[${PYTHON_USEDEP}] + >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} + +distutils_enable_tests pytest + +python_test() { + local -x DJANGO_SETTINGS_MODULE + local -x PYTHONPATH=${PWD} + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin + for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do + einfo "Testing ${DJANGO_SETTINGS_MODULE}" + epytest tests + done +} diff --git a/dev-python/sphinxcontrib-plantuml/Manifest b/dev-python/sphinxcontrib-plantuml/Manifest index cde7c71242796..513b43ec0e5b2 100644 --- a/dev-python/sphinxcontrib-plantuml/Manifest +++ b/dev-python/sphinxcontrib-plantuml/Manifest @@ -1 +1,2 @@ +DIST sphinxcontrib-plantuml-0.30-fix-tests-python-3.13.patch 1033 BLAKE2B d1dc69918c4b0171d060e43863993fc23dea995f102fdd889b0face66587558b4fa4a02662026d8ce166be0f92cc63b8419ae0bb2d5586b98d840fe3fe2776cf SHA512 ca134e5d2e73b28e3f6e77ac46b12d869312601af4ef7e0f9e0ada30c9d26fa1e976693f286bd3613c8b07fee152abccf889066139c35df25892addf8bc3b759 DIST sphinxcontrib-plantuml-0.30.gh.tar.gz 19378 BLAKE2B 1f146b59184acec99ff4320199943b2193c3e4c5f5d1f62c6741fb9bbd9802d7c3955bfad786bf7dd4b937b99b974f94d753212c95e7940ab066a9d6ee02af9a SHA512 e85c6332d26d09531c961f8026c72cd82ff4a31700a38cb8285f24d942340700012c08cc1f87a86389b71bfc5d32164586407b5c6777cc94d4d0022c9872ee3a diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild index 9e5036baf13ed..56cc4ddccf0d3 100644 --- a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild +++ b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{11..12} ) +PYTHON_COMPAT=( python3_{11..13} ) inherit distutils-r1 @@ -16,6 +16,8 @@ HOMEPAGE=" SRC_URI=" https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/sphinx-contrib/plantuml/commit/27ece3637c0ec5fa91cacf511349e290a1440ba9.patch + -> ${PN}-0.30-fix-tests-python-3.13.patch " S="${WORKDIR}/${P#sphinxcontrib-}" @@ -33,6 +35,10 @@ BDEPEND=" ) " +PATCHES=( + "${DISTDIR}"/${PN}-0.30-fix-tests-python-3.13.patch +) + distutils_enable_tests pytest python_test() { diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest index 4d3b7ce12994e..848a86774ed5e 100644 --- a/dev-python/stripe/Manifest +++ b/dev-python/stripe/Manifest @@ -1 +1,2 @@ DIST stripe-11.6.0.tar.gz 1390405 BLAKE2B 0a630201e0c85d1c456a02f18c1383d8367e8980485cf20ab62fbad2a6a6f0612b2199626de1e7f5cefb477e7dcc07777d2af095994de04805fcba206469f6cd SHA512 f92978feef4083cb1a662da44101b9b670d442c141921f29b93a551a36d641faccdff60499115a4b8a0c62b74498403ad3ac7f04c4b16992f3cab5ee498cb25d +DIST stripe-12.0.0.tar.gz 1369861 BLAKE2B abd767466760e8e43d313e7072dcab5d74b09cd395eafb894ef0ee7d21db5503e3f36493e194ab02100f3b9d648342a91efd5c46574af290481c2a260680a974 SHA512 ab9cac4712989227562ade7a7058c2c3342c04f98f02496597047755d9f790f720c29b5f8c26da1a2f4d795793931a8a073789708f395cdfa0057a8e71724a49 diff --git a/dev-python/stripe/stripe-12.0.0.ebuild b/dev-python/stripe/stripe-12.0.0.ebuild new file mode 100644 index 0000000000000..98d38193cade0 --- /dev/null +++ b/dev-python/stripe/stripe-12.0.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 pypy3_11 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Stripe Python bindings" +HOMEPAGE=" + https://github.com/stripe/stripe-python/ + https://pypi.org/project/stripe/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="telemetry" + +RDEPEND=" + >=dev-python/requests-2.20[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}] +" +# please bump dev-util/stripe-mock dep to the latest version on every bump +BDEPEND=" + test? ( + >=dev-util/stripe-mock-0.192.0 + dev-python/aiohttp[${PYTHON_USEDEP}] + dev-python/anyio[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/trio[${PYTHON_USEDEP}] + net-misc/curl + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md ) + +src_prepare() { + distutils-r1_src_prepare + + if ! use telemetry; then + sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # Internet + tests/test_http_client.py::TestLiveHTTPClients::test_httpx_request_async_https + 'tests/test_integration.py::TestIntegration::test_async_raw_request_timeout[asyncio-aiohttp]' + # timing + tests/test_integration.py::TestIntegration::test_passes_client_telemetry_when_enabled + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests -p anyio -p pytest_mock +} + +src_test() { + local stripe_mock_port=12111 + local stripe_mock_max_port=12121 + local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log" + # Try to start stripe-mock until we find a free port + while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do + ebegin "Trying to start stripe-mock on port ${stripe_mock_port}" + stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" & + local stripe_mock_pid=${!} + sleep 2 + # Did stripe-mock start? + curl --fail -u "sk_test_123:" \ + "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null + eend ${?} "Port ${stripe_mock_port} unavailable" + if [[ ${?} -eq 0 ]]; then + einfo "stripe-mock running on port ${stripe_mock_port}" + break + fi + (( stripe_mock_port++ )) + done + if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then + eerror "Unable to start stripe-mock for tests" + die "Please see the logfile located at: ${stripe_mock_logfile}" + fi + + local -x STRIPE_MOCK_PORT=${stripe_mock_port} + distutils-r1_src_test + + # Tear down stripe-mock + kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock" +} diff --git a/dev-python/uv-build/Manifest b/dev-python/uv-build/Manifest new file mode 100644 index 0000000000000..f5ed923127288 --- /dev/null +++ b/dev-python/uv-build/Manifest @@ -0,0 +1 @@ +DIST uv_build-0.6.11.tar.gz 292635 BLAKE2B 906d310f6884def53d4b739d0b2d246be4a2651b8add2ec94665128d9cd815830de9246ce5e7c1850842673d56c829547ebd1d707ca69984bbc15183f3ade0d8 SHA512 b68ff4c87b21bae1095ac622fdb4ed60610e44db9c73c0ae29c5566ee30ecdfee39a0c8a0659a70101c72dd04317de80f2ac7a377d2ad5a2c59fa4adabeb7c5b diff --git a/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch b/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch new file mode 100644 index 0000000000000..6e0f96d46ec3a --- /dev/null +++ b/dev-python/uv-build/files/uv-build-0.6.9-use-uv.patch @@ -0,0 +1,18 @@ +diff --git a/python/uv_build/__init__.py b/python/uv_build/__init__.py +index c8ce9c5..835ba0f 100644 +--- a/python/uv_build/__init__.py ++++ b/python/uv_build/__init__.py +@@ -39,11 +39,11 @@ def call( + + warn_config_settings(config_settings) + # Unlike `find_uv_bin`, this mechanism must work according to PEP 517 +- uv_bin = shutil.which("uv-build") ++ uv_bin = shutil.which("uv") + if uv_bin is None: + raise RuntimeError("uv was not properly installed") + # Forward stderr, capture stdout for the filename +- result = subprocess.run([uv_bin, *args], stdout=subprocess.PIPE) ++ result = subprocess.run([uv_bin, "build-backend", *args], stdout=subprocess.PIPE) + if result.returncode != 0: + sys.exit(result.returncode) + # If there was extra stdout, forward it (there should not be extra stdout) diff --git a/dev-python/uv-build/metadata.xml b/dev-python/uv-build/metadata.xml new file mode 100644 index 0000000000000..936a4b3a62821 --- /dev/null +++ b/dev-python/uv-build/metadata.xml @@ -0,0 +1,11 @@ + + + + + python@gentoo.org + + + astral-sh/uv + uv-build + + diff --git a/dev-python/uv-build/uv-build-0.6.11.ebuild b/dev-python/uv-build/uv-build-0.6.11.ebuild new file mode 100644 index 0000000000000..39fada98c1d0d --- /dev/null +++ b/dev-python/uv-build/uv-build-0.6.11.ebuild @@ -0,0 +1,41 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +# maturin compiles uv-build executable for every impl, we do not want +# that, so we hack hatchling into installing the Python module instead. +DISTUTILS_UPSTREAM_PEP517=maturin +PYTHON_COMPAT=( pypy3 pypy3_11 python3_{10..13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="PEP517 uv build backend" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv-build/ +" + +LICENSE="|| ( Apache-2.0 MIT )" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/uv-${PV} +" + +src_prepare() { + local PATCHES=( + # use 'uv build-backend' instead of compiling uv-build executable + # that largely overlaps with dev-python/uv + "${FILESDIR}/${PN}-0.6.9-use-uv.patch" + ) + + distutils-r1_src_prepare + + cat >> pyproject.toml <<-EOF || die + [tool.hatch.build.targets.wheel] + packages = ["python/uv_build"] + EOF +} diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest index bb828d729f653..c7ecb8b8925b8 100644 --- a/dev-python/zeroconf/Manifest +++ b/dev-python/zeroconf/Manifest @@ -1 +1,2 @@ DIST zeroconf-0.146.1.tar.gz 161874 BLAKE2B 042bc3747dac7a63e05b454a12b5884d293490909e662cf8c7ab7bf871bd4983bbf04cb2eb2ae6e075a82ab586f95ef13c201875d42250898f234f69a288b21e SHA512 a0834e37f07e465e2bf4b99ac7630f98b7c09d9608ecd86d3b8e2a3cd9c3978c400f342b97c7299f10fe07de669356c088f74e4bb26d9316c98219844dee6392 +DIST zeroconf-0.146.2.tar.gz 162157 BLAKE2B 8b35e4309759a4668db5014bf747c30d87a399467e28078501d72bbe34cd39d9a4a6045b80ea51810a4f702130200c5c7db114253ae5512db98a78d80e791c31 SHA512 eacc2b94a7a3b0eeeb941aeb0dbf1bd26c78464daadd6e2a5ad91b2b21e76041e85cffa27ff8e4ccf8c78a22771d53ecc412099699f4e643895be1a784a0540a diff --git a/dev-python/zeroconf/zeroconf-0.146.2.ebuild b/dev-python/zeroconf/zeroconf-0.146.2.ebuild new file mode 100644 index 0000000000000..8ab627f861583 --- /dev/null +++ b/dev-python/zeroconf/zeroconf-0.146.2.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{10..13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)" +HOMEPAGE=" + https://github.com/python-zeroconf/python-zeroconf/ + https://pypi.org/project/zeroconf/ +" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}] +" +# the build system uses custom build script that uses distutils to build +# C extensions, sigh +BDEPEND=" + >=dev-python/cython-3.0.8[${PYTHON_USEDEP}] + >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +export REQUIRE_CYTHON=1 + +python_test() { + local -x SKIP_IPV6=1 + local EPYTEST_DESELECT=( + # network + tests/test_core.py::Framework::test_close_multiple_times + tests/test_core.py::Framework::test_launch_and_close + tests/test_core.py::Framework::test_launch_and_close_context_manager + + # fragile to timeouts (?) + tests/services/test_browser.py::test_service_browser_expire_callbacks + tests/utils/test_asyncio.py::test_run_coro_with_timeout + + # randomly broken by a leftover thread? + tests/test_circular_imports.py::test_circular_imports + ) + local EPYTEST_IGNORE=( + tests/benchmarks + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -o addopts= -p asyncio +} diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 8079a5cb037b6..e1bad4cbd16fe 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cmake.eclass @@ -681,6 +681,19 @@ cmake-utils_src_make() { die "cmake-utils_src_make is banned. Use cmake_build instead" } +# @ECLASS_VARIABLE: CTEST_JOBS +# @USER_VARIABLE +# @DESCRIPTION: +# Maximum number of CTest jobs to run in parallel. If unset, the value +# will be determined from make options. + +# @ECLASS_VARIABLE: CTEST_LOADAVG +# @USER_VARIABLE +# @DESCRIPTION: +# Maximum load, over which no new jobs will be started by CTest. Note +# that unlike make, CTest will not start *any* jobs if the load +# is exceeded. If unset, the value will be determined from make options. + # @FUNCTION: cmake_src_test # @DESCRIPTION: # Function for testing the package. Automatically detects the build type. @@ -694,8 +707,9 @@ cmake_src_test() { [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure ) [[ -n ${CMAKE_SKIP_TESTS} ]] && myctestargs+=( -E '('$( IFS='|'; echo "${CMAKE_SKIP_TESTS[*]}")')' ) - set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \ - --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@" + set -- ctest -j "${CTEST_JOBS:-$(get_makeopts_jobs 999)}" \ + --test-load "${CTEST_LOADAVG:-$(get_makeopts_loadavg)}" \ + "${myctestargs[@]}" "$@" echo "$@" >&2 if "$@" ; then einfo "Tests succeeded." diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index a65dd3ef2a8f7..e1672dd3c3b0a 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: distutils-r1.eclass @@ -137,6 +137,8 @@ # - standalone - standalone build systems without external deps # (used for bootstrapping). # +# - uv-build - uv-build backend (using dev-python/uv) +# # The variable needs to be set before the inherit line. The eclass # adds appropriate build-time dependencies and verifies the value. # @@ -151,6 +153,20 @@ # files are found in ${BUILD_DIR}/install after python_install(), they # will be merged into ${D}. +# @ECLASS_VARIABLE: DISTUTILS_UPSTREAM_PEP517 +# @DESCRIPTION: +# Specifies the PEP517 build backend used upstream. It is used +# by the eclass to verify the correctness of DISTUTILS_USE_PEP517, +# and matches DISTUTILS_USE_PEP517 by default. However, it can be +# overriden to workaround the eclass check, when it is desirable +# to build the wheel using other backend than the one used upstream. +# +# Please note that even in packages using PEP621 metadata, there can +# be subtle differences between the behavior of different PEP517 build +# backends, for example regarding finding package files. When using +# this option, please make sure that the package is installed correctly. +: "${DISTUTILS_UPSTREAM_PEP517:=${DISTUTILS_USE_PEP517}}" + # @ECLASS_VARIABLE: DISTUTILS_USE_SETUPTOOLS # @DEFAULT_UNSET # @PRE_INHERIT @@ -246,22 +262,23 @@ _distutils_set_globals() { fi bdep=' - >=dev-python/gpep517-15[${PYTHON_USEDEP}] + >=dev-python/gpep517-16[${PYTHON_USEDEP}] ' case ${DISTUTILS_USE_PEP517} in flit) bdep+=' - >=dev-python/flit-core-3.9.0[${PYTHON_USEDEP}] + >=dev-python/flit-core-3.11.0[${PYTHON_USEDEP}] ' ;; flit_scm) bdep+=' + >=dev-python/flit-core-3.11.0[${PYTHON_USEDEP}] >=dev-python/flit-scm-1.7.0[${PYTHON_USEDEP}] ' ;; hatchling) bdep+=' - >=dev-python/hatchling-1.21.1[${PYTHON_USEDEP}] + >=dev-python/hatchling-1.27.0[${PYTHON_USEDEP}] ' ;; jupyter) @@ -271,7 +288,7 @@ _distutils_set_globals() { ;; maturin) bdep+=' - >=dev-util/maturin-1.7.4[${PYTHON_USEDEP}] + >=dev-util/maturin-1.8.2[${PYTHON_USEDEP}] ' ;; no) @@ -280,41 +297,46 @@ _distutils_set_globals() { ;; meson-python) bdep+=' - >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}] + >=dev-python/meson-python-0.17.1[${PYTHON_USEDEP}] ' ;; pbr) bdep+=' - >=dev-python/pbr-6.0.0[${PYTHON_USEDEP}] + >=dev-python/pbr-6.1.1[${PYTHON_USEDEP}] ' ;; pdm-backend) bdep+=' - >=dev-python/pdm-backend-2.1.8[${PYTHON_USEDEP}] + >=dev-python/pdm-backend-2.4.3[${PYTHON_USEDEP}] ' ;; poetry) bdep+=' - >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}] + >=dev-python/poetry-core-2.1.1[${PYTHON_USEDEP}] ' ;; scikit-build-core) bdep+=' - >=dev-python/scikit-build-core-0.9.4[${PYTHON_USEDEP}] + >=dev-python/scikit-build-core-0.10.7[${PYTHON_USEDEP}] ' ;; setuptools) bdep+=' - >=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}] + >=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}] ' ;; sip) bdep+=' - >=dev-python/sip-6.8.3[${PYTHON_USEDEP}] + >=dev-python/sip-6.10.0[${PYTHON_USEDEP}] ' ;; standalone) ;; + uv-build) + bdep+=' + dev-python/uv-build[${PYTHON_USEDEP}] + ' + ;; *) die "Unknown DISTUTILS_USE_PEP517=${DISTUTILS_USE_PEP517}" ;; @@ -325,7 +347,7 @@ _distutils_set_globals() { eqawarn "is enabled." fi else - local setuptools_dep='>=dev-python/setuptools-69.0.3[${PYTHON_USEDEP}]' + local setuptools_dep='>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]' case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in no|manual) @@ -501,7 +523,7 @@ distutils_enable_sphinx() { _DISTUTILS_SPHINX_PLUGINS=( "${@}" ) local deps autodoc=1 d - deps=">=dev-python/sphinx-7.2.6[\${PYTHON_USEDEP}]" + deps=">=dev-python/sphinx-8.1.3[\${PYTHON_USEDEP}]" for d; do if [[ ${d} == --no-autodoc ]]; then autodoc= @@ -525,7 +547,7 @@ distutils_enable_sphinx() { use doc || return 0 local p - for p in ">=dev-python/sphinx-7.2.6" \ + for p in ">=dev-python/sphinx-8.1.3" \ "${_DISTUTILS_SPHINX_PLUGINS[@]}" do python_has_version "${p}[${PYTHON_USEDEP}]" || @@ -533,7 +555,7 @@ distutils_enable_sphinx() { done } else - deps=">=dev-python/sphinx-7.2.6" + deps=">=dev-python/sphinx-8.1.3" fi sphinx_compile_all() { @@ -904,6 +926,12 @@ _distutils-r1_print_package_versions() { dev-python/sip ) ;; + uv-build) + packages+=( + dev-python/uv + dev-python/uv-build + ) + ;; esac else case ${DISTUTILS_USE_SETUPTOOLS} in @@ -1050,55 +1078,57 @@ _distutils-r1_copy_egg_info() { find -name '*.egg-info' -type d -exec cp -R -p {} "${BUILD_DIR}"/ ';' || die } -# @FUNCTION: _distutils-r1_backend_to_key -# @USAGE: +# @FUNCTION: _distutils-r1_key_to_backend +# @USAGE: # @INTERNAL # @DESCRIPTION: -# Print the DISTUTILS_USE_PEP517 value corresponding to the backend -# passed as the only argument. -_distutils-r1_backend_to_key() { +# Print the backend corresponding to the DISTUTILS_USE_PEP517 value. +_distutils-r1_key_to_backend() { debug-print-function ${FUNCNAME} "$@" - local backend=${1} - case ${backend} in - flit_core.buildapi|flit.buildapi) - echo flit + local key=${1} + case ${key} in + flit) + echo flit_core.buildapi ;; - flit_scm:buildapi) - echo flit_scm + flit_scm) + echo flit_scm:buildapi ;; - hatchling.build) - echo hatchling + hatchling) + echo hatchling.build ;; - jupyter_packaging.build_api) - echo jupyter + jupyter) + echo jupyter_packaging.build_api ;; maturin) echo maturin ;; - mesonpy) - echo meson-python + meson-python) + echo mesonpy ;; - pbr.build) - echo pbr + pbr) + echo pbr.build ;; - pdm.backend|pdm.pep517.api) - echo pdm-backend + pdm-backend) + echo pdm.backend ;; - poetry.core.masonry.api|poetry.masonry.api) - echo poetry + poetry) + echo poetry.core.masonry.api ;; - scikit_build_core.build) - echo scikit-build-core + scikit-build-core) + echo scikit_build_core.build ;; - setuptools.build_meta|setuptools.build_meta:__legacy__) - echo setuptools + setuptools) + echo setuptools.build_meta ;; - sipbuild.api) - echo sip + sip) + echo sipbuild.api + ;; + uv-build) + echo uv_build ;; *) - die "Unknown backend: ${backend}" + die "Unknown DISTUTILS_USE_PEP517 key: ${key}" ;; esac } @@ -1111,65 +1141,61 @@ _distutils-r1_backend_to_key() { _distutils-r1_get_backend() { debug-print-function ${FUNCNAME} "$@" - local build_backend legacy_fallback + local build_backend if [[ -f pyproject.toml ]]; then # if pyproject.toml exists, try getting the backend from it # NB: this could fail if pyproject.toml doesn't list one build_backend=$("${EPYTHON}" -m gpep517 get-backend) fi - if [[ -z ${build_backend} && ${DISTUTILS_USE_PEP517} == setuptools && - -f setup.py ]] - then - # use the legacy setuptools backend as a fallback - build_backend=setuptools.build_meta:__legacy__ - legacy_fallback=1 - fi if [[ -z ${build_backend} ]]; then - die "Unable to obtain build-backend from pyproject.toml" + if [[ ${DISTUTILS_USE_PEP517} == setuptools && -f setup.py ]] + then + # use the legacy setuptools backend as a fallback + echo setuptools.build_meta:__legacy__ + return + else + die "Unable to obtain build-backend from pyproject.toml" + fi fi - if [[ ${DISTUTILS_USE_PEP517} != standalone ]]; then - # verify whether DISTUTILS_USE_PEP517 was set correctly - local expected_value=$(_distutils-r1_backend_to_key "${build_backend}") - if [[ ${DISTUTILS_USE_PEP517} != ${expected_value} ]]; then - eerror "DISTUTILS_USE_PEP517 does not match pyproject.toml!" - eerror " have: DISTUTILS_USE_PEP517=${DISTUTILS_USE_PEP517}" - eerror "expected: DISTUTILS_USE_PEP517=${expected_value}" - eerror "(backend: ${build_backend})" - die "DISTUTILS_USE_PEP517 value incorrect" - fi + if [[ ${DISTUTILS_USE_PEP517} == standalone ]]; then + echo "${build_backend}" + return + fi - # fix deprecated backends up - local new_backend= + # verify that the ebuild correctly specifies the build backend + local expected_backend=$(_distutils-r1_key_to_backend "${DISTUTILS_UPSTREAM_PEP517}") + if [[ ${expected_backend} != ${build_backend} ]]; then + # special-case deprecated backends case ${build_backend} in flit.buildapi) - new_backend=flit_core.buildapi ;; pdm.pep517.api) - new_backend=pdm.backend ;; poetry.masonry.api) - new_backend=poetry.core.masonry.api ;; setuptools.build_meta:__legacy__) - # this backend should only be used as implicit fallback - [[ ! ${legacy_fallback} ]] && - new_backend=setuptools.build_meta ;; + uv) + ;; + *) + eerror "DISTUTILS_UPSTREAM_PEP517 does not match pyproject.toml!" + eerror " DISTUTILS_UPSTREAM_PEP517=${DISTUTILS_USE_PEP517}" + eerror " implies backend: ${expected_backend}" + eerror " pyproject.toml: ${build_backend}" + die "DISTUTILS_USE_PEP517 value incorrect" esac - if [[ -n ${new_backend} ]]; then - if [[ ! -f ${T}/.distutils_deprecated_backend_warned ]]; then - eqawarn "${build_backend} backend is deprecated. Please see:" - eqawarn "https://projects.gentoo.org/python/guide/qawarn.html#deprecated-pep-517-backends" - eqawarn "The eclass will be using ${new_backend} instead." - > "${T}"/.distutils_deprecated_backend_warned || die - fi - build_backend=${new_backend} + # if we didn't die, we're dealing with a deprecated backend + if [[ ! -f ${T}/.distutils_deprecated_backend_warned ]]; then + eqawarn "${build_backend} backend is deprecated. Please see:" + eqawarn "https://projects.gentoo.org/python/guide/qawarn.html#deprecated-pep-517-backends" + eqawarn "The project should use ${expected_backend} instead." + > "${T}"/.distutils_deprecated_backend_warned || die fi fi - echo "${build_backend}" + echo "$(_distutils-r1_key_to_backend "${DISTUTILS_USE_PEP517}")" } # @FUNCTION: distutils_wheel_install @@ -1220,6 +1246,8 @@ distutils_wheel_install() { -o -path '*.dist-info/licenses' \ -o -path '*.dist-info/zip-safe' \ \) -delete || die + + _DISTUTILS_WHL_INSTALLED=1 } # @VARIABLE: DISTUTILS_WHEEL_PATH @@ -1258,6 +1286,7 @@ distutils_pep517_install() { fi # set it globally in case we were using "standalone" wrapper + local -x FLIT_ALLOW_INVALID=1 local -x HATCH_METADATA_CLASSIFIERS_NO_VERIFY=1 local -x VALIDATE_PYPROJECT_NO_NETWORK=1 local -x VALIDATE_PYPROJECT_NO_TROVE_CLASSIFIERS=1 @@ -1457,67 +1486,66 @@ distutils-r1_python_compile() { _python_check_EPYTHON - case ${DISTUTILS_USE_PEP517:-unset} in - no) - return - ;; - unset) - # legacy mode - _distutils-r1_copy_egg_info - esetup.py build -j "$(makeopts_jobs "${MAKEOPTS} ${*}")" "${@}" - ;; - *) - # we do this for all build systems, since other backends - # and custom hooks may wrap setuptools - mkdir -p "${BUILD_DIR}" || die - local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" - cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die - [build] - build_base = ${BUILD_DIR}/build + [[ ${DISTUTILS_USE_PEP517} == no ]] && return - [build_ext] - parallel = $(makeopts_jobs "${MAKEOPTS} ${*}") - EOF - ;; - esac - - if [[ ${DISTUTILS_USE_PEP517} ]]; then - if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then - local whl - for whl in "${!DISTUTILS_WHEELS[@]}"; do - # use only wheels corresponding to the current directory - if [[ ${PWD} != ${DISTUTILS_WHEELS["${whl}"]} ]]; then - continue - fi - - # 1. Use pure Python wheels only if we're not expected - # to build extensions. Otherwise, we may end up - # not building the extension at all when e.g. PyPy3 - # is built without one. - # - # 2. For CPython, we can reuse stable ABI wheels. Note - # that this relies on the assumption that we're building - # from the oldest to the newest implementation, - # and the wheels are forward-compatible. - if [[ - ( ! ${DISTUTILS_EXT} && ${whl} == *py3-none-any* ) || - ( - ${EPYTHON} == python* && - # freethreading does not support stable ABI - # at the moment - ${EPYTHON} != *t && - ${whl} == *-abi3-* - ) - ]]; then - distutils_wheel_install "${BUILD_DIR}/install" "${whl}" - return - fi - done - fi - - distutils_pep517_install "${BUILD_DIR}/install" - DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" ) + if [[ ! ${DISTUTILS_USE_PEP517} ]]; then + # legacy mode + _distutils-r1_copy_egg_info + esetup.py build -j "$(makeopts_jobs "${MAKEOPTS} ${*}")" "${@}" + return fi + + # we do this for all build systems, since other backends + # and custom hooks may wrap setuptools + # + # we are appending a dynamic component so that + # distutils-r1_python_compile can be called multiple + # times and don't end up combining resulting packages + mkdir -p "${BUILD_DIR}" || die + local -x DIST_EXTRA_CONFIG="${BUILD_DIR}/extra-setup.cfg" + cat > "${DIST_EXTRA_CONFIG}" <<-EOF || die + [build] + build_base = ${BUILD_DIR}/build${#DISTUTILS_WHEELS[@]} + + [build_ext] + parallel = $(makeopts_jobs "${MAKEOPTS} ${*}") + EOF + + if [[ ${DISTUTILS_ALLOW_WHEEL_REUSE} ]]; then + local whl + for whl in "${!DISTUTILS_WHEELS[@]}"; do + # use only wheels corresponding to the current directory + if [[ ${PWD} != ${DISTUTILS_WHEELS["${whl}"]} ]]; then + continue + fi + + # 1. Use pure Python wheels only if we're not expected + # to build extensions. Otherwise, we may end up + # not building the extension at all when e.g. PyPy3 + # is built without one. + # + # 2. For CPython, we can reuse stable ABI wheels. Note + # that this relies on the assumption that we're building + # from the oldest to the newest implementation, + # and the wheels are forward-compatible. + if [[ + ( ! ${DISTUTILS_EXT} && ${whl} == *py3-none-any* ) || + ( + ${EPYTHON} == python* && + # freethreading does not support stable ABI + # at the moment + ${EPYTHON} != *t && + ${whl} == *-abi3-* + ) + ]]; then + distutils_wheel_install "${BUILD_DIR}/install" "${whl}" + return + fi + done + fi + + distutils_pep517_install "${BUILD_DIR}/install" + DISTUTILS_WHEELS+=( "${DISTUTILS_WHEEL_PATH}" "${PWD}" ) } # @FUNCTION: _distutils-r1_wrap_scripts @@ -1985,6 +2013,11 @@ _distutils-r1_compare_installed_files() { _distutils-r1_post_python_compile() { debug-print-function ${FUNCNAME} "$@" + if [[ ! ${_DISTUTILS_WHL_INSTALLED} && ${DISTUTILS_USE_PEP517:-no} != no ]] + then + die "No wheel installed in python_compile(), did you call distutils-r1_python_compile?" + fi + local root=${BUILD_DIR}/install if [[ ${DISTUTILS_USE_PEP517} && -d ${root} ]]; then # copy executables to python-exec directory diff --git a/media-gfx/fotema/Manifest b/media-gfx/fotema/Manifest index 0ac9a3fd31cde..6ba0789ebdb23 100644 --- a/media-gfx/fotema/Manifest +++ b/media-gfx/fotema/Manifest @@ -1,7 +1,5 @@ -DIST fotema-1.19.0-crates.tar.xz 62327412 BLAKE2B 099677191ca1634288d9f4e6055ddfaa3e6562d96fcd06dcc51aa1cb49fed648a61f60f2d47ac51c4fd97a8a238a8f064a8f9990768e2160fd9e002b4ffb978a SHA512 11b7510aae15359e0b2bb95a7e5b4b973f1438328f8fea075264bfb16da50876c4bec5bd82c0af965c8fc9bb5c2d1126c03c077ebd0d1cda704e6b89daf504c2 -DIST fotema-1.19.0.gh.tar.gz 8950038 BLAKE2B 131c013515b11ac068944e9d3c7e4ae1809ed75bf6d7d1eebdf10c09498d519363ab2b0d35b07a6f11c3e221d8665adf289ce9ff3f820585dd97b2065a5c1322 SHA512 4750028bd30a46f37a6ca85ff9d005dd99c4d4a0d1c0df60baadc094d9630bafeff21e898543c9ef41c612237fdfbe642f7abbbcb1fbd4c8c6d3dbed369f420f -DIST fotema-1.19.1.gh.tar.gz 8951161 BLAKE2B 77bbb21eceb2b700f4e3ff787be05a71dd819c662f26813af74ddd1645b9f7864e63cab74ca35cb33e20cddc9fd286705b43fc375247b490c0ec9c6848afb82b SHA512 aebf3a37443292ec51d5fe9a079cd1e074d82bf65e6bd2ec3729181849b71c8b57d020a5382ca8b690b1278b372b56b895b35f9c7810981462543c82a13e4aeb DIST fotema-1.19.2.gh.tar.gz 8952377 BLAKE2B b41720af2f617c3d6f3e53be88bfdfec39d49a40b9b44b5a6c9b0c5e99d0280f8e8a79ebc7d0cee9fb083c0ed1ee54925953ca23e5a4807d0e1ca1c07170f337 SHA512 849ece52e13a1a8fc66864cad286e1c2bdcc9f3b73c0e0a45c42bf481e8b14a03f9e7d72a5461094a6fe804359d2ddcf0fbec1b7a82ce3a5c3cdc4e9b15c1311 +DIST fotema-1.20.0.gh.tar.gz 8952954 BLAKE2B 3d3c7d3606cc650b91ad5ee26ad1dee042cc68d7f2542a39e6f561f596875eaa2796b790ce227eba2a2f2d02162301e4397ec4e605ee714131aebe51ee869b5f SHA512 597415dc4dd347980c8a2b530b51177f651661f585ca1f64380a45bce1ea40ec967ef1017212b297bb1b53391fc208deb77309390bf4e5741aeeb769a299207f DIST fotema-rust-faces-43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e.gh.tar.gz 839519 BLAKE2B 7ba344d55c5d108e63556dda32aaf60cfbd2b14a05e2965ca69e54e2aab578f6ba49f7a7b89d6c32cb5ace4b80f7a84247dcbb43a98d5d709895810798966b0b SHA512 aac99659e2d82d342f52b5860d9f1e284e1658fa9e0986b1c54a81cc33f6391535a2773d79defc6a7bf1e52591dc91d91a1ef3742c38e599baed79975b42de51 -DIST fotema-v1.19.1-crates.tar.xz 63008632 BLAKE2B 62758bdd9d4cf54d3bceb187d027d8419b4ccdd2d64ab1e8c9e5679123ee729acbc16f3adeece965bac9a9a33ef093c6519581c0f75afd8327d53e159baae2f7 SHA512 0a366cc7b4bb19e0529fbc6fd5c37a9e03cdfe3ec0ff8e853f46985ffdb974f142f047376999779601abbb33385b7ed44cd6070959513fc471dec92ac76cd0cb DIST fotema-v1.19.2-crates.tar.xz 63106132 BLAKE2B f57f6e19bbaa2570530f8280e59c80cdc887d7808c9453ac27b6f64bbd175faec2f20f31b8decf61af21f1d38248a868412f27122b0ebe398c63ba3937ce0055 SHA512 58db1ef27c7e10e8d156af3beb6ba9941f7676e286ce51497ec3f6953586e648431fbd5cb8485d751b2fcce6cafd912037dc9c2ce9a5a1173d68e609b8c63712 +DIST fotema-v1.20.0-crates.tar.xz 62261884 BLAKE2B 922522cd8e1882f48a6c22dc6e164c569bf224d2abd11a6eb13e1e839e1e9350a21f83cee6c5aac1e961e7be93bf2a2d9e135d3d3be2d5976763843d04d539e9 SHA512 4b549f5f4d378393553c978669a00aa07cdc3c76c37c2296bdd1d779156251c21f0a3ede3916ad4c46795628d70ee57c539f1a21b53f4b727e59b7d8e9cfd212 diff --git a/media-gfx/fotema/fotema-1.19.0.ebuild b/media-gfx/fotema/fotema-1.19.0.ebuild deleted file mode 100644 index 72f90bd243cf9..0000000000000 --- a/media-gfx/fotema/fotema-1.19.0.ebuild +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright 2024-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%' -) - -inherit cargo gnome2-utils meson xdg-utils - -CRATE_P=${P} -DESCRIPTION="Photo gallery for Linux" -HOMEPAGE="https://github.com/blissd/fotema" -SRC_URI=" - https://github.com/blissd/fotema/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz - " -fi - -# see LICENSES/ -LICENSE=" - CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 - FDL-1.3+ GPL-3+ MIT -" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT - MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.16:4 -" -# indirect deps via crates -DEPEND+=" - dev-libs/openssl:= - gui-libs/libadwaita - media-libs/fontconfig - media-libs/graphene - media-libs/lcms:2 - media-libs/libshumate:= - media-libs/opencv:=[contribdnn] - media-video/ffmpeg:= - sci-ml/onnx - sys-libs/libseccomp - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango -" -RDEPEND=" - ${DEPEND} - media-libs/glycin-loaders -" -BDEPEND=" - dev-libs/glib:2 -" - -QA_FLAGS_IGNORED="/usr/bin/fotema" - -src_configure() { - local emesonargs=( - -Dprofile=$(usex debug development default) - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die - - export ORT_STRATEGY=system -} - -pkg_postinst() { - gnome2_schemas_update - xdg_icon_cache_update -} - -pkg_postrm() { - gnome2_schemas_update - xdg_icon_cache_update -} diff --git a/media-gfx/fotema/fotema-1.19.1.ebuild b/media-gfx/fotema/fotema-1.20.0.ebuild similarity index 100% rename from media-gfx/fotema/fotema-1.19.1.ebuild rename to media-gfx/fotema/fotema-1.20.0.ebuild diff --git a/net-news/rssguard/Manifest b/net-news/rssguard/Manifest index 9430f12048f71..29553bc01fbac 100644 --- a/net-news/rssguard/Manifest +++ b/net-news/rssguard/Manifest @@ -1 +1,2 @@ DIST rssguard-4.8.1.gh.tar.gz 23782356 BLAKE2B dfc0a02ae3728794f98d48814881d66fe8ddc2e3af3cc767e53894254d6556dec78007068f098c4a8204d98d4e6a3d31718736565d036c98380d6f30dd67d5aa SHA512 68e53dd0b9924d227d4b46e5f03d93e99f6171b62ec33ad846336404f6be6c0c1c4c92eb38c5b11e9a1a4d30c07ebe3bb21f05ae450acaa73dd8a6c4f7a19106 +DIST rssguard-4.8.2.gh.tar.gz 23849361 BLAKE2B 6857a4cdf7e8aa88346fa6443c2e352eb37a21e2583ff58336a0641962df608ecfec9b60de17186ebc5af02f8dcdc430d2ef5f6ffc3f71642d7e0074911e4bf1 SHA512 8c43694a7be6e33e68b164316bba7cff96d35804ed78373a0b9727d28010c3d9f87c3dedc4be697bf10bb3074377b50b745f781db9d02dd7dbe0f2cafa99dd37 diff --git a/net-news/rssguard/rssguard-4.8.2.ebuild b/net-news/rssguard/rssguard-4.8.2.ebuild new file mode 100644 index 0000000000000..f4b49c7126c55 --- /dev/null +++ b/net-news/rssguard/rssguard-4.8.2.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake optfeature xdg + +DESCRIPTION="Simple (yet powerful) news feed reader" +HOMEPAGE="https://github.com/martinrotter/rssguard/" +SRC_URI=" + https://github.com/martinrotter/rssguard/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="|| ( LGPL-3 GPL-2+ ) AGPL-3+ BSD GPL-3+ MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="libmpv mysql qtmultimedia +sqlite webengine" +REQUIRED_USE=" + || ( mysql sqlite ) + ?? ( libmpv qtmultimedia ) +" + +BDEPEND=" + dev-qt/qttools:6[linguist] +" +DEPEND=" + dev-qt/qtbase:6[concurrent,dbus,gui,mysql?,network,sql,sqlite?,ssl,widgets] + dev-qt/qtdeclarative:6 + dev-qt/qtmultimedia:6[gstreamer] + dev-qt/qt5compat:6 + media-libs/libglvnd + sys-libs/zlib:= + libmpv? ( + dev-qt/qtbase:6[opengl] + media-video/mpv:= + ) + qtmultimedia? ( + dev-qt/qtbase:6[opengl] + dev-qt/qtmultimedia:6 + ) + webengine? ( dev-qt/qtwebengine:6[widgets(+)] ) +" +RDEPEND="${DEPEND}" + +src_configure() { + local mycmakeargs=( + -DBUILD_WITH_QT6=ON + -DNO_LITE=$(usex webengine) + -DREVISION_FROM_GIT=OFF + -DNO_UPDATE_CHECK=ON + -DENABLE_COMPRESSED_SITEMAP=ON + -DENABLE_MEDIAPLAYER_QTMULTIMEDIA=$(usex qtmultimedia) + -DENABLE_MEDIAPLAYER_LIBMPV=$(usex libmpv) + # recommended + -DMEDIAPLAYER_FORCE_OPENGL=ON + ) + + cmake_src_configure +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature "ad blocking functionality" "net-libs/nodejs[npm]" +}