diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-03-08 06:20:59 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-03-08 06:20:59 +0000 |
commit | 4b7aba8ec4df606845ea10747af7254c5d94a711 (patch) | |
tree | e51ea24d4e7f0547e5463e2c21f37ee39468376c | |
parent | 2024-03-08 04:34:06 UTC (diff) | |
parent | app-misc/fastfetch: add 2.8.8, drop 2.8.7 (diff) | |
download | gentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.tar.gz gentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.tar.bz2 gentoo-4b7aba8ec4df606845ea10747af7254c5d94a711.zip |
Merge updates from master
49 files changed, 1019 insertions, 432 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index ad245b452a8d..9fdf0722437c 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -4,3 +4,4 @@ DIST aws-cli-1.32.54.gh.tar.gz 2656395 BLAKE2B 7f41ac7bb0b11ef851cbc1793c202dd38 DIST aws-cli-1.32.55.gh.tar.gz 2656402 BLAKE2B 8ff707317be8c9d686cf11c8e1846e2f77bdaeaea327f98243e4c907f5c1f716ac8255cafb74faeea1ed65f683ed777c4561d05343a601489e772d6449735ee6 SHA512 ff796aee3b2127c3a11afae1642a5da8cc2229382858a30c2a05f48d1a4417317c88b2de5763ee3fd859d2b87ed42f105e27f2cb7d0fb09e835df501af5bb32d DIST aws-cli-1.32.56.gh.tar.gz 2656488 BLAKE2B 79f88813757cf30430f8b8ba08798447e8e4f2b4e9359b8a57ee1cfa289e47e38c9d608df89bbec390b860f3ed89d19408b6c3112857c66edbd3d30f2f5ed43d SHA512 af445266266d739b98d844e9718a0cf661f541e464cc7c07cf770528590867b3e9fc5e9b4472e638c0b7952eae50bdf0a6cb8860e1497a1347c5fb43e6315a3f DIST aws-cli-1.32.57.gh.tar.gz 2656770 BLAKE2B 008133ab151d103fcf6f00ee953e0c4ab85d401263606da1ae91231a8c2ef1f7c5238c30e127741bb3899ef532d272d6231bb76cb54d673c3234a634343b45d2 SHA512 b3ff04b57fb19ee2d0eb1f57e3559dd36297fa8e1027d3958257508aa88202feccf0af6f86f64b779232a013bb819a06cd5314429f442d2e13b6d2a983b1f20f +DIST aws-cli-1.32.58.gh.tar.gz 2658262 BLAKE2B f3782758f3f2bb87457f1a66b9e06fabbee1c27dd44af4db87744303de3bb072065d6a657af8e0e64010bf4d7ccd281751489330cf61cd30426a61ebb0dd8d0d SHA512 293d6d99ec2cfe180beab5e127c0dd589fb88fdf6590d4ff0a302fa14f6a7bf0294e9ef1f21729f668a8848baecef17750f0eda01d26476790c8b82cb6d608eb diff --git a/app-admin/awscli/awscli-1.32.58.ebuild b/app-admin/awscli/awscli-1.32.58.ebuild new file mode 100644 index 000000000000..4a677affdbc4 --- /dev/null +++ b/app-admin/awscli/awscli-1.32.58.ebuild @@ -0,0 +1,90 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit bash-completion-r1 distutils-r1 + +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 +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(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.10.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[@]}" ) + # integration tests require AWS credentials and Internet access + epytest tests/{functional,unit} +} + +python_install_all() { + newbashcomp bin/aws_bash_completer aws + + insinto /usr/share/zsh/site-functions + newins 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-misc/fastfetch/Manifest b/app-misc/fastfetch/Manifest index 9a05d677a27c..7d8c9a5856cf 100644 --- a/app-misc/fastfetch/Manifest +++ b/app-misc/fastfetch/Manifest @@ -1,2 +1,2 @@ DIST fastfetch-2.7.1.tar.gz 1000565 BLAKE2B 061d2175bdca879bb4ef1a2f29fd73b99a7325fb8de66f05eb1203008c34ef20ff122e57a785ee0a5abb0251004023958abb1d158bc49cd1b34f9e02f3d1c6bc SHA512 55d897af532141d429aa5b58ab1516347f14597bf249b70f0d5ab27d11e235911858143fc32356255bef201cb44cdd7698e8d49094fb7e61c2e425a6c8ac5fa1 -DIST fastfetch-2.8.7.tar.gz 1013771 BLAKE2B 119d2b44b050c374d924023cbaad25bf9e6ee5817edcc7ff4934985508e86c3125a820370947ea64c41b8307f8bb07a50960f762df39cdbc20e09a3d1dd90a8d SHA512 efc06434de0821d5fdb6f539f281e7d139c078181f9473522f7765ac936cf128d614268d8e46ed46d6ba1832872e1ada75a3a61cacb5aa503d9f3619fe6265ee +DIST fastfetch-2.8.8.tar.gz 1014055 BLAKE2B bf8145db1fdad1ae1c89f32b56d1e61b7b793492ed9e3e76bb9436ed456aeeef76543f52eb5d6ce52d389547abb9b59cd5760f5e8b7c6cd1350b0e7683fb8a76 SHA512 a39ae6cf59a6e2f95d138205892b46072cab35d6be7422ed3d22430050ea73284006aad99c8d6e195475b7e5b3ae40489f654cbd766e825e093b08f193a6fb23 diff --git a/app-misc/fastfetch/fastfetch-2.8.7.ebuild b/app-misc/fastfetch/fastfetch-2.8.8.ebuild index 97a256518745..97a256518745 100644 --- a/app-misc/fastfetch/fastfetch-2.8.7.ebuild +++ b/app-misc/fastfetch/fastfetch-2.8.8.ebuild diff --git a/dev-libs/flatbuffers/Manifest b/dev-libs/flatbuffers/Manifest index df7a4cf841f8..995e921d3592 100644 --- a/dev-libs/flatbuffers/Manifest +++ b/dev-libs/flatbuffers/Manifest @@ -1,3 +1,4 @@ DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31 DIST flatbuffers-24.3.6.gh.tar.gz 2296876 BLAKE2B 2a9233c5256c16a494a850999565ee7b7fe6a032794770f7a9cb47e43d1abf8335f08f1ec2e94cb3fdb06d452bcb46c4b7f98519a7d52d2479891d50beeaf3c3 SHA512 2b0a97ee3ff0236b38dac9edbe4d984ae32c0a89436fd043b831e27c947782c704937afd44216ac1f7bdb7ad003f09bc381b1567e4866462fd3c9d6c7ab272e1 +DIST flatbuffers-24.3.7.gh.tar.gz 2296896 BLAKE2B 439d84a58ed169f6cd980388034f3dfaf53444dc4733b942aeeac24ed805dcf7c4348df8080fdbd899d2b4bc7f1ad75f546f8db3bcbb6fc942b75e2c3877331e SHA512 93541cbc6c1ba96beed77967d89693ebbc532664ee3b39eb9df9ec28871a3a0acb744b9c823afe6d3c480fe34e092306100e67f5b8fbed4432a875e87670019e diff --git a/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild b/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild new file mode 100644 index 000000000000..c03ba67b3e92 --- /dev/null +++ b/dev-libs/flatbuffers/flatbuffers-24.3.7.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Memory efficient serialization library" +HOMEPAGE=" + https://flatbuffers.dev/ + https://github.com/google/flatbuffers/ +" +SRC_URI=" + https://github.com/google/flatbuffers/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" +IUSE="static-libs test" +RESTRICT="!test? ( test )" + +src_configure() { + local mycmakeargs=( + -DFLATBUFFERS_BUILD_FLATLIB=$(usex static-libs) + -DFLATBUFFERS_BUILD_SHAREDLIB=ON + -DFLATBUFFERS_BUILD_TESTS=$(usex test) + -DFLATBUFFERS_BUILD_BENCHMARKS=OFF + ) + + cmake_src_configure +} diff --git a/dev-python/argcomplete/Manifest b/dev-python/argcomplete/Manifest index af646db4b778..e1933ed6bac7 100644 --- a/dev-python/argcomplete/Manifest +++ b/dev-python/argcomplete/Manifest @@ -1 +1,2 @@ DIST argcomplete-3.2.2.tar.gz 80764 BLAKE2B 0e059439c64301026fd238b070adb84f69c81f2f8fe6e27d31426abb71d4fadf8b34ff84465d9a9f5757550f6f55330ab17e204b7be18b459cddfb06c3851e25 SHA512 dd94795c561a692286341be234cd15ae684f0af6b11475322e6d616e640c27e7c9d9c73686790cecc09535b7f1287f95be2faa8b62329b12a6dbf9e2d403e439 +DIST argcomplete-3.2.3.tar.gz 81130 BLAKE2B 1c3a1c3fe9159ba1ab64db2a05d32dd961b08bb00d4cf3015fbb7990c02ebb766200fabe228c4e48ad791ea1a02db0775df1eec3181c7d1291743894e986f61c SHA512 25c73ec01a9c7e0b3d2cab1b86953369b0464431e86d6be2ba14d0209c1e1bc9fe5c5ce02590d86a44df74c9e828d4579b1265d2a37adf21f1e8bfdfb2350a44 diff --git a/dev-python/argcomplete/argcomplete-3.2.3.ebuild b/dev-python/argcomplete/argcomplete-3.2.3.ebuild new file mode 100644 index 000000000000..0ea9deb31943 --- /dev/null +++ b/dev-python/argcomplete/argcomplete-3.2.3.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Bash tab completion for argparse" +HOMEPAGE=" + https://github.com/kislyuk/argcomplete/ + https://pypi.org/project/argcomplete/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="test" +RESTRICT="!test? ( test )" + +# pip is called as an external tool +BDEPEND=" + test? ( + app-shells/fish + app-shells/tcsh + app-shells/zsh + dev-python/pexpect[${PYTHON_USEDEP}] + >=dev-python/pip-19 + ) +" + +PATCHES=( + # increase test timeouts -- this is particularly necessary + # for entry point tests because they read metadata of all installed + # packages which can take real long on systems with lots of packages + "${FILESDIR}/argcomplete-3.1.6-timeout.patch" +) + +python_test() { + "${EPYTHON}" test/test.py -v || die +} diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest index b59bb29324ab..e0bcbcabf6ba 100644 --- a/dev-python/aws-sam-translator/Manifest +++ b/dev-python/aws-sam-translator/Manifest @@ -1 +1,2 @@ DIST serverless-application-model-1.85.0.gh.tar.gz 5472842 BLAKE2B 528a7e5f17a461741d3dd1911dda13c592a835cb2d44452d2c719e072e6d1dd715562d3660f9f92200ff6b5893d32e05ecc9faf30a835de9cc29ef72af4489f3 SHA512 a48b0ca4d18f524623f2e23ea3b721e1bda3bc94ded53859f87e40c53ba4e9f3b97423aee58f20a041eaba4a1b092353c88de33a52576fc4084670cb45f4c7f2 +DIST serverless-application-model-1.86.0.gh.tar.gz 5490164 BLAKE2B f784adc234080d447b33e375acf62ab65728655aeef2d6a4c1210535e55558f1afb85c011038b42435d5aaff8d69a179769a03d3c885e1fa487be434492c1c3c SHA512 e4ec2eca9f5531402f34e37c1bc7c9257f3120c3863f18bf2661b9f8757a680c6433d59c2a3f1b31e1ffeeffaa02fbd87f6407b3faf6ba5909bfefb79462ca18 diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild new file mode 100644 index 000000000000..166699d76ae6 --- /dev/null +++ b/dev-python/aws-sam-translator/aws-sam-translator-1.86.0.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 multiprocessing + +MY_P=serverless-application-model-${PV} +DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates" +HOMEPAGE=" + https://github.com/aws/serverless-application-model/ + https://pypi.org/project/aws-sam-translator/ +" +SRC_URI=" + https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/boto3-2[${PYTHON_USEDEP}] + >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}] + >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}] + <dev-python/pydantic-3[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.8[${PYTHON_USEDEP}] + <dev-python/typing-extensions-5[${PYTHON_USEDEP}] + >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/parameterized[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + # so much noise... + sed -i -e '/log_cli/d' pytest.ini || die + + # deps are installed by ebuild, don't try to reinstall them via pip + truncate --size=0 requirements/*.txt || die + + distutils-r1_python_prepare_all +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x AWS_DEFAULT_REGION=us-east-1 + epytest -o addopts= -o filterwarnings= \ + -p xdist -n "$(makeopts_jobs)" --dist=worksteal +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index bfa5fcdea9da..74ec829974f7 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -4,3 +4,4 @@ DIST boto3-1.34.54.gh.tar.gz 779564 BLAKE2B f61a74f6a317af6f180edb047e8c37e55c2d DIST boto3-1.34.55.gh.tar.gz 779897 BLAKE2B 9ca34cb517a0117e91945658ce67d8bc16569931846ef3cf61157a988ee3a6935b8da7581be39304c93bb3a7ae089925abce95e8dfbf4369910d3bb02d232dbe SHA512 9cc45a125817ea1a442c72ba2759e8189dad3a3538f236afa980a3a8203e1ff85d8341b1f9c59bacd066b3b01a1e3a715d3deec42dfbe1846859229517a51e8c DIST boto3-1.34.56.gh.tar.gz 780044 BLAKE2B d0600fe852787835a74d48582238e8421aa83aa99413037ca03c89d1fb083e591d5b5cac35c94929c2de26f3ad58a97d3e74d70d264daa89cdaffafcc91530ba SHA512 f692371fae8dedfd6bb3dbba1d9ed5a713d0d498d57f8c911caa110cf9ad70466199060271656213299d936b0d9e9b693871967575921cb8ddaee78e23c4ffe6 DIST boto3-1.34.57.gh.tar.gz 780600 BLAKE2B 80592c3877baeea889da4e8346489610337fbefaf8432e41338f4534b7db4d6bebaffc0472fe06ce5c49b9eec108cd18ab12e6ec458ef76ae834d655a0dc35c5 SHA512 c980dd20a470a911634f63cef61ccbf993d8815414edf820b0abdb60bcf0d802d54c3d23ebe0023ba84bbc255e2d6eaf277b872495a97feef1d6a4d0a5d34c77 +DIST boto3-1.34.58.gh.tar.gz 781455 BLAKE2B c0327eb97170554866c7970b6f513ce979f265ba337040ff338babaffe2515532ea1e8eaee4b237243bf481d71f470cf2f1d945126541f02bb35c4935e7a8306 SHA512 c93bf820c17df80a833cc4b89f1afa6611336d93e5fb13d0d32201334354c48012186f45e864d8f983b46cda3dc1d36d90fe2bc2e122918506824764ddc369fb diff --git a/dev-python/boto3/boto3-1.34.58.ebuild b/dev-python/boto3/boto3-1.34.58.ebuild new file mode 100644 index 000000000000..b64e7191fd19 --- /dev/null +++ b/dev-python/boto3/boto3-1.34.58.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +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 ~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.10.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${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 d1c83533a361..0625fe978ba7 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -4,3 +4,4 @@ DIST botocore-1.34.54.gh.tar.gz 12748623 BLAKE2B 2b4732636e0d7cf46e12fc2cf4320c7 DIST botocore-1.34.55.gh.tar.gz 12750876 BLAKE2B 48222899d97aeea39c471ad1822641bad227e80afce7dee31a6acda21bf87d1cb48cbb39a5bad8851af2ecf14bc524ae55c15127318d2ccf4b8e0c851d2fd077 SHA512 8bc8b35a1e06c1fcc4902cb8ab97b3a6b75cc0e32fc7ab4d656378751846af4ef536513496328281068cbdfaed9cb8d06d13e9d0b2760e4090c660dc7950b897 DIST botocore-1.34.56.gh.tar.gz 12750089 BLAKE2B ac55ddc7d1f683cf3c2b9b39e73f8c85d8aac45f3b8db15e279ac38fb30edad92c4bb5181b7c488b1b904cce34fd13c69f55fac3ed141358b131f525617174cf SHA512 c0607741b65adeb059cdb100dbd819ed66bf6ce3c0e4cc9460f25046004ebc074b48c896ef39728db6b90c2029643faba3d7fe353acd741260c82e53de66d283 DIST botocore-1.34.57.gh.tar.gz 12751088 BLAKE2B 56a101297c42cc18b8c765572c8ff6c7de907e0e95378592a8c3500e351fc8b7bddb3127c7806331f5082155b35c33083e656a2ee4630218609fc5e91a1bb004 SHA512 cb7b2ffbe8104526be4654d7791b8ea0ee0ede4af7b91a507b4db06d86d56eec999152031734d1515b3c60dac9f1213e6374a1912638de2bc1098f4782d23180 +DIST botocore-1.34.58.gh.tar.gz 12756573 BLAKE2B f50486fcbdeaf7b2faef9c0a912335ad43b346a046f56c23a47b46ce0a65dd4308f30893d21647c2f40a1515739dec76b903ac3b813b2bdd8132bae3babe1ed0 SHA512 daf6781e6ace07945edd8f4c0b5e623640b60793735b65abcb7ba7ca67b8e93872329333b5003be43d2f7f32f5dedc51600a0b460107ef3aad530c8c72107706 diff --git a/dev-python/botocore/botocore-1.34.58.ebuild b/dev-python/botocore/botocore-1.34.58.ebuild new file mode 100644 index 000000000000..ba6cd2a5d2a2 --- /dev/null +++ b/dev-python/botocore/botocore-1.34.58.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest index df7a4cf841f8..995e921d3592 100644 --- a/dev-python/flatbuffers/Manifest +++ b/dev-python/flatbuffers/Manifest @@ -1,3 +1,4 @@ DIST flatbuffers-23.1.21.gh.tar.gz 2181861 BLAKE2B 6368358c21e677feb466245a746b86cebb6d6a4058bb6d593de81bf3c32ddfb9fd475e4bb225d4529ea106253456a5ed1ee6d024b1e2521e02efef171750f428 SHA512 fa62188f773ad044644a58caf1e25bef417dfdea47c9da8a2ea7f997154b4f3976019e32e73cc533696a3d4e45ec4a8402b6df140878dfa2ff078740d61b4b0f DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31 DIST flatbuffers-24.3.6.gh.tar.gz 2296876 BLAKE2B 2a9233c5256c16a494a850999565ee7b7fe6a032794770f7a9cb47e43d1abf8335f08f1ec2e94cb3fdb06d452bcb46c4b7f98519a7d52d2479891d50beeaf3c3 SHA512 2b0a97ee3ff0236b38dac9edbe4d984ae32c0a89436fd043b831e27c947782c704937afd44216ac1f7bdb7ad003f09bc381b1567e4866462fd3c9d6c7ab272e1 +DIST flatbuffers-24.3.7.gh.tar.gz 2296896 BLAKE2B 439d84a58ed169f6cd980388034f3dfaf53444dc4733b942aeeac24ed805dcf7c4348df8080fdbd899d2b4bc7f1ad75f546f8db3bcbb6fc942b75e2c3877331e SHA512 93541cbc6c1ba96beed77967d89693ebbc532664ee3b39eb9df9ec28871a3a0acb744b9c823afe6d3c480fe34e092306100e67f5b8fbed4432a875e87670019e diff --git a/dev-python/flatbuffers/flatbuffers-24.3.7.ebuild b/dev-python/flatbuffers/flatbuffers-24.3.7.ebuild new file mode 100644 index 000000000000..9f4884db1418 --- /dev/null +++ b/dev-python/flatbuffers/flatbuffers-24.3.7.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 + +DESCRIPTION="RFC 7049 - Concise Binary Object Representation" +HOMEPAGE=" + https://github.com/google/flatbuffers/ + https://pypi.org/project/flatbuffers/ +" +SRC_URI=" + https://github.com/google/${PN}/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/${P}/python + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +python_test() { + cd "${WORKDIR}/${P}/tests" || die + # zeroes means without benchmarks + "${EPYTHON}" py_test.py 0 0 0 0 false || die + "${EPYTHON}" py_flexbuffers_test.py -v || die +} diff --git a/dev-python/pooch/Manifest b/dev-python/pooch/Manifest index 3b3f6f0cf991..411bcee40c80 100644 --- a/dev-python/pooch/Manifest +++ b/dev-python/pooch/Manifest @@ -1,2 +1 @@ -DIST pooch-1.8.0.tar.gz 59408 BLAKE2B 07ed7c17e98ef4627f347e9b71355e147f56970fe5f0d709269602796a5ba2d8ffd5ad0ad47a17114d32841b9a7fc3eeab978f8ca9f64d35c89ff35b0aa62279 SHA512 d97e3e1098d1eeee30108affc64ed5a12f679e9122d35494598a03f3a548bb83b57dc54ac5a2c85bc42e664cb90f713bdb55b47b430ff000a722ffad58010497 DIST pooch-1.8.1.tar.gz 59614 BLAKE2B ff30e6f1a1cc71091d5e822eb0eeda59fb1ff8f53d2dd6dc67dccc955d28f3fa485d03615d544096fdae7786c181a3395b62e3c59212f80b977755e3df0addf0 SHA512 9e78da7839deb443340c925622d5e9b1d7a3f14fdac3eae2528fb91ebf86f88715e8737e869057fe7c703e8423303e15379c07e5d11a7bebd3da63b1ac06ae3f diff --git a/dev-python/pooch/pooch-1.8.0.ebuild b/dev-python/pooch/pooch-1.8.0.ebuild deleted file mode 100644 index d0b3e39d397b..000000000000 --- a/dev-python/pooch/pooch-1.8.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..12} ) - -inherit distutils-r1 pypi - -DESCRIPTION="Manage your Python library's sample data files" -HOMEPAGE=" - https://github.com/fatiando/pooch/ - https://pypi.org/project/pooch/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos" - -RDEPEND=" - dev-python/appdirs[${PYTHON_USEDEP}] - dev-python/packaging[${PYTHON_USEDEP}] - >=dev-python/platformdirs-2.5.0[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] -" - -BDEPEND=" - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/paramiko[${PYTHON_USEDEP}] - dev-python/pytest-httpserver[${PYTHON_USEDEP}] - dev-python/tqdm[${PYTHON_USEDEP}] - ) -" - -EPYTEST_DESELECT=( - # Needs network - pooch/tests/test_core.py::test_check_availability_invalid_downloader - pooch/tests/test_core.py::test_load_registry_from_doi - pooch/tests/test_core.py::test_load_registry_from_doi_zenodo_with_slash - # dev-python/pytest-localftpserver -> dev-python/pyftpdlib has py3.12 issues - # https://github.com/giampaolo/pyftpdlib/issues/560#issuecomment-971377238 - pooch/tests/test_core.py::test_check_availability_on_ftp - pooch/tests/test_downloaders.py::test_invalid_doi_repository - pooch/tests/test_downloaders.py::test_doi_url_not_found - pooch/tests/test_downloaders.py::test_figshare_url_file_not_found - pooch/tests/test_downloaders.py::test_doi_downloader -) - -### docs no included in pypi tarball -# distutils_enable_sphinx doc \ -# dev-python/sphinx-rtd-theme -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p pytest_httpserver -k "not network" -} diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest index 589500c0c9ff..971042da7167 100644 --- a/dev-python/pyglet/Manifest +++ b/dev-python/pyglet/Manifest @@ -1,2 +1,3 @@ DIST pyglet-2.0.10.gh.tar.gz 6414679 BLAKE2B 42d6724d67bfac5b80f22f8e995b601dde9e68c49e75b75d1deffb5816ac5a246f0fa5923d159ea27b71720a8301f49dade12ed5179dd4dd69af81085a3daf80 SHA512 cb92e920eebc7b09ccbf396f5a78e5e089df17fbc0cd40b862be9309d97999fcf76995de5602c75efa2294bb387c7489a075fa0bd8ef322ec3573ba6524a3aa4 DIST pyglet-2.0.12.gh.tar.gz 6415028 BLAKE2B ba1a697fe4e75b77da2b4ed7c1fa7b95269eb6f67502103fba158ec9fca636fe6027c6ece10c517ed4f7bbaae063b62d947cf9963bb4ed31b842eb7fddf793cb SHA512 e94009f002b295df891367f7e2b30f692606b0a35c1475e9ddf7f463ef5286691f8755f804b24c382fbea97ab2d58dfd51422110be9994a520dce6d365b90df0 +DIST pyglet-2.0.13.gh.tar.gz 6417145 BLAKE2B ad47d22e53b4da08e6a4b4f4351ba03ea7b236d8680edd793e83c3e0bc5c350d8b1514b08c0dfe24b392761f7df64cf5e0ef8972d9fed6f9d367b0c887567ea5 SHA512 3ffb67b4a5aac72f4c2cdbe4f2492e9e41e69749e544d281bfa8bc491dc56fd2bb4833ffff92b4f639070c162c9460baf01f25090d91b9bd371d8ce23a4309c3 diff --git a/dev-python/pyglet/pyglet-2.0.13.ebuild b/dev-python/pyglet/pyglet-2.0.13.ebuild new file mode 100644 index 000000000000..28c5feeacc17 --- /dev/null +++ b/dev-python/pyglet/pyglet-2.0.13.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +inherit distutils-r1 virtualx xdg-utils + +DESCRIPTION="Cross-platform windowing and multimedia library for Python" +HOMEPAGE=" + https://pyglet.org/ + https://github.com/pyglet/pyglet/ + https://pypi.org/project/pyglet/ +" +SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="examples image +sound" + +RDEPEND=" + virtual/glu + virtual/opengl + image? ( + || ( + dev-python/pillow[${PYTHON_USEDEP}] + x11-libs/gtk+:2 + ) + ) + sound? ( + || ( + media-libs/libpulse + media-libs/openal + ) + ) +" +# ffmpeg? ( media-libs/avbin-bin ) +BDEPEND=" + test? ( + dev-python/pillow[${PYTHON_USEDEP}] + media-libs/fontconfig + ) +" + +distutils_enable_tests pytest + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + xdg_environment_reset + + local EPYTEST_DESELECT=( + # lacking device/server permissions + tests/unit/media/test_listener.py::test_openal_listener + tests/unit/media/test_listener.py::test_pulse_listener + # fragile to system load + tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume + tests/unit/test_clock_freq.py::test_elapsed_time_between_tick + ) + + # Specify path to avoid running interactive tests + # We could add in integration tests, but they're slow + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}" +} + +python_install_all() { + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi + + distutils-r1_python_install_all +} diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest index c65ce2d22ec7..8e1dc430fe26 100644 --- a/dev-python/pymongo/Manifest +++ b/dev-python/pymongo/Manifest @@ -1,2 +1 @@ -DIST mongo-python-driver-4.6.1.gh.tar.gz 1493790 BLAKE2B dd59001536ed5d84553350fe8c93fa5082acd1af23ca2850cb2ba8d69e1e69e2ad250da9f62b4f86e6e9013434cd1d2ed38e44bda946ff5fe0ab74935668bbf1 SHA512 7a6fe18b409961b796dfd403dc100a898b282e0abfd9995f20541b7c5f0f2dbc047c25b45a2bb9ae229954d1cd804918dc4f7487f87e311863452bab41a19414 DIST mongo-python-driver-4.6.2.gh.tar.gz 1494123 BLAKE2B 3bf24c26ad2e97e6d23b01b1074baa7420e2d8197d5bc618cd851c148b38b68afaa3943448030692f358b7500b65d0576aaf4fdc6a49cb41e9a8ecd9e58ea0a5 SHA512 931b0632bc5764c160d6da8645f2e2e851b0ddf409390264a69fae8a9309d03271f50e6c3e3e5aae78df9b6203ab2de0471b2c8e50e4883c05b473e6c90bf9c4 diff --git a/dev-python/pymongo/pymongo-4.6.1.ebuild b/dev-python/pymongo/pymongo-4.6.1.ebuild deleted file mode 100644 index 195067c758b5..000000000000 --- a/dev-python/pymongo/pymongo-4.6.1.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..12} ) - -inherit check-reqs distutils-r1 - -MY_P=mongo-python-driver-${PV} -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE=" - https://github.com/mongodb/mongo-python-driver/ - https://pypi.org/project/pymongo/ -" -SRC_URI=" - https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86" -IUSE="doc kerberos +native-extensions +test-full" - -RDEPEND=" - <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}] - kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] ) -" -BDEPEND=" - test? ( - test-full? ( - >=dev-db/mongodb-2.6.0 - ) - ) -" - -distutils_enable_sphinx doc -distutils_enable_tests pytest - -reqcheck() { - if use test && use test-full; then - # During the tests, database size reaches 1.5G. - local CHECKREQS_DISK_BUILD=1536M - - check-reqs_${1} - fi -} - -pkg_pretend() { - reqcheck pkg_pretend -} - -pkg_setup() { - reqcheck pkg_setup -} - -python_compile() { - # causes build errors to be fatal - local -x TOX_ENV_NAME=whatever - local DISTUTILS_ARGS=() - # unconditionally implicitly disabled on pypy3 - if ! use native-extensions; then - DISTUTILS_ARGS+=( --no_ext ) - else - export PYMONGO_C_EXT_MUST_BUILD=1 - fi - - distutils-r1_python_compile -} - -python_test() { - rm -rf bson pymongo || die - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_DESELECT=( - # network-sandbox - test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver - test/test_client.py::TestClient::test_service_name_from_kwargs - test/test_client.py::TestClient::test_srv_max_hosts_kwarg - test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive - test/test_srv_polling.py - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true - test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet - - # broken regularly by changes in mypy - test/test_typing.py::TestMypyFails::test_mypy_failures - ) - - if ! use test-full; then - # .invalid is guaranteed to return NXDOMAIN per RFC 6761 - local -x DB_IP=mongodb.invalid - epytest - return - fi - - # Yes, we need TCP/IP for that... - local -x DB_IP=127.0.0.1 - local -x DB_PORT=27000 - - local dbpath=${TMPDIR}/mongo.db - local logpath=${TMPDIR}/mongod.log - - # Now, the hard part: we need to find a free port for mongod. - # We're just trying to run it random port numbers and check the log - # for bind errors. It shall be noted that 'mongod --fork' does not - # return failure when it fails to bind. - - mkdir -p "${dbpath}" || die - while true; do - ebegin "Trying to start mongod on port ${DB_PORT}" - - LC_ALL=C \ - mongod --dbpath "${dbpath}" --nojournal \ - --bind_ip ${DB_IP} --port ${DB_PORT} \ - --unixSocketPrefix "${TMPDIR}" \ - --logpath "${logpath}" --fork \ - && sleep 2 - - # Now we need to check if the server actually started... - if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then - # yay! - eend 0 - break - elif grep -q 'Address already in use' "${logpath}"; then - # ay, someone took our port! - eend 1 - : $(( DB_PORT += 1 )) - continue - else - eend 1 - eerror "Unable to start mongod for tests. See the server log:" - eerror " ${logpath}" - die "Unable to start mongod for tests." - fi - done - - local failed - nonfatal epytest || failed=1 - - mongod --dbpath "${dbpath}" --shutdown || die - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} diff --git a/dev-python/pyqtgraph/Manifest b/dev-python/pyqtgraph/Manifest index d00bdbb19d8e..3ef345640dae 100644 --- a/dev-python/pyqtgraph/Manifest +++ b/dev-python/pyqtgraph/Manifest @@ -1 +1,2 @@ DIST pyqtgraph-0.13.3.gh.tar.gz 1423224 BLAKE2B 6c054e243a95387f18c7f18a1d4375fac3a7ae3794902f72e8d75eaeea01e031422abb7bbd84bb94977c6ce14664fed4f66ebd9892f4200c3b3ccdd598ccbfd2 SHA512 a397fcf8fc2fcc5a212df9f4cd48dc07bc1ad9eb7a9b1283488eb52c236e054b01df02d04088a9d91679c4ae3ab7796cdf95cdbad06a6a585fbbcdb921f33617 +DIST pyqtgraph-0.13.4.gh.tar.gz 1438293 BLAKE2B aaa1ccdf318dfdee0dfee73f8f7be99897d58114971569eb14cd9e32f404cabe08edf20e78301152ad9663bda0d1e8c589ff6af63799bfdc87dfe12ab3ac5a63 SHA512 9c5c276d1e191bbb72ce1ce66fcf2cfe34f5f31318bbc3069c634a77b0373b2df6a7572eccb3cfec9a45d225f5f5da71d6ca9db3f9ef520eaab27b76176a8904 diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild new file mode 100644 index 000000000000..7f4e943402a5 --- /dev/null +++ b/dev-python/pyqtgraph/pyqtgraph-0.13.4.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..11} ) + +inherit distutils-r1 multiprocessing + +DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy" +HOMEPAGE=" + https://www.pyqtgraph.org/ + https://github.com/pyqtgraph/pyqtgraph/ + https://pypi.org/project/pyqtgraph/ +" +SRC_URI=" + https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz + -> ${P}.gh.tar.gz +" +S=${WORKDIR}/${PN}-${P} + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="opengl svg" +REQUIRED_USE="test? ( opengl svg )" + +RDEPEND=" + >=dev-python/numpy-1.22[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}] + opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] ) +" +BDEPEND=" + test? ( + dev-python/h5py[${PYTHON_USEDEP}] + dev-python/PyQt5[testlib,${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/pytest-xvfb[${PYTHON_USEDEP}] + dev-vcs/git + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + distutils-r1_python_prepare_all + + if ! use opengl; then + rm -r pyqtgraph/opengl || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # apparently fragile + tests/test_reload.py::test_reload + + # TODO + tests/exporters/test_svg.py::test_plotscene + tests/graphicsItems/test_ROI.py::test_PolyLineROI + + # pyside2 is normally skipped if not installed but these two + # fail if it is installed + # TODO: this could be due to USE flags, revisit when pyside2 + # gains py3.9 + 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]' + 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]' + ) + + epytest -p xvfb -n "$(makeopts_jobs)" +} diff --git a/dev-python/pytest-subtests/Manifest b/dev-python/pytest-subtests/Manifest index 307cb06f77de..9e875f194fcc 100644 --- a/dev-python/pytest-subtests/Manifest +++ b/dev-python/pytest-subtests/Manifest @@ -1,2 +1,3 @@ DIST pytest-subtests-0.11.0.tar.gz 12763 BLAKE2B b1e1373d197798a9c27ed65569a681e9ea8dd36014cf6ea57a1d44ed888dca21bd8c5afffeb7f590a501d83d1bc0a8e1fe06b13832173e6937b722163614f21e SHA512 cab486252148e457e234e0dadacefa5ff38cf67df48d9c8bd61aa546a4a1e712b70dca0a270dffceede6be0f8a6324e8c21beaa4d1528b39f12bba72e077ef1d DIST pytest-subtests-0.12.0.tar.gz 15251 BLAKE2B d7a526a4af21828d4ad8364b0cf50dc5ae071806b49dfd13068f679b43dfef6367f32e61bad0547100408d0d6fd58d6a33ee96220d234116535b840da1b659c4 SHA512 4ff64e29b5c7f76a239ac3f365450a60d3ebe3ee9d01781c4f79f100b1590d24a867c503567d0bbf60e397bc1cc3dff091afbee823aa9399b7cc14a6e60bc0b8 +DIST pytest-subtests-0.12.1.tar.gz 15303 BLAKE2B 68ce29fd067836cb32b43f260c98b0a8d1827a1bf6f3f61bc98eb69a5259dad725379bece5fe745e86561cab7e58042aff7da51d39e99fd09bbf0127d04d8cca SHA512 5eb4ff950171f8e008b3879453b55bab1ebc82ec60ca4da839158ad6e195c03f1a5d6b6ce2ac263a3ecaa2f684955e4fcc7abf5e429de9ffd898586b758e6cd4 diff --git a/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild new file mode 100644 index 000000000000..322989e03e96 --- /dev/null +++ b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild @@ -0,0 +1,40 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Unittest subTest() support and subtests fixture" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-subtests/ + https://pypi.org/project/pytest-subtests/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + >=dev-python/pytest-7[${PYTHON_USEDEP}] +" +# pytest-xdist is used to test compatibility +BDEPEND=" + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin + epytest +} diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest index 74b4d5a96c03..339ebf919692 100644 --- a/dev-python/pytest-timeout/Manifest +++ b/dev-python/pytest-timeout/Manifest @@ -1 +1,2 @@ DIST pytest-timeout-2.2.0.tar.gz 16391 BLAKE2B 550b803ed4a64ab0fead7f6e61297ea6bfc6e59988998c5383fdccdebb3664fe9f6651314bb1a439f6431e844bb770feb50bedcabd568e4dfea7526d8c328dd7 SHA512 11a0c4e958b324bff3e149bf2a7dc5bf6ab6549405d5061856f8f1ad0e43df1cddce83df4c804b717276bfbcfcf60ee6b400625d0f4e4e73c98785146c22164f +DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e diff --git a/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild new file mode 100644 index 000000000000..ea860f7df388 --- /dev/null +++ b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="pytest plugin to abort hanging tests" +HOMEPAGE=" + https://github.com/pytest-dev/pytest-timeout/ + https://pypi.org/project/pytest-timeout/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +# do not rdepend on pytest, it won't be used without it anyway +# pytest-cov used to test compatibility +BDEPEND=" + test? ( + dev-python/pexpect[${PYTHON_USEDEP}] + !hppa? ( + dev-python/pytest-cov[${PYTHON_USEDEP}] + ) + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=pytest_timeout + + if has_version dev-python/pytest-cov; then + PYTEST_PLUGINS+=,pytest_cov.plugin + else + EPYTEST_DESELECT+=( + test_pytest_timeout.py::test_cov + ) + fi + + epytest +} diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest index 39f986dadaad..65b902de1649 100644 --- a/dev-python/selenium/Manifest +++ b/dev-python/selenium/Manifest @@ -1,6 +1,2 @@ -DIST selenium-4.16.0.tar.gz 9741404 BLAKE2B 13b24b883ff6d276164ed845405e70c0267506656ce4ee63f0653e409e3c70fd8d3aa2bc1a551d051ea0c95f0bb6b60b5474caefd69e0bddfc97d1cbf9aabbcf SHA512 86aea8f4a23b9e70de36c3024cf5eee32f4d44a6868bd98eda547d9ca51179b4618c6c408e0d0a658c621de2573e98b3d8093753a9c335986a287e00fb3238c8 -DIST selenium-4.18.0.tar.gz 9781506 BLAKE2B 6e32db8e5e5e143047fd8c2dd590b2b47a62f06a0f080400d79b86715e48d4361b4db59d458961c4a0572c3ccea056b6d7c8c307b5312d00a12f425c5317cef8 SHA512 b2367bd263c739afb29b459467d046ee2cf17ba03b70a25c2160d4982acc9ffdf9c65f8961e8c17eb0d67a843f6c857779308454e710f9ccc6e2e6ece145f10c DIST selenium-4.18.1.tar.gz 9790321 BLAKE2B ec2960ea5877aa71a6328eac0d10fcda08520e99471e3460ab9ad46e821f9fabd40e1e5bfea63486fbd4f75aae312fe1ab2a9210f52b188f43b22495477d09a6 SHA512 bf959012df65dd97b71ee585a88c035ca6079107d9623d7722693328a35cd16609dfba1d50b34d3122e2d6b2e51808aed29cc80c6c741557a4d24c3df8b13deb -DIST selenium-selenium-4.16.0.gh.tar.gz 77969888 BLAKE2B efc9b444762eb8921d35a2ed1b86c197d314a2e5d65fd430ff996735acf0c1dc03c25a9300946d98230a87f1eed4c0260ec57238f49853b6461a1f0cbeb3e151 SHA512 05cf76bb6df21f32a04485c4a1180d02f028ecb5c49f5f680bcdcc9711ca9f407a6e2d6754708cf2023ca6a19910a411711393892a741bc1f658496bbc809ac2 -DIST selenium-selenium-4.18.0.gh.tar.gz 77571210 BLAKE2B 13d8454d1aaf31f58aa89f5dff4677f34a7b0dd2ace3d42a1f7bf978614abc764bd7a2584133a501c9c533779cbb9976d792d78c898aada39b70899039b8236e SHA512 e782d79950f58fe315823ac749dd919786c6ca71b1b582c396c4fdc7c922411157d3e60294382a00b5633a4f76eff994298e60f3edc18459dc5a14fe94b16b58 DIST selenium-selenium-4.18.1.gh.tar.gz 77568094 BLAKE2B af8a9fb058e16bbf3d71e4487bcf80aca19920d8e03f5a218ba3acfdc931cc95b8c557e42f97619f08ae3f3f59f9761663a65096678c43b0b1b9fae8e2dbd356 SHA512 6bdfbb45cdf7e036cb5e27cf8c2b3952413cc0d02257e1333baaa774f1c6188ae16fe75aa1054ff2af31a8215c11835c9d64f39b0b0170a3f04760f192f42e94 diff --git a/dev-python/selenium/selenium-4.16.0.ebuild b/dev-python/selenium/selenium-4.16.0.ebuild deleted file mode 100644 index 0a781d23f9b9..000000000000 --- a/dev-python/selenium/selenium-4.16.0.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) - -inherit distutils-r1 pypi - -# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh -TEST_TAG=${P} -TEST_P=selenium-${TEST_TAG} - -DESCRIPTION="Python language binding for Selenium Remote Control" -HOMEPAGE=" - https://www.seleniumhq.org/ - https://github.com/SeleniumHQ/selenium/tree/trunk/py/ - https://pypi.org/project/selenium/ -" -SRC_URI+=" - test? ( - https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz - -> ${TEST_P}.gh.tar.gz - ) -" - -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" -LICENSE="Apache-2.0" -SLOT="0" - -RDEPEND=" - >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}] - <dev-python/trio-1[${PYTHON_USEDEP}] - >=dev-python/trio-0.17[${PYTHON_USEDEP}] - <dev-python/trio-websocket-1[${PYTHON_USEDEP}] - >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}] - <dev-python/urllib3-3[${PYTHON_USEDEP}] - >=dev-python/urllib3-1.26[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # TODO: we may need extra setup or deps - test/selenium - - # expects vanilla certifi - test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout - ) - - cd "${WORKDIR}/${TEST_P}/py" || die - rm -rf selenium || die - # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24 - # seriously? - epytest -o "python_files=*_tests.py test_*.py" -} diff --git a/dev-python/selenium/selenium-4.18.0.ebuild b/dev-python/selenium/selenium-4.18.0.ebuild deleted file mode 100644 index cd1feb489ced..000000000000 --- a/dev-python/selenium/selenium-4.18.0.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) - -inherit distutils-r1 pypi - -# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh -TEST_TAG=${P} -TEST_P=selenium-${TEST_TAG} - -DESCRIPTION="Python language binding for Selenium Remote Control" -HOMEPAGE=" - https://www.seleniumhq.org/ - https://github.com/SeleniumHQ/selenium/tree/trunk/py/ - https://pypi.org/project/selenium/ -" -SRC_URI+=" - test? ( - https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz - -> ${TEST_P}.gh.tar.gz - ) -" - -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -LICENSE="Apache-2.0" -SLOT="0" - -RDEPEND=" - >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}] - <dev-python/trio-1[${PYTHON_USEDEP}] - >=dev-python/trio-0.17[${PYTHON_USEDEP}] - <dev-python/trio-websocket-1[${PYTHON_USEDEP}] - >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}] - <dev-python/typing-extensions-5[${PYTHON_USEDEP}] - >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}] - <dev-python/urllib3-3[${PYTHON_USEDEP}] - >=dev-python/urllib3-1.26[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/pytest-mock[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - local EPYTEST_DESELECT=( - # TODO: we may need extra setup or deps - test/selenium - - # expects vanilla certifi - test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout - ) - - cd "${WORKDIR}/${TEST_P}/py" || die - rm -rf selenium || die - # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24 - # seriously? - epytest -o "python_files=*_tests.py test_*.py" -} diff --git a/dev-python/selenium/selenium-4.18.1.ebuild b/dev-python/selenium/selenium-4.18.1.ebuild index 6bca2fb286ea..1ef3e5bed572 100644 --- a/dev-python/selenium/selenium-4.18.1.ebuild +++ b/dev-python/selenium/selenium-4.18.1.ebuild @@ -25,9 +25,9 @@ SRC_URI+=" ) " -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" LICENSE="Apache-2.0" SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND=" >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}] diff --git a/dev-python/shtab/Manifest b/dev-python/shtab/Manifest index 542e422346a9..11b6ad860b90 100644 --- a/dev-python/shtab/Manifest +++ b/dev-python/shtab/Manifest @@ -1 +1,2 @@ DIST shtab-1.7.0.tar.gz 45485 BLAKE2B d1aef26a621da7654e5816fda7ebf197cdf23aa3a485716038b6161826b2f1a624caf369bf59a7fd611cc28906debb83f016b167f06c2cfe9d7a53724054ad55 SHA512 82e5bba15007e07c180c5d9585605150f0a5f53b3859888fcdc28c0bc537762635794f7a8ddd6f81f5337d3c7375b925380fc3797198a803fc09635b65dd07f4 +DIST shtab-1.7.1.tar.gz 45410 BLAKE2B 15ed00feb1bb051ad3ec21bab9a3300175b22e677db905b714e29b10308489bec6273a7f1e226b3dd70088c74b0dd5f2c7d8958a130e339d197ba290ea6710f4 SHA512 749f21e5b4eba75744a270809b761e7c795e4404727f8e6da87f6620622e42dc6e35aa923c7f8df34bec27af45ec16496fdab11b8450edb09067df9c830ae219 diff --git a/dev-python/shtab/shtab-1.7.1.ebuild b/dev-python/shtab/shtab-1.7.1.ebuild new file mode 100644 index 000000000000..3debac670a80 --- /dev/null +++ b/dev-python/shtab/shtab-1.7.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Automagic shell tab completion for Python CLI applications" +HOMEPAGE=" + https://github.com/iterative/shtab + https://pypi.org/project/shtab/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]" + +distutils_enable_tests pytest + +python_test() { + # Disable pytest-cov + epytest -o addopts= +} diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest index ab2971030ab7..191ea8c9c265 100644 --- a/dev-python/stripe/Manifest +++ b/dev-python/stripe/Manifest @@ -1,3 +1,4 @@ DIST stripe-8.3.0.tar.gz 1067989 BLAKE2B fb91886e93e9398fac0e20d72f70e63579150bdf27d594ec256b74e76561a5fe52ab326743f31d0f48874f3e066fbd0441569d62f41da0ec486ad84a592ce4e1 SHA512 963bc17da4acb8664482459dd0c09bba6859f17e0aa0ef55da8a9aa588174e1f34072084e9f94829cf81d0e4f9bb78df2836fdc58710f49acb4b17a271b7742c DIST stripe-8.4.0.tar.gz 1071302 BLAKE2B b7aa15e20baa6c0a2e939fda1ee45d3acab72ab771717ca15b0302793f4958257d0fe915c02d92d4be1d51eb6cc6be3bc28d4cda43dffb0ed1e2e958cfc29160 SHA512 b7ddb5a11c379492f5a7eafcc44197e026e3020420a83c294db6bbe2d73b39c4af38746817d0684e84f09232b12b45280d919090a331a9a0d03af4d02e59ef99 DIST stripe-8.5.0.tar.gz 1073351 BLAKE2B 7e30a06b34c99cbdeb06e33ee462ae6e5ace4583e293f860992f64dcc7ab6b8766e9cac0f941fd709747f0d6e0c2a171dbd72931e0af527a731c860266812121 SHA512 f6ab165d13f037856d2648faa5aef1d47d7c0aea78e222d23aec0a5ffd90e782c30401367fe00a7c09807e029f53382bd5f76ebcd096ad8d06185e32776766b4 +DIST stripe-8.6.0.tar.gz 1075310 BLAKE2B cf497317cce5f8525ccc8491ccfe8610f701abc175b9d24099790ab8a5ed7b8c67888960f96d579c7d623162d82e9f26beb09532f84eb7785c93acc3cb516825 SHA512 25fc7396ea0d5cc448a8c9c00f5dfac7ea5181a4c82d7f1b3d81d0e54b55876213ffddcb478391604f228ff5a7bbe6adcfdee0cdfce3ed385be8432c400053bf diff --git a/dev-python/stripe/stripe-8.6.0.ebuild b/dev-python/stripe/stripe-8.6.0.ebuild new file mode 100644 index 000000000000..5ed0d9dd1b63 --- /dev/null +++ b/dev-python/stripe/stripe-8.6.0.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +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.182.0 + dev-python/pytest-mock[${PYTHON_USEDEP}] + net-misc/curl + ) +" + +distutils_enable_tests pytest + +DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md ) + +src_prepare() { + if ! use telemetry; then + sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die + fi + distutils-r1_src_prepare +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests -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/tavern/Manifest b/dev-python/tavern/Manifest index b8209fb7f334..263285d0faf7 100644 --- a/dev-python/tavern/Manifest +++ b/dev-python/tavern/Manifest @@ -1,2 +1 @@ -DIST tavern-2.9.2.gh.tar.gz 248229 BLAKE2B b149f653c801588a11b53d5d6347eabd7e4159116f6b926a75831e0cc59bd072a8ac80ac284cf699447f4ea5ae0ee59b070ffe118899b4804a7292a7294fa1cc SHA512 d8fd2a0c74280db21203fcaf7579f98b44192e33293ad859c18a484d21ab9958600af6c657ae045153ada54b527fe025763bcb2a2eb4951666c2449b31d01590 DIST tavern-2.9.3.gh.tar.gz 248368 BLAKE2B feccd1c8e50db6def318553186f0dbfc9643c3942e060bb1950305c4e93fac15550b06d7ba5c2c6008175ef5a701f211408da3607ffcf3429d5542c97029cc7b SHA512 525a0b3f2c63fe4a9991ace7e27287898cbcd423e915e9ff4585eb85e0e42f06e499f653b2615b3f98998206b48c6c8f42468fae174ca4d7e7a38bf171b6feda diff --git a/dev-python/tavern/tavern-2.9.2.ebuild b/dev-python/tavern/tavern-2.9.2.ebuild deleted file mode 100644 index d837d9701698..000000000000 --- a/dev-python/tavern/tavern-2.9.2.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 - -DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs" -HOMEPAGE=" - https://github.com/taverntesting/tavern/ - https://pypi.org/project/tavern/ -" -SRC_URI=" - https://github.com/taverntesting/tavern/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64" - -RDEPEND=" - >=dev-python/jmespath-1[${PYTHON_USEDEP}] - >=dev-python/jsonschema-4[${PYTHON_USEDEP}] - >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}] - >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}] - >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}] - >=dev-python/pytest-7[${PYTHON_USEDEP}] - >=dev-python/python-box-6[${PYTHON_USEDEP}] - >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}] - >=dev-python/requests-2.22.0[${PYTHON_USEDEP}] - >=dev-python/stevedore-4[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/colorlog[${PYTHON_USEDEP}] - dev-python/Faker[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -src_prepare() { - # strip unnecessary pins, upstream doesn't update them a lot - sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_DESELECT=( - # requires grpc - tests/unit/test_extensions.py::TestGrpcCodes - ) - local EPYTEST_IGNORE=( - # require grpc* - tavern/_plugins/grpc - tests/unit/tavern_grpc - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -p tavern -} diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest index 4fc798ea9a2a..97f8baf24e12 100644 --- a/dev-python/trimesh/Manifest +++ b/dev-python/trimesh/Manifest @@ -3,3 +3,4 @@ DIST trimesh-4.1.4.gh.tar.gz 13438872 BLAKE2B b03efc741bccf3b08c9f8611dbf282d99f DIST trimesh-4.1.5.gh.tar.gz 13440026 BLAKE2B bdf27c0ebfc24ede66ecd8ae94151cbf926e187112f096246080db34a43a23f950674a461c29d8b87a71d6b5bc8e3cc824007b54be90593ceb552e1669e41e36 SHA512 a62cdbad4a053fe6bf3d70285c2484600af09f9bc6a638214b10718bdf3c0901053bad0d25c4d7dc96f396c66fb3d438981d3fc96ea179bb078abb3d8b87695b DIST trimesh-4.1.6.gh.tar.gz 13439647 BLAKE2B 785d27d794922a8e42013c4cbb9e58589874bd1db17c8b9f3490a91456d9b0a729c7714928e420174a5c7d9d4ccaa1781350134f13d1e2fb530150445d88918f SHA512 9b3da87a176a5585c7d4ff818e883f259277ad3efc13c50bcb1dd17a6635b688b0b657d0111c50c93c01a453b6f96c757a58da88edc32de64bf11cba316913ef DIST trimesh-4.1.7.gh.tar.gz 13439430 BLAKE2B afd663112b71500f0fdf8655bc0bade6dc3ca5d80464192402eca6e57e1d15e3cb5539442c5575e4fdaa119a9ff93381297bee53d8138b157159be1a1a40c66b SHA512 4b0ca18e03875700f08e8110ac189cd448ca9f5ae07efcdf6a2d8fa3ec22f72a2c2ebf0d40a95e521da8c065aa66b7b0c1685e9bd91d1a7111ddca9c24f8d73c +DIST trimesh-4.1.8.gh.tar.gz 13440336 BLAKE2B aa4bddc3d613144a0e304ec320a2b38df213846260e2525dae0f0f35a4146561e7b81dc88e197a5b0f0a76ff4b757c30df2a68fe0db0d4a37cdc8a91aedc41ba SHA512 e20ca45f08a4d65c44c214b104af7c6d9d27121716ed7efd53a521c5b896ce788dba91b7794db518f26bb2ae86a1b8269af94f9b9381f8fdd342372b4ba86ce4 diff --git a/dev-python/trimesh/trimesh-4.1.8.ebuild b/dev-python/trimesh/trimesh-4.1.8.ebuild new file mode 100644 index 000000000000..fdbbaa5a2b10 --- /dev/null +++ b/dev-python/trimesh/trimesh-4.1.8.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 optfeature + +DESCRIPTION="Python library for loading and using triangular meshes" +HOMEPAGE=" + https://trimesh.org/ + https://github.com/mikedh/trimesh/ + https://pypi.org/project/trimesh/ +" +SRC_URI=" + https://github.com/mikedh/${PN}/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/colorlog[${PYTHON_USEDEP}] + dev-python/httpx[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/networkx[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/pycollada[${PYTHON_USEDEP}] + dev-python/pyglet[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}] + dev-python/svg-path[${PYTHON_USEDEP}] + dev-python/sympy[${PYTHON_USEDEP}] + dev-python/xxhash[${PYTHON_USEDEP}] + sci-libs/rtree[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mapbox_earcut[${PYTHON_USEDEP}] + dev-python/pillow[webp,${PYTHON_USEDEP}] + ) +" + +EPYTEST_TIMEOUT=1800 +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} + +pkg_postinst() { + optfeature_header "${PN} functionality can be extended by installing the following packages:" + optfeature "making GUI applications with 3D stuff" dev-python/glooey + optfeature "2D triangulations of polygons" dev-python/mapbox_earcut + optfeature "loading a number of additional mesh formats" dev-python/meshio + optfeature "figuring out how much memory we have" dev-python/psutil + optfeature "marching cubes and other nice stuff" dev-python/scikit-image +} diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest index 5549f3302650..936caa923744 100644 --- a/dev-python/types-docutils/Manifest +++ b/dev-python/types-docutils/Manifest @@ -1,3 +1,4 @@ DIST types-docutils-0.20.0.20240302.tar.gz 13137 BLAKE2B 3e9190aa61d73454df392bd7c069db7b0fccccb2ad84017de8ec8051bd5c74f6bb9798ebfa4e5cb92aee444ec051a736fc1b2f2bf046cdc7ac32b675a5ca606e SHA512 44f6cab5155e92d95aa18846f8713af156f61fec742651727f50f6779140fcab73cd993b2271796a563564a7301ad3f18f4b38de79e01b51440026832b1a044c DIST types-docutils-0.20.0.20240303.tar.gz 13607 BLAKE2B 59963a2d072d8e3c408f778cb681872306f3f3598b24fa555993e1ef0e085aa2b1060528ca7ecae5f12bb6b0aca7b1e5d967cd21dabbbde558466aa057269f3e SHA512 37c4864d68183b75458cdf2898c454c80fa7fa5563918a63764a038cd3b41b6abc727dc5c79e06a19d3e3623653548b72c98b539ac2fb219cc3a8531924c97d5 DIST types-docutils-0.20.0.20240304.tar.gz 14344 BLAKE2B 9a1013cf9c76dc3b388f28e2ecd215ad9c058143f97e19d659d76249290ee9977ee018c5cd8c19ea8181948549fd6ae9c6196a1901659cfd141cbd231b4626eb SHA512 2156a97382029c75186c49460a1fc24a91db43c187a82eb967726f97cddd9232ab58182b5a33422d205e1d87bfcdea8a1e86513545917f8d0a4d4d915616274b +DIST types-docutils-0.20.0.20240308.tar.gz 14973 BLAKE2B 19fdba7a81197ad8ab643371aa7ec98fc8fe0bb12ae5a8b684acada5cf7c9431471d1a16157cf79e437e3e5cbc52f262a60adec42a71b3fff8381f404bdce437 SHA512 321c3e5dd7ff0f9040ead0d81255c557d9929ef130371b371514748e4fe6af97fd598763e12e260848e782883316ce27b059066e19dd1ccba4d5ee0b0bff16b5 diff --git a/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild new file mode 100644 index 000000000000..cb335ec2836f --- /dev/null +++ b/dev-python/types-docutils/types-docutils-0.20.0.20240308.ebuild @@ -0,0 +1,17 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for docutils" +HOMEPAGE="https://pypi.org/project/types-docutils/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest index 7526f06d0ca6..945e6b7ade42 100644 --- a/dev-python/types-setuptools/Manifest +++ b/dev-python/types-setuptools/Manifest @@ -1 +1,2 @@ DIST types-setuptools-69.1.0.20240302.tar.gz 34794 BLAKE2B 278be0abe3891e8436a2a583d7220d7e28e80606a7170bdc174aa184d43734f5c46c396a12122cbdfe593020fcd4e8851389f99ef0708226d2a47a547dc4b0e6 SHA512 9160098d6146f32069805a096d8c3418de1618748948ff813d0209071b28746bd526441e8e34d93b8e0ac9d5a9d22b6656a6a00377bd6599263fa13e3456189a +DIST types-setuptools-69.1.0.20240308.tar.gz 34868 BLAKE2B 091073d8741f2d3d7a45cfe31ab07bbfc52a7a90b049d5bbe354fce9baaf8c45dacda70651f6b12a4e88a92e6f27a667075a96529583d688657357554a9e05e1 SHA512 326d304bb5c1fb8b6b95793e48da69ad3ee4fa1c87f45fd272d91502a69e65f354cc0806dacfe82122af13ee58de0d12eaec12f8a9cb20adaf4284794652e679 diff --git a/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild b/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild new file mode 100644 index 000000000000..69fd1036f5c6 --- /dev/null +++ b/dev-python/types-setuptools/types-setuptools-69.1.0.20240308.ebuild @@ -0,0 +1,17 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for setuptools" +HOMEPAGE="https://pypi.org/project/types-setuptools/" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index c0d1992ccce0..e0c54d81a846 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -197,6 +197,10 @@ _DISTUTILS_R1_ECLASS=1 inherit flag-o-matic inherit multibuild multilib multiprocessing ninja-utils toolchain-funcs +if [[ ${DISTUTILS_USE_PEP517} == meson-python ]]; then + inherit meson +fi + if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then inherit python-r1 else @@ -1386,9 +1390,19 @@ distutils_pep517_install() { ) ;; meson-python) + # variables defined by setup_meson_src_configure + local MESONARGS=() BOOST_INCLUDEDIR BOOST_LIBRARYDIR NM READELF + # it also calls filter-lto + local x + for x in $(all-flag-vars); do + local -x "${x}=${!x}" + done + + setup_meson_src_configure "${DISTUTILS_ARGS[@]}" + local -x NINJAOPTS=$(get_NINJAOPTS) config_settings=$( - "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die + "${EPYTHON}" - "${MESONARGS[@]}" <<-EOF || die import json import os import shlex @@ -1812,28 +1826,33 @@ distutils-r1_run_phase() { local -x AR=${AR} CC=${CC} CPP=${CPP} CXX=${CXX} tc-export AR CC CPP CXX - if [[ ${DISTUTILS_EXT} ]]; then - if [[ ${BDEPEND} == *dev-python/cython* ]] ; then - # Workaround for https://github.com/cython/cython/issues/2747 (bug #918983) - local -x CFLAGS="${CFLAGS} $(test-flags-CC -Wno-error=incompatible-pointer-types)" - fi - + # Perform additional environment modifications only for python_compile + # phase. This is the only phase where we expect to be calling the Python + # build system. We want to localize the altered variables to avoid them + # leaking to other parts of multi-language ebuilds. However, we want + # to avoid localizing them in other phases, particularly + # python_configure_all, where the ebuild may wish to alter them globally. + if [[ ${DISTUTILS_EXT} && ( ${1} == *compile* || ${1} == *test* ) ]]; then local -x CPPFLAGS="${CPPFLAGS} $(usex debug '-UNDEBUG' '-DNDEBUG')" # always generate .c files from .pyx files to ensure we get latest # bug fixes from Cython (this works only when setup.py is using # cythonize() but it's better than nothing) local -x CYTHON_FORCE_REGEN=1 + + # Rust extensions are incompatible with C/C++ LTO compiler + # see e.g. https://bugs.gentoo.org/910220 + if has cargo ${INHERITED}; then + local x + for x in $(all-flag-vars); do + local -x "${x}=${!x}" + done + filter-lto + fi fi # silence warnings when pydevd is loaded on Python 3.11+ local -x PYDEVD_DISABLE_FILE_VALIDATION=1 - # Rust extensions are incompatible with C/C++ LTO compiler - # see e.g. https://bugs.gentoo.org/910220 - if has cargo ${INHERITED}; then - filter-lto - fi - # How to build Python modules in different worlds... local ldopts case "${CHOST}" in diff --git a/eclass/meson.eclass b/eclass/meson.eclass index 3bf0ba9ebe97..85f024de1b0c 100644 --- a/eclass/meson.eclass +++ b/eclass/meson.eclass @@ -393,9 +393,6 @@ setup_meson_src_configure() { tc-export NM tc-getPROG READELF readelf >/dev/null - # https://bugs.gentoo.org/625396 - python_export_utf8_locale - # https://bugs.gentoo.org/721786 export BOOST_INCLUDEDIR="${BOOST_INCLUDEDIR-${EPREFIX}/usr/include}" export BOOST_LIBRARYDIR="${BOOST_LIBRARYDIR-${EPREFIX}/usr/$(get_libdir)}" @@ -412,6 +409,9 @@ meson_src_configure() { BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + # https://bugs.gentoo.org/625396 + python_export_utf8_locale + ( setup_meson_src_configure "$@" MESONARGS+=( diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 3af3cbdb075e..caa39813feec 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -884,7 +884,7 @@ python_doheader() { [[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).' local includedir=$(python_get_includedir) - local d=${includedir#${EPREFIX}} + local d=${includedir#${ESYSROOT}} ( insopts -m 0644 diff --git a/sci-mathematics/z3/Manifest b/sci-mathematics/z3/Manifest index a22863ee41d3..89468d2ba859 100644 --- a/sci-mathematics/z3/Manifest +++ b/sci-mathematics/z3/Manifest @@ -1,2 +1,3 @@ DIST z3-4.12.5.tar.gz 5491803 BLAKE2B 9ad626386c73dea23b4a304312d5381be76b4c6b9aab4850568e4badd2a404cc7bf3f379490577b3acf8935f5bf8b39e241a8f85ed02819eb6d43785a9286e4a SHA512 b5055468d1380c54b959f826e10846c323c0ef73cf6bba0970e187c38cabd5869786261cd9b89a89d8369144417180870627782bf705e5494286dfe75053c9a7 DIST z3-4.12.6.tar.gz 5492517 BLAKE2B 721db0881ec77112ca0461897fa01f2b7e9f8748976f54d1b0c36acc583f74c175d0002cf46261f87c15b2614832700c1e5f94a199767a945041950cc3d9048d SHA512 10883877d20adbd229ad4bf65a9b50660d93d85514f933865f06920efd697f51ce34e502fbe451d4c1b2251f13d597050b8277036d4011d9c0f196111d681f8f +DIST z3-4.13.0.tar.gz 5520232 BLAKE2B 0889c03991311c46c361f269b85fb316c0b4be5cee84f1bb420ef640876058431fe5ec00f58a3dc9377ed3a2ea1cd908a8d9731f9575cf0e4a819fe1f50be670 SHA512 8503787fe0b18592b5a131bcec2cacfa5f5096d76386a1c4fda7a836e472924b154433306d27600ff0d0758ddb710c965901fbfc2e5605919b624b9d4d1bc4fd diff --git a/sci-mathematics/z3/z3-4.13.0.ebuild b/sci-mathematics/z3/z3-4.13.0.ebuild new file mode 100644 index 000000000000..f5b80b16a7e7 --- /dev/null +++ b/sci-mathematics/z3/z3-4.13.0.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake-multilib flag-o-matic java-pkg-opt-2 python-single-r1 + +DESCRIPTION="An efficient theorem prover" +HOMEPAGE="https://github.com/Z3Prover/z3/" +SRC_URI="https://github.com/Z3Prover/z3/archive/${P}.tar.gz" +S=${WORKDIR}/z3-${P} + +LICENSE="MIT" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="doc examples gmp isabelle java python" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + gmp? ( dev-libs/gmp:0=[cxx(+),${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + java? ( >=virtual/jdk-1.8 ) +" +BDEPEND=" + doc? ( app-text/doxygen[dot] ) +" + +CMAKE_BUILD_TYPE=RelWithDebInfo + +src_prepare() { + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # -Werror=strict-aliasing + # https://bugs.gentoo.org/879327 + # https://github.com/Z3Prover/z3/issues/7143 + # + # Do not trust it with LTO either. + append-flags -fno-strict-aliasing + filter-lto + + cmake-multilib_src_configure +} + +multilib_src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + -DZ3_USE_LIB_GMP=$(usex gmp) + -DZ3_ENABLE_EXAMPLE_TARGETS=OFF + -DZ3_BUILD_DOCUMENTATION=$(multilib_native_usex doc) + -DZ3_BUILD_PYTHON_BINDINGS=$(multilib_native_usex python) + -DZ3_BUILD_JAVA_BINDINGS=$(multilib_native_usex java) + -DZ3_INCLUDE_GIT_DESCRIBE=OFF + -DZ3_INCLUDE_GIT_HASH=OFF + ) + + multilib_is_native_abi && use java && mycmakeargs+=( -DJAVA_HOME="$(java-config -g JAVA_HOME )" ) + + cmake_src_configure +} + +multilib_src_test() { + cmake_build test-z3 + set -- "${BUILD_DIR}"/test-z3 /a + echo "${@}" >&2 + "${@}" || die +} + +multilib_src_install_all() { + dodoc README.md + use examples && dodoc -r examples + use python && python_optimize + + if use isabelle; then + insinto /usr/share/Isabelle/contrib/${P}/etc + newins - settings <<-EOF + Z3_COMPONENT="\$COMPONENT" + Z3_HOME="${EPREFIX}/usr/bin" + Z3_SOLVER="${EPREFIX}/usr/bin/z3" + Z3_REMOTE_SOLVER="z3" + Z3_VERSION="${PV}" + Z3_INSTALLED="yes" + Z3_NON_COMMERCIAL="yes" + EOF + fi +} + +pkg_postinst() { + if use isabelle; then + if [[ -f ${ROOT}/etc/isabelle/components ]]; then + sed -e "/contrib\/${PN}-[0-9.]*/d" \ + -i "${ROOT}/etc/isabelle/components" || die + cat <<-EOF >> "${ROOT}/etc/isabelle/components" || die + contrib/${P} + EOF + fi + fi +} + +pkg_postrm() { + if use isabelle; then + if [[ ! ${REPLACING_VERSIONS} ]]; then + if [[ -f "${ROOT}/etc/isabelle/components" ]]; then + # Note: this sed should only match the version of this ebuild + # Which is what we want as we do not want to remove the line + # of a new Isabelle component being installed during an upgrade. + sed -e "/contrib\/${P}/d" \ + -i "${ROOT}/etc/isabelle/components" || die + fi + fi + fi +} |