diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-02-04 06:53:00 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-02-04 06:53:00 +0000 |
| commit | edfa25bc92511e83cda46637440f1813add05b25 (patch) | |
| tree | c8a083ff8dd0e649870e8c338b5661afdbcfe0a9 /dev-python | |
| parent | 3517a84243eae72744de4d2fdeda9f541f332ebb (diff) | |
| download | baldeagleos-repo-edfa25bc92511e83cda46637440f1813add05b25.tar.gz baldeagleos-repo-edfa25bc92511e83cda46637440f1813add05b25.tar.xz baldeagleos-repo-edfa25bc92511e83cda46637440f1813add05b25.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
52 files changed, 1663 insertions, 85 deletions
diff --git a/dev-python/aiosqlite/Manifest b/dev-python/aiosqlite/Manifest index 20158f857948..5d91d13b16f6 100644 --- a/dev-python/aiosqlite/Manifest +++ b/dev-python/aiosqlite/Manifest @@ -1 +1,2 @@ DIST aiosqlite-0.20.0.tar.gz 21691 BLAKE2B 2cfa096fa10e4964eb73b0fa698bad07311a78a66258d38864d3d8957df5280fd3a4bf8cb497c9b6f3e0f3bc513a439790f3df81f7736736f73717cf60df54e4 SHA512 b0421d2b8acf90a38e33f68d8af7f0d11194c59413f074dcf7d676924adf30f0ba27dcf45e061ba1aad58c2aae49c523bfb6dc3e3fd85bf6c64052151c300be5 +DIST aiosqlite-0.21.0.tar.gz 13454 BLAKE2B cd6bb6670732e05628a2724abc2675063fd2822912751077550572bfb3971c02548ee7a681c68d8e69365ad8cf534c47ca1996e2e4c204eea8bc4371180375fa SHA512 64d65c8b683687559f698b191697f765db18719318259a6c9d778f7577d23eec5e0f382f71f63f7aba9aedcb3189bc5d946cd6382ae6c2f16af7a553b8a8c9e2 diff --git a/dev-python/aiosqlite/aiosqlite-0.21.0.ebuild b/dev-python/aiosqlite/aiosqlite-0.21.0.ebuild new file mode 100644 index 000000000000..86eb301e927e --- /dev/null +++ b/dev-python/aiosqlite/aiosqlite-0.21.0.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 pypi + +DESCRIPTION="asyncio bridge to the standard sqlite3 module" +HOMEPAGE=" + https://aiosqlite.omnilib.dev + https://pypi.org/project/aiosqlite/ + https://github.com/omnilib/aiosqlite +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + >=dev-python/typing-extensions-4[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest + +# AttributeError: 'str' object has no attribute 'supported' +#distutils_enable_sphinx docs dev-python/m2r diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 5ac4f8e24fac..3fdeaaa7c88f 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,3 +1,4 @@ DIST boto3-1.36.11.gh.tar.gz 896841 BLAKE2B 092cfaeb6dc6f6d3f523fe4e0b600817e6145a224c2b43b6dd47376d6aa1a586bf3784b2960f4179b271128d20c3edd5b435cabd6e3ddc2330f0b0ad5ce306d9 SHA512 6f17d0b6f67ace0485fbc2d809f013fddd4cf1211eb6c9a1fe0ed7c0bc117aedc9e4b7db4d4570818907db6344b19331d8a7b6246928ed5c5e294b9b5a9504dc +DIST boto3-1.36.12.gh.tar.gz 896941 BLAKE2B 1b28a8f5326898b5459e4ad7e09a159e8d59979ffa3c06182549508b2b409497dced1c0817608d7294e98c3a1e994ae62f3bb8f2883ee20be5681e4e44578ca3 SHA512 32dcd697bd6f997899f78314eb7de020f165e2ca7897c62fb12e51a9b295b6da5273f88006730a9c50ed5a3afd92975cbca102e50bd16a0d30db5fe5b270bd8d DIST boto3-1.36.2.gh.tar.gz 923432 BLAKE2B 91f19eb6e1451923adbf323688d89cfadd384009fbc3fdcae688b48dee54d9a3f14956cedaed07b15f2cdc3badaf0533a6ec1e1baf5cedc88e91580104834eb2 SHA512 e9e14f4aacd0814952198d5446050f0cf822baac0b3ce3604c40dbb6b122c431624b46b144ea4699be7328f6236e099981905a4be6a9de3400750800d8d40e60 DIST boto3-1.36.6.gh.tar.gz 925646 BLAKE2B 71db3ff552033c187e19b699d193e4834649b80d2c0dd2ed35496bfef798371f7794e58d445aeeafcc3e4aef50d4dc6e17347b04ae82b4f3b7778a1a5e419daf SHA512 c638903cb3afff4867dbee7295e387f5ce91d9d3d9f37b28c103ead87883377a69fbccfce34850da5c77186ced0bb56f5dc5f4549e84871d10a9134c731d4c36 diff --git a/dev-python/boto3/boto3-1.36.12.ebuild b/dev-python/boto3/boto3-1.36.12.ebuild new file mode 100644 index 000000000000..dfe05b3d9a81 --- /dev/null +++ b/dev-python/boto3/boto3-1.36.12.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_{9,10,11,12,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 84417918b4b4..2492cefd0a63 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,3 +1,4 @@ DIST botocore-1.36.11.gh.tar.gz 14197086 BLAKE2B 471c4d4d8433c5ce577b76e3dc70e9cbc0aee52f8c06765c1d965b437e75b44b4d62ea472abf612266ebf718300aca11f39fce90abe5d5811a37bcbe686d09de SHA512 0cf405e0fd7466a631bfbf3c4d0ad46b7c6da787715d9d70362cd5ed869ecfcf26ce7465daec220c9ffb858a1171439088e42a72665726ba5b511ef551cdcf3a +DIST botocore-1.36.12.gh.tar.gz 14196487 BLAKE2B da045773e32f6a7b76f23cb68a8492fd61410e6c374968662612ead08f970624c685cdc14e6eebf01c77b4c0cac6b859313fd7d59c98b34786c863baa4a397cc SHA512 8909e431349634326ed2a88defade4c1c55969fffebcad8fc7acac0425cb7d6ae072b864d6102c8cdc898192af6e1f8fa990c877056bcba4fcc0b3fade7cb752 DIST botocore-1.36.2.gh.tar.gz 14197789 BLAKE2B 21441cd52052d117ce05e425c13f34941dcc1ca26a03e2e7eefb6c82584d7faffb548435ebb6b716b72db8149cfe6a3378b79f9174c676fd193c194501b0c844 SHA512 45d9515c493b238a003e5ad264b152b68a62e7ca140ea13111865a4b7c674a7b309a0f550f9782c37966b95c114136b8788f00ba0c83ed4bc61521b593376594 DIST botocore-1.36.6.gh.tar.gz 14173329 BLAKE2B 1eea293adad312439f2c60e0f73f721fa207439af2918fb5db98304a565e44d33f953f517e5526e865cbf58751892be4a6cc275545f295638109ee4051d2a276 SHA512 bcd1077bfeb5709e8c6224560f7974d70a884310539b531f520b20446aeaf3aa5d9aba6cbd19d75526d34dd7ab68be578f5ece7bddf7986997f9f5bbd5cee905 diff --git a/dev-python/botocore/botocore-1.36.12.ebuild b/dev-python/botocore/botocore-1.36.12.ebuild new file mode 100644 index 000000000000..df85ee0d220c --- /dev/null +++ b/dev-python/botocore/botocore-1.36.12.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_{9,10,11,12,13} ) + +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE=" + https://github.com/boto/botocore/ + https://pypi.org/project/botocore/ +" +SRC_URI=" + https://github.com/boto/botocore/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + <dev-python/jmespath-2[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +# unbundled packages +RDEPEND+=" + dev-python/requests[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + + # unbundle deps + rm -r botocore/vendored || die + find -name '*.py' -exec sed -i \ + -e 's:from botocore[.]vendored import:import:' \ + -e 's:from botocore[.]vendored[.]:from :' \ + {} + || die + + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_DESELECT=( + # rely on bundled six + tests/functional/test_six_imports.py::test_no_bare_six_imports + tests/functional/test_six_threading.py::test_six_thread_safety + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests/{functional,unit} +} diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest index ac5c79e2d348..f1e57b3d1bd6 100644 --- a/dev-python/hypothesis/Manifest +++ b/dev-python/hypothesis/Manifest @@ -3,3 +3,4 @@ DIST hypothesis-6.124.3.gh.tar.gz 9510786 BLAKE2B d4104ce7cbe009ce1e0d2d6fa04db8 DIST hypothesis-6.124.7.gh.tar.gz 9507487 BLAKE2B d0160dedfd78443724a7388020fa093ba95e8621403f4fa69f04c324a5be8d49b51c3cae4cca488a86046818b6762a3f9703b1963186ae82daed2c8cdf0f8f70 SHA512 c9c699d830082ccfb056c42817592ad3736b3e1c2294bed889d9e581dc8d4b093a86a949b24e3fa842941daf18933c55c6a479cd6768c30cde0cecb94777a620 DIST hypothesis-6.124.9.gh.tar.gz 9507981 BLAKE2B 469448e2c97b0a798293d53d2ae1ea328c61c94245245b989a33a3520a903dbb6a4a468192dc7837dfe75bde5d9a010ffb7d4b8f16c7c8462bab8da4f183f310 SHA512 0c0f48a88a748d4bf1fc0763b4e464166536d4d16461f06a2090a2f5f54464730fff8eb7892ff60584c2135853aab7a56253db83dfd90a8e679fa3f37d4fb6a9 DIST hypothesis-6.125.0.gh.tar.gz 9508026 BLAKE2B 1c1816de7cc2be2ac541671ce8a8172b9c75e2fcd79eb219888f5815ff84b2438088c7f63921fffb58a3c0c7db8b1f31437a0de7b4c12ef6947787608cde4ff0 SHA512 8eb92e945772b48d9ae2ed67d4a1f17b63222e2aa7755e0e3e2f9a93d5610ade79e5f13b1e9a50d72f21f3f1142ee2f05eb1fa13b9dfd94c51211a9c90308433 +DIST hypothesis-6.125.1.gh.tar.gz 9508746 BLAKE2B 807aa5aa4e0e023bbc890930903f711372b391d87a4ee89332fb6140141b5adceb4b47824c093c7beddea6fc42e52d35619dfc97ba6dd480f73b4063f5de215e SHA512 6d6d27122dc6b75d092145dcec7c3e8047136258927e82d1096ed177eebf696619887f2b4b3549efac5937ac515e3e54b469c8abab69fecbcbafe342c7aead6d diff --git a/dev-python/hypothesis/hypothesis-6.125.1.ebuild b/dev-python/hypothesis/hypothesis-6.125.1.ebuild new file mode 100644 index 000000000000..b67bbcacc7ba --- /dev/null +++ b/dev-python/hypothesis/hypothesis-6.125.1.ebuild @@ -0,0 +1,104 @@ +# 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=( python3_{9,10,11,12,13} ) +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 + ) + ;; + 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/jupyter-events/Manifest b/dev-python/jupyter-events/Manifest index 8b75a25da0e7..724862a36baa 100644 --- a/dev-python/jupyter-events/Manifest +++ b/dev-python/jupyter-events/Manifest @@ -1 +1,2 @@ DIST jupyter_events-0.11.0.tar.gz 62039 BLAKE2B 0a6d4598c763c59595d66e8ea30c0c056e48600a024e138258a6d0b306a002b10bf2eabaad78bb7ca1280b214660cd682737518c503437ba4921451473cb0d92 SHA512 a19458ca9e2b9c44af1a7b4b80259aa4f67b318a5bf6ca7a9b4e24c6e6923b64947b6de8f9476e354b090542bfd9af5b7db2479df0e08ff3617d7c0f32cc267e +DIST jupyter_events-0.12.0.tar.gz 62196 BLAKE2B 8c9c46a0c7a932a27b176abb0805b5e7aeff256ec6e3e1b76e8608fb8bd0eda6729608be2d9a28e76c37c6c8f62ecdcb1be497ccf57c5b93679d900b298fb9ea SHA512 8f105e4bc8aae65170127bc2d9a0f49ace7bff23e93e99219a41444d83501e32a0dc9b637de5b7a7d085f192f775d4197ec0d1e3bf0a0fc9c15787c82978f42c diff --git a/dev-python/jupyter-events/jupyter-events-0.12.0.ebuild b/dev-python/jupyter-events/jupyter-events-0.12.0.ebuild new file mode 100644 index 000000000000..f17ef375bddd --- /dev/null +++ b/dev-python/jupyter-events/jupyter-events-0.12.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Jupyter Event System library" +HOMEPAGE=" + https://jupyter.org/ + https://github.com/jupyter/jupyter_events/ + https://pypi.org/project/jupyter-events/ +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +# jsonschema[format-nongpl] deps are always on in our ebuild +RDEPEND=" + >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + >=dev-python/python-json-logger-2.0.4[${PYTHON_USEDEP}] + >=dev-python/pyyaml-5.3[${PYTHON_USEDEP}] + dev-python/referencing[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.3[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/click[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytest-console-scripts[${PYTHON_USEDEP}] + dev-python/rich[${PYTHON_USEDEP}] + ) +" + +# TODO: package jupyterlite-sphinx +# distutils_enable_sphinx docs +distutils_enable_tests pytest diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest index 7d6c8f9b0b01..f4cca2e0fe6b 100644 --- a/dev-python/libtmux/Manifest +++ b/dev-python/libtmux/Manifest @@ -4,3 +4,4 @@ DIST libtmux-0.38.1.gh.tar.gz 304345 BLAKE2B f4380c813b57045cc8dcf4ad18124bcd2aa DIST libtmux-0.39.0.gh.tar.gz 314113 BLAKE2B cfba4cf12fd2418bb917ade6f927eb905dcc767bc7554ae08f86958c0f0ca25548f0b9d90375ab80de726436bfa5032a5df2da763cc5114849f38cbbe9331565 SHA512 7e180a63e195698e540a581fa8f7dc292e8e4db830a87bbdc859d910313d1d3351886759d3198f088f047d51e993fe6ce4c8f16304edc68681c2fa6a9348bba6 DIST libtmux-0.40.0.gh.tar.gz 317064 BLAKE2B e3658560a789aa823faf2ff29cca3a0604ebe20b64ce0432359852738ae87280a87e7411ec73283e389a23b31da9da1f435b930bcf0cd250d3b455031669a535 SHA512 15187225ab8a31a04f7d6a3d036c5df133779fc73891782abce694c8a364babc0d19af1290a06dfa6939b61028a2620499551a0b2a9fccf0f7c3067868eb98c1 DIST libtmux-0.40.1.gh.tar.gz 318542 BLAKE2B 5b9e383a3c07bab3af7c25adcf5db1c6acf1c108a2508aa2de5f6c2db64f1e365829c69299568c39a19a7c18aa773b14033aa0c48087d0d1bcf180377df558f6 SHA512 6e4f0d13b375ca1b2c2f6e7c6aaad6d420927c8d55a2f27e7912738a58a7e9f0db67c84936ccff32c9557ebe1f3ac335e779b293466eaab9333a0e3fb4a4b10e +DIST libtmux-0.42.0.gh.tar.gz 318655 BLAKE2B 5d462bd78e81bd38cfb0c42a2100287fc79b9fe31aaeccbac5c9fd124afc2df9da4ceb5cd469de1919df2995c27d4c0628629004938795b6f8731e84c23ed2bc SHA512 38e7c21bd99859add1737a1028c18852a564a2d32c27b72ea37d623bcbc0646b095ad4dd520385c11d6df4c779429ac452f6ae592a6d0ffcb4fe64bf2a4388b3 diff --git a/dev-python/libtmux/libtmux-0.42.0.ebuild b/dev-python/libtmux/libtmux-0.42.0.ebuild new file mode 100644 index 000000000000..857888d8e1e0 --- /dev/null +++ b/dev-python/libtmux/libtmux-0.42.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer" +HOMEPAGE=" + https://libtmux.git-pull.com/ + https://github.com/tmux-python/libtmux/ + https://pypi.org/project/libtmux/ +" +SRC_URI=" + https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +RDEPEND=" + >=app-misc/tmux-3.0a +" +BDEPEND=" + test? ( + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +python_prepare_all() { + local issues="https://github.com/tmux-python/libtmux/issues/" + sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die + + # increase timeouts for tests + sed -e 's/0.01/0.1/' -i tests/test_test.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set + # https://bugs.gentoo.org/927158 + local -x TMUX_PANE= + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local -x PYTEST_PLUGINS=libtmux.pytest_plugin + + epytest -o addopts= -p pytest_mock -p rerunfailures --reruns=5 tests +} diff --git a/dev-python/marshmallow/Manifest b/dev-python/marshmallow/Manifest index fb056b7c0119..d04f46870f67 100644 --- a/dev-python/marshmallow/Manifest +++ b/dev-python/marshmallow/Manifest @@ -1,2 +1,3 @@ DIST marshmallow-3.25.1.tar.gz 217295 BLAKE2B 73f6b1e7430f44bc3ea70c35ae5f5a3d219d6a89b53785ab7c32ec223714cd085822f3f41fef10e5af602ae64fab26d67ba49c2f7ef1f3ac24e8c406e3e18ff1 SHA512 7f67ec90ce4b8933d8e6b3aaac66de314d249b314cde85c2489644271426624136334daaea4aabfda638cb156bcbaf685c9a10e5fd7ecd7f008a0d4bd5a6a72d DIST marshmallow-3.26.0.tar.gz 221490 BLAKE2B 72421900002e9c2793c3f27aacbad514d75247e6af6429deec5f9eb7a9ea46c1d2c4d393b43d4ec129b7dfdd60dcde1deeed63ca6851a909f511eb60863f94cd SHA512 6419da36379a5f62978bb66b2b0f12d22dac5b6898ef04c062f529b4327bea9de8ad004325a33a3af035d066e34a6c4ba0f5621388420450023b69cc0a8f9b41 +DIST marshmallow-3.26.1.tar.gz 221825 BLAKE2B 37ac0cb401efd046070a406cfbbfb130020dcd0f60e8244f8734b28b9c1a3c151d8550016fb54d83861dd61f7d60c6157469fa575e2df1474f45e70bed7b8cd4 SHA512 b0146313010d03d7c5e4808bfb274e2923df455c34e5d31931a35b76c713dd1e403fdb0da95ba4f0eba3bdb747a57c4f85f296aad870170380e4d54fc6824d1e diff --git a/dev-python/marshmallow/marshmallow-3.26.1.ebuild b/dev-python/marshmallow/marshmallow-3.26.1.ebuild new file mode 100644 index 000000000000..1fe5c6c67a45 --- /dev/null +++ b/dev-python/marshmallow/marshmallow-3.26.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="A library for converting to and from native Python datatypes" +HOMEPAGE=" + https://github.com/marshmallow-code/marshmallow/ + https://pypi.org/project/marshmallow/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" + +RDEPEND=" + >=dev-python/packaging-17.0[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/simplejson[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/matplotlib/matplotlib-3.10.0.ebuild b/dev-python/matplotlib/matplotlib-3.10.0.ebuild index 87ccd8a53ba1..968252eb6fa6 100644 --- a/dev-python/matplotlib/matplotlib-3.10.0.ebuild +++ b/dev-python/matplotlib/matplotlib-3.10.0.ebuild @@ -78,7 +78,7 @@ RDEPEND=" $(python_gen_cond_dep ' || ( dev-python/pyqt6[gui,widgets,${PYTHON_USEDEP}] - dev-python/pyside6[gui,widgets,${PYTHON_USEDEP}] + dev-python/pyside:6[gui,widgets,${PYTHON_USEDEP}] ) ' 'python3*') ) diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest index 7d1a0454cbe3..1b688d96d72b 100644 --- a/dev-python/mkdocs-material/Manifest +++ b/dev-python/mkdocs-material/Manifest @@ -1,2 +1,3 @@ DIST mkdocs-material-9.5.50.gh.tar.gz 14753521 BLAKE2B 3d4b98bdd89d3e106f5cbd78b4deb639164991da1adb5b0dc141c7feb1b07a08466daba7793e3cc46b7db5c26bb6c46ebe3635dfc4e9f943318eff829eced6e8 SHA512 1a24b97deb43e92de7ffac52f7b3a1139f26ae112e6a9218d1a31ac8f07e250bfd0905b95d3d01f3ad5daf12246b4aa98d852fac3cecc7e5dc60b1337b820ec7 DIST mkdocs-material-9.6.1.gh.tar.gz 14796273 BLAKE2B 3dd42a064c50149a5ec0b45594f7136825145c6f279373856fd3cb426eaf71a867c1e63ad30b108145e76cf90ad04f4b0663094adfec46abb345014b39289ebd SHA512 ac2a6815b1d934ef47d292acefabaf7d63424033800325b8fbbe8bd6812a167777e810dd6a9b6431614434b0fcba8f316f96b876f12796ec6688c3078bd3eaa7 +DIST mkdocs-material-9.6.2.gh.tar.gz 14915916 BLAKE2B fd849ff8c14c8bd865c04d205af221cf294499e65359558a7d227258dfd2fa4b5b4978eb54f4f31310473b25e9ebf2cad9cc9e9ba6695712c651ac14064822cf SHA512 7de7a8ef0b1904598071996e5e858849a37fb48e1d1339560e59ab4ff09146ae4001ae7357c1974aa3d9eb103394a6cd27e177b028753224564a80e277733e9f diff --git a/dev-python/mkdocs-material/mkdocs-material-9.6.2.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.6.2.ebuild new file mode 100644 index 000000000000..09a2daf59272 --- /dev/null +++ b/dev-python/mkdocs-material/mkdocs-material-9.6.2.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=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,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}] + >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}] + >=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" +) + +src_prepare() { + echo "__version__ = '${PV}'" > gentoo_version.py || die + distutils-r1_src_prepare +} diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest index ec1378ccf7f8..6d2b276224e8 100644 --- a/dev-python/mkdocstrings-python/Manifest +++ b/dev-python/mkdocstrings-python/Manifest @@ -1,2 +1,2 @@ -DIST mkdocstrings_python-1.12.2.tar.gz 168207 BLAKE2B 4173a83b118f02f6d1c930aab1ef7d59f6108e73db6e5ac8f541f4d45203b0ffac7896ee4c97cca677f910dad5cf9de65bf755263fd82aadff83f75ebb05396e SHA512 19d7bcf21ab9e92be69dbb410d544c46f14bab6b2f02ad26c31a77c2aa2929c5e0044406c1a90a2bab2f27effc4bec84b4871ce9c8c3c4503773b11db1c856af DIST mkdocstrings_python-1.13.0.tar.gz 185697 BLAKE2B e3ab2da319147a9c28bb8df7074ab6fa61616fd950bc522b9711e23ab3f0d5f6c50ee82ce193e8b4051fdfe7ce1ae110617acc89a045acf73b49c4afe0fd05a3 SHA512 0414a09000a09515e5da1d8ea5a9cd59fa405de0de15a5c225ab57cc2280f47e7bf11196d6f41bb9626c5dd632cf37000f59cc4e156c7c061c8b46fca1563d05 +DIST mkdocstrings_python-1.14.3.tar.gz 421258 BLAKE2B 2b4ae390fcc50f3fbc1ad14686af5b19b800387b6f7668a362b09bb53e43af59d1bfd44d4dd9fef93899ce6313abeec30d775104fdbbad4da018592bbe30d20b SHA512 69444e7a69f604e78a8df264ac2205ac29285871a342c2ff620f6e411112267fcd226c445acd2787d516febac442aa64349742652363651fa82430ec279fa129 diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.12.2.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.14.3.ebuild index e0cab3a4c2aa..e898c0c421e0 100644 --- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.12.2.ebuild +++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.14.3.ebuild @@ -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 EAPI=8 @@ -21,11 +21,16 @@ KEYWORDS="~amd64 ~arm64 ~riscv" RDEPEND=" >=dev-python/griffe-0.49[${PYTHON_USEDEP}] - >=dev-python/mkdocstrings-0.26.0[${PYTHON_USEDEP}] + >=dev-python/mkdocstrings-0.28[${PYTHON_USEDEP}] >=dev-python/mkdocs-autorefs-1.2[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}] + ' 3.10) " BDEPEND=" test? ( + >=dev-python/beautifulsoup4-4.12.3[${PYTHON_USEDEP}] + >=dev-python/inline-snapshot-0.18[${PYTHON_USEDEP}] dev-python/mkdocs-material[${PYTHON_USEDEP}] ) " @@ -33,3 +38,14 @@ BDEPEND=" distutils_enable_tests pytest export PDM_BUILD_SCM_VERSION=${PV} + +python_test() { + local EPYTEST_DESELECT=( + # "None" meaning particular formatter not installed + "tests/test_rendering.py::test_format_code[None-print('Hello')]" + "tests/test_rendering.py::test_format_code[None-aaaaa(bbbbb, ccccc=1) + ddddd.eeeee[ffff] or {ggggg: hhhhh, iiiii: jjjjj}]" + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p inline_snapshot +} diff --git a/dev-python/mkdocstrings/Manifest b/dev-python/mkdocstrings/Manifest index 0333ab0c01a4..ec1b45b9b3fb 100644 --- a/dev-python/mkdocstrings/Manifest +++ b/dev-python/mkdocstrings/Manifest @@ -1 +1,2 @@ DIST mkdocstrings-0.26.2.tar.gz 92512 BLAKE2B e2ca2ba4d5a8916cdb77efb0db6c0fdc5f8969b27f4b0b5b199873a62c85150b5a0dde45797b48d297e08f9e082c9c5329084feb15379ae0a16821ac11aa3fed SHA512 7ea34df4204ae82faa19ddaf81a073152c57d9ef7f55f8935c1eb1b244ebc6ed749d853c72fd28e69ee5e1aa12ae7a2e4b6fff4f9965856a837d15dd0e2cc11e +DIST mkdocstrings-0.28.0.tar.gz 3392797 BLAKE2B 9484110f80fa85602f64acd04941db1cebf2ff39d4385559f340d3837347fb51f596b7444e1d5efa26018cf8cfba200892b938c298d76ac169beb67c520b66a4 SHA512 a1dece5b99b4f82faa8b1c02a764252df7102c4e72489cff009388cb90833339c9170517373df7e449df311a5ab7dc4d19821e15a99f295065222db0809379ce diff --git a/dev-python/mkdocstrings/mkdocstrings-0.28.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.28.0.ebuild new file mode 100644 index 000000000000..d012f2909764 --- /dev/null +++ b/dev-python/mkdocstrings/mkdocstrings-0.28.0.ebuild @@ -0,0 +1,55 @@ +# 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=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Automatic documentation from sources, for MkDocs" +HOMEPAGE=" + https://mkdocstrings.github.io/ + https://github.com/mkdocstrings/mkdocstrings/ + https://pypi.org/project/mkdocstrings/ +" + +LICENSE="ISC" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +RDEPEND=" + >=dev-python/jinja2-2.11.1[${PYTHON_USEDEP}] + >=dev-python/markdown-3.6[${PYTHON_USEDEP}] + >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}] + >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}] + >=dev-python/mkdocs-autorefs-1.3[${PYTHON_USEDEP}] + >=dev-python/mkdocs-get-deps-0.2[${PYTHON_USEDEP}] + >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/markdown-exec[${PYTHON_USEDEP}] + dev-python/mkdocs-material[${PYTHON_USEDEP}] + dev-python/mkdocstrings-python[${PYTHON_USEDEP}] + dev-python/sphinx[${PYTHON_USEDEP}] + ) +" + +# mkdocstrings documentation generation requires several currently +# unpackaged mkdocs extensions and plug-ins, and this test +# makes use of mkdocs configuration +EPYTEST_DESELECT=( + tests/test_plugin.py::test_disabling_plugin + # WTF, it tries to unlink installed files from installed package?! + tests/test_handlers.py::test_extended_templates + # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more + tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file + # Internet + tests/test_inventory.py::test_load_inventory +) + +distutils_enable_tests pytest + +export PDM_BUILD_SCM_VERSION=${PV} diff --git a/dev-python/nuitka/Manifest b/dev-python/nuitka/Manifest index 560ed38e8cf6..3fea288609e3 100644 --- a/dev-python/nuitka/Manifest +++ b/dev-python/nuitka/Manifest @@ -1,3 +1,4 @@ DIST Nuitka-2.6.1.tar.gz 3862941 BLAKE2B aab569ff14d69e48120957b822380a228d0109066fbef41e791c1f13181eba4fc4bfd2b0707888edd55a55cc700fc6eabc79ff8acaf7538a120f70318006fb2d SHA512 73143cdcba2474a0bdbd818726a6529216214efd02bb04876de06b2b30a1ffe380c080da1a9c573556443a6488fd1955e1c52fe3566c87ff4764f64af98fe852 DIST Nuitka-2.6.2.tar.gz 3865407 BLAKE2B 6cc4d00e19e8fd59f01f33f145077bfe302552a8f1d922b05c99ee28073a4cf92134ecdfd481b1fedf7cf24f28cf3416495b19d2c242a35983bf96266f62b2cf SHA512 84629c9f611a9d731231c1572ea4c91068067d1935ac2dbbfaa871c6c289bfd32aaa194e46dd461f1a3c4803eb13ca6dbaf610e3aab0bc83a9d1222c28a61509 +DIST Nuitka-2.6.3.tar.gz 3867473 BLAKE2B 77d6d173c130166b26a8cce7ce9b21658f832d86f99022bb43057d8e535d085fabecc0f4541d60eb3fc7b3c6c7785b87d7af789e2d05692408a2e6d9e0550859 SHA512 5e31812dc5351afeb8a172bb3a3b46133d34e8a569940182abe439adb929f6eb810ffdef6b50312e7a5645b97c3b7ec71f5c180ddfc4981b9f4445dc329812e7 DIST Nuitka-2.6.tar.gz 3858229 BLAKE2B 810f99da2560a302366cd2f9729fcbd1e4a0b4429cba3d4b4b43e70c91619afa8f3f4f73bf19282e246c2ec4ffbf468df8206ed3acbac09148f5302c5b67a3d9 SHA512 5194614cc8de3d3fa0f8be3769f0fb6e10b6c6f1bd45e5be0b09e96774a6a0cbe6938f6c66f903b23ad4cb480d7557aa69d14a4b8a659d12e33859f215e9a1f7 diff --git a/dev-python/nuitka/nuitka-2.6.3.ebuild b/dev-python/nuitka/nuitka-2.6.3.ebuild new file mode 100644 index 000000000000..c97d7f3c6ae8 --- /dev/null +++ b/dev-python/nuitka/nuitka-2.6.3.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYPI_PN=${PN^} +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 flag-o-matic optfeature pypi + +DESCRIPTION="Python to native compiler" +HOMEPAGE=" + https://nuitka.net/ + https://github.com/Nuitka/Nuitka/ + https://pypi.org/project/Nuitka/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~loong ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-build/scons[${PYTHON_USEDEP}] + >=dev-python/ordered-set-4.1.0[${PYTHON_USEDEP}] + >=dev-python/zstandard-0.15[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + test? ( dev-util/ccache ) +" + +distutils-r1_src_prepare() { + # remove vendored version of SCons that is Python2 only + # this should be removed when upstream removes support for Python2 + rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die + eapply_user +} + +python_install() { + distutils-r1_python_install + doman doc/nuitka.1 doc/nuitka-run.1 +} + +python_test() { + append-ldflags -Wl,--no-warn-search-mismatch + ./tests/basics/run_all.py search || die +} + +pkg_postinst() { + optfeature "support for stand-alone executables" dev-util/patchelf +} diff --git a/dev-python/orderly-set/Manifest b/dev-python/orderly-set/Manifest index 66df53048a91..bb75d3fee115 100644 --- a/dev-python/orderly-set/Manifest +++ b/dev-python/orderly-set/Manifest @@ -1,2 +1,2 @@ -DIST orderly-set-5.2.2.gh.tar.gz 21460 BLAKE2B 5660d7550d5c79351fcc66e611ba776d6340d0fc1f3a5344f308cbc00a7b2c47045a1cfe8c6ac76c7976a65b17953362e91d60d87a7fbb02f36a5d67f074dfe9 SHA512 d480677c04f32e69cc9361dff383765fe2c9df971ad77cdcbab3b650a0bad27b9bd99144cd406d5185440d674bc838acb1c2ba3a4b115fcff2eba34c19589637 DIST orderly_set-5.2.3.tar.gz 19698 BLAKE2B 32366c106f0cd71e80f4c4d2278f6590f497ad70962eec96bb67f1cceefed5bb401408093416c8a7adc97eed333cdc657e542608581e11064581cb3d6fe613c7 SHA512 6c64086de55c6152056d8f92e35273865bc94616b90e1c56f4c88e94d6e9d39759f76d4ff57000d87abccb4ddc8faf441a71253d2b94bb9718d35b7a95342ddb +DIST orderly_set-5.3.0.tar.gz 20026 BLAKE2B fa5f2e190d9f2ed079e16c45cf60044ba57ddaca875ae70f71a98055bf36053410985db762fbdafb94d7d9faeff906a3e240462267363f15f2f334d96ff852a8 SHA512 b7520653bf23c99ab124bde8b9e34f0c9eb14192eb09b2bfc9736b281f1c5d511964849496fe74c8f35d1000ba5857578906dbf47b581007bdfb81c9bd88c81a diff --git a/dev-python/orderly-set/orderly-set-5.2.2.ebuild b/dev-python/orderly-set/orderly-set-5.3.0.ebuild index 8ba07d7a2433..0b923c93070a 100644 --- a/dev-python/orderly-set/orderly-set-5.2.2.ebuild +++ b/dev-python/orderly-set/orderly-set-5.3.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 2024 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,19 +6,13 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) -inherit distutils-r1 +inherit distutils-r1 pypi DESCRIPTION="A package containing multiple implementations of Ordered Set" HOMEPAGE=" https://github.com/seperman/orderly-set/ https://pypi.org/project/orderly-set/ " -# incomplete test directory -# https://github.com/seperman/orderly-set/pull/3 -SRC_URI=" - https://github.com/seperman/orderly-set/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz -" LICENSE="MIT" SLOT="0" diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest index 15f6586be32e..e8b782900112 100644 --- a/dev-python/paramiko/Manifest +++ b/dev-python/paramiko/Manifest @@ -1 +1,2 @@ DIST paramiko-3.5.0.gh.tar.gz 376242 BLAKE2B 3080669e8b0d60e5b2e5aea390dc4f5f8d19ff32441d13b4e319892d1566f3fc76df714c0a063932e5077de08cd66ccf1140ac96bcb6e1c8e801c1377923aece SHA512 933a63c511fcd0a5a159faf2a9dfddbb44368ba923ea892aa1bf8dbe296777f3caedff27560113cfb15576812b994a59007caac8f297b24e70c79505f88c7d9f +DIST paramiko-3.5.1.gh.tar.gz 376472 BLAKE2B e00c0e1ab62eb443b3dfb5b1ebfacb9ac2f0f7e4946dcb986f8a211c22e645acd6d96ceaf709a954bf1f1554e8ce57ea1c6269984184025de39d9d9c4ff909d9 SHA512 a1198f7f21cfbdbb843acb59cc431f9af0a47d687a7e9702244f36b555bb37b75149c0e22302040400f20df50dee1d83154e5acd582982ca44f6cf68ff592675 diff --git a/dev-python/paramiko/paramiko-3.5.1.ebuild b/dev-python/paramiko/paramiko-3.5.1.ebuild new file mode 100644 index 000000000000..8435da23a1ad --- /dev/null +++ b/dev-python/paramiko/paramiko-3.5.1.ebuild @@ -0,0 +1,72 @@ +# 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_{9,10,11,12,13} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 + +DESCRIPTION="SSH2 protocol library" +HOMEPAGE=" + https://www.paramiko.org/ + https://github.com/paramiko/paramiko/ + https://pypi.org/project/paramiko/ +" +SRC_URI=" + https://github.com/paramiko/paramiko/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +IUSE="examples server" + +RDEPEND=" + >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}] + >=dev-python/cryptography-2.5[${PYTHON_USEDEP}] + >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}] + >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pytest-rerunfailures[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_DESELECT=( + # upstream doesn't really maintain the gssapi support + tests/test_gssapi.py + tests/test_kex_gss.py + tests/test_ssh_gss.py +) + +src_prepare() { + local PATCHES=( + "${FILESDIR}/${PN}-3.2.0-nih-test-deps.patch" + ) + + if ! use server; then + PATCHES+=( "${FILESDIR}/${PN}-3.2.0-disable-server.patch" ) + fi + distutils-r1_src_prepare +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p rerunfailures --reruns=5 +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + docinto examples + dodoc -r demos/* + fi +} diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside/Manifest index 68e216d91778..f8b5c86f4f41 100644 --- a/dev-python/pyside6/Manifest +++ b/dev-python/pyside/Manifest @@ -1,2 +1,3 @@ DIST pyside-pyside-setup-6.8.1.1.gh.tar.gz 18699613 BLAKE2B 2c16f305a746106edc770c267900b31fe480b167a615adc82496e0604cc618982bb787a0c173b069c258749364d7d2cac900d8d8b82244fc3b916744b7339537 SHA512 bd258be6e4c5f0b6b4bbdf8887e5f8ab16a90117deb00f9c46c4acb7f6bbcc36fb9f6b6e7c201403556e0ee269947a5f5b2611ff1b05e48f231f81b1eeac7bce DIST pyside-pyside-setup-6.8.1.gh.tar.gz 18700869 BLAKE2B 5924f8ffc3e5a4f15442af9191b0531ee9f509595d41ae2759b94c2a7f8d7e08f4a70f9c7fff07f11c5252afb77084dc21ca3b22762d6c8dd66f4fca5944c9f2 SHA512 941844b1f6711859add828cbefe7c39497d45f0936f970f3050631294ed3bfe88d9d7b827a81d61ba3efbbf7920daef6ea6c28fa9c78f8e672d68b8bd3fbb2ad +DIST pyside-pyside-setup-6.8.2.gh.tar.gz 19305680 BLAKE2B d4da8ec63d35714bf4418cdc9ff5921fe554c1635a7c5c467657b64c2140208b4bba57fc9932f0f96426e1d15c124209b0b29eb9340261d34eed194128a03545 SHA512 30691d27afaeaa3117e68b60745918d9697c8d9e4ee8941eaab51995cb5128c56d44964511f2db731f448bf32219160032e4a4cd4773d3fccc4de8c0e509d1c1 diff --git a/dev-python/pyside6/files/pyside6-6.3.1-no-strip.patch b/dev-python/pyside/files/pyside-6.3.1-no-strip.patch index 9f3a8c396f05..9f3a8c396f05 100644 --- a/dev-python/pyside6/files/pyside6-6.3.1-no-strip.patch +++ b/dev-python/pyside/files/pyside-6.3.1-no-strip.patch diff --git a/dev-python/pyside6/files/pyside6-6.6.0-no-qtexampleicons.patch b/dev-python/pyside/files/pyside-6.6.0-no-qtexampleicons.patch index f775310504f4..f775310504f4 100644 --- a/dev-python/pyside6/files/pyside6-6.6.0-no-qtexampleicons.patch +++ b/dev-python/pyside/files/pyside-6.6.0-no-qtexampleicons.patch diff --git a/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch b/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch new file mode 100644 index 000000000000..29adbe25d479 --- /dev/null +++ b/dev-python/pyside/files/pyside-6.8.2-no-qtexampleicons.patch @@ -0,0 +1,10 @@ +diff --git a/sources/pyside6/CMakeLists.txt b/sources/pyside6/CMakeLists.txt +index 2e4c701..6792258 100644 +--- a/sources/pyside6/CMakeLists.txt ++++ b/sources/pyside6/CMakeLists.txt +@@ -41,5 +41,3 @@ if(BUILD_TESTS) + endif() + + add_subdirectory(doc) +- +-add_subdirectory(qtexampleicons) diff --git a/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch b/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch new file mode 100644 index 000000000000..7cf0f46e87b1 --- /dev/null +++ b/dev-python/pyside/files/pyside-6.8.2-quick-fix-build-wheel.patch @@ -0,0 +1,17 @@ +diff --git a/build_scripts/wheel_override.py b/build_scripts/wheel_override.py +index b389bb8..71de230 100644 +--- a/build_scripts/wheel_override.py ++++ b/build_scripts/wheel_override.py +@@ -20,9 +20,9 @@ try: + + from packaging import tags + from wheel import __version__ as wheel_version +- from wheel.bdist_wheel import bdist_wheel as _bdist_wheel +- from wheel.bdist_wheel import get_abi_tag, get_platform +- from wheel.bdist_wheel import safer_name as _safer_name ++ from wheel._bdist_wheel import bdist_wheel as _bdist_wheel ++ from wheel._bdist_wheel import get_abi_tag, get_platform ++ from wheel._bdist_wheel import safer_name as _safer_name + + wheel_module_exists = True + except Exception as e: diff --git a/dev-python/pyside6/metadata.xml b/dev-python/pyside/metadata.xml index 765f9555d14d..5b35e71c685f 100644 --- a/dev-python/pyside6/metadata.xml +++ b/dev-python/pyside/metadata.xml @@ -15,6 +15,7 @@ <flag name="bluetooth">Build QtBluetooth module</flag> <flag name="charts">Build QtCharts module</flag> <flag name="concurrent">Build QtConcurrent module</flag> + <flag name="core">Build QtCore module, if disable then only shiboken will be built</flag> <flag name="designer">Build QtDesigner and QtUiTools modules</flag> <flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag> <flag name="gui">Build QtGui module</flag> @@ -25,6 +26,7 @@ <flag name="network">Build QtNetwork module</flag> <flag name="network-auth">Build QtNetworkAuth module</flag> <flag name="nfc">Build QtNfc module</flag> + <flag name="numpy">Build with support for <pkg>dev-python/numpy</pkg></flag> <flag name="pdfium">Build QtPdf module</flag> <flag name="positioning">Build QtPositioning module</flag> <flag name="printsupport">Build QtPrintSupport module</flag> @@ -33,6 +35,7 @@ <flag name="quick3d">Build QtQuick3D and QtQuickWidgets modules</flag> <flag name="scxml">Build QtScxml module</flag> <flag name="sensors">Build QtSensors module</flag> + <flag name="serialbus">Build QtSerialBus modules</flag> <flag name="serialport">Build QtSerialPort modules</flag> <flag name="spatialaudio">Build QtSpatialAudio module</flag> <flag name="speech">Build QtTextToSpeech module</flag> @@ -40,10 +43,12 @@ <flag name="svg">Build QtSvg module</flag> <flag name="remoteobjects">Build QtRemoteObjects module</flag> <flag name="testlib">Build QtTest module</flag> + <flag name="tools">Build PySide Tools</flag> <flag name="uitools">Build UITools module</flag> <flag name="webchannel">Build QtWebChannel module</flag> <flag name="webengine">Build QtWebEngine and QtWebEngineWidgets modules</flag> <flag name="websockets">Build QtWebSockets module</flag> + <flag name="webview">Build QtWebView module</flag> <flag name="widgets">Build QtWidgets module</flag> <flag name="xml">Build QtXml module</flag> </use> diff --git a/dev-python/pyside6/pyside6-6.8.1.1.ebuild b/dev-python/pyside/pyside-6.8.1.1.ebuild index a1f9754f47ba..80c36e09dccc 100644 --- a/dev-python/pyside6/pyside6-6.8.1.1.ebuild +++ b/dev-python/pyside/pyside-6.8.1.1.ebuild @@ -124,7 +124,7 @@ RDEPEND="${PYTHON_DEPS} ) ) websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) - !dev-python/pyside6:0 + !dev-python/pyside:0 " DEPEND="${RDEPEND} $(llvm_gen_dep ' @@ -234,12 +234,12 @@ src_install() { # file for the current Python target. See also: # https://github.com/leycec/raiagent/issues/73 sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ - "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}6.pc || die # Uniquify the PySide6 pkgconfig file for the current Python target, # preserving an unversioned "pyside6.pc" file arbitrarily associated # with the last Python target. (See the previously linked issue.) - cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}6{,-${EPYTHON}}.pc || die } python_foreach_impl pyside6_install diff --git a/dev-python/pyside6/pyside6-6.8.1.ebuild b/dev-python/pyside/pyside-6.8.1.ebuild index cc7c604b63b5..b0ae0945d07e 100644 --- a/dev-python/pyside6/pyside6-6.8.1.ebuild +++ b/dev-python/pyside/pyside-6.8.1.ebuild @@ -124,7 +124,7 @@ RDEPEND="${PYTHON_DEPS} ) ) websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) - !dev-python/pyside6:0 + !dev-python/pyside:0 " DEPEND="${RDEPEND} $(llvm_gen_dep ' @@ -234,12 +234,12 @@ src_install() { # file for the current Python target. See also: # https://github.com/leycec/raiagent/issues/73 sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ - "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die + "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}6.pc || die # Uniquify the PySide6 pkgconfig file for the current Python target, # preserving an unversioned "pyside6.pc" file arbitrarily associated # with the last Python target. (See the previously linked issue.) - cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die + cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}6{,-${EPYTHON}}.pc || die } python_foreach_impl pyside6_install diff --git a/dev-python/pyside/pyside-6.8.2.ebuild b/dev-python/pyside/pyside-6.8.2.ebuild new file mode 100644 index 000000000000..3887bd49793a --- /dev/null +++ b/dev-python/pyside/pyside-6.8.2.ebuild @@ -0,0 +1,440 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) +LLVM_COMPAT=( {15..19} ) +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_EXT=1 + +inherit distutils-r1 llvm-r1 qmake-utils virtualx + +MY_PN=pyside-pyside-setup +MY_P=${MY_PN}-${PV} + +DESCRIPTION="Python bindings for the Qt framework" +HOMEPAGE="https://wiki.qt.io/PySide6" +SRC_URI="https://github.com/qtproject/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.gh.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="|| ( GPL-2 GPL-3 LGPL-3 )" +SLOT="6/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +# If a flag enables multiple Qt modules, they should be ordered +# according to their dependencies, e.g. for 3d, 3DCore must be first. +# Widgets for various modules are handled as a special case later +declare -A QT_MODULES=( + ["3d"]="3DCore 3DRender 3DLogic 3DInput 3DAnimation 3DExtras" + ["bluetooth"]="Bluetooth" + ["charts"]="Charts" + ["+concurrent"]="Concurrent" + ["+core"]="Core" + ["+dbus"]="DBus" + ["designer"]="Designer" + ["+gui"]="Gui" + ["help"]="Help" + ["httpserver"]="HttpServer" + ["location"]="Location" + ["multimedia"]="Multimedia" # plus widgets + ["network-auth"]="NetworkAuth" + ["+network"]="Network" + ["nfc"]="Nfc" + ["+opengl"]="OpenGL" # plus widgets + ["pdfium"]="Pdf" # plus widgets + ["positioning"]="Positioning" + ["+printsupport"]="PrintSupport" + ["qml"]="Qml" + ["quick3d"]="Quick3D" + ["quick"]="Quick" # plus widgets + ["remoteobjects"]="RemoteObjects" + ["scxml"]="Scxml" + ["sensors"]="Sensors" + ["serialbus"]="SerialBus" + ["serialport"]="SerialPort" + ["spatialaudio"]="SpatialAudio" + ["+sql"]="Sql" + ["svg"]="Svg" # plus widgets + ["speech"]="TextToSpeech" + ["+testlib"]="Test" + ["uitools"]="UiTools" + ["webchannel"]="WebChannel" + ["webengine"]="WebEngineCore" # plus widgets and quick + ["websockets"]="WebSockets" + ["webview"]="WebView" + ["+widgets"]="Widgets" + ["+xml"]="Xml" +) + +# Manually reextract these requirements on version bumps by running the +# following one-liner from within "${S}": +# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt +declare -A QT_REQUIREMENTS=( + ["3d"]="gui network opengl" + ["bluetooth"]="core" + ["charts"]="core gui widgets" + ["concurrent"]="core" + ["dbus"]="core" + ["designer"]="widgets" + ["gles2-only"]="gui" + ["gui"]="core" + ["help"]="widgets" + ["httpserver"]="core concurrent network websockets" + ["location"]="core positioning" + ["multimedia"]="core gui network" + ["network-auth"]="network" + ["network"]="core" + ["nfc"]="core" + ["opengl"]="gui" + ["pdfium"]="core gui network" + ["positioning"]="core" + ["printsupport"]="widgets" + ["qml"]="network" + ["quick"]="gui network qml opengl" + ["quick3d"]="gui network qml quick" + ["remoteobjects"]="core network" + ["scxml"]="core" + ["sensors"]="core" + ["serialbus"]="core network serialport" + ["serialport"]="core" + ["spatialaudio"]="core gui network multimedia" + ["speech"]="core multimedia" + ["sql"]="widgets" + ["svg"]="gui" + ["testlib"]="widgets" + ["uitools"]="widgets" + ["webchannel"]="core" + ["webengine"]="core gui network printsupport quick webchannel" + ["websockets"]="network" + ["webview"]="gui" + ["widgets"]="gui" + ["xml"]="core" +) + +IUSE="${!QT_MODULES[@]} debug doc gles2-only numpy test tools" +RESTRICT="!test? ( test )" + +for requirement in ${!QT_REQUIREMENTS[@]}; do + REQUIRED_USE+=" ${requirement}? ( ${QT_REQUIREMENTS[${requirement}]} ) " +done + +# Minimal supported version of Qt. +QT_PV="$(ver_cut 1-3)*:6" + +# WebEngine needs sound support, so enable either pulseaudio or alsa +RDEPEND=" + =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?] + 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] ) + bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] ) + charts? ( =dev-qt/qtcharts-${QT_PV} ) + designer? ( =dev-qt/qttools-${QT_PV}[designer,widgets,gles2-only=] ) + gui? ( + =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)] + x11-libs/libxkbcommon + ) + help? ( =dev-qt/qttools-${QT_PV}[assistant,gles2-only=] ) + httpserver? ( =dev-qt/qthttpserver-${QT_PV} ) + location? ( =dev-qt/qtlocation-${QT_PV} ) + multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[widgets(+)?] ) + network? ( =dev-qt/qtbase-${QT_PV}[ssl] ) + network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} ) + nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] ) + numpy? ( >=dev-python/numpy-2.1.3[${PYTHON_USEDEP}] ) + pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] ) + positioning? ( =dev-qt/qtpositioning-${QT_PV} ) + printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] ) + qml? ( =dev-qt/qtdeclarative-${QT_PV}[opengl?,widgets?] ) + quick3d? ( =dev-qt/qtquick3d-${QT_PV}[opengl?] ) + remoteobjects? ( =dev-qt/qtremoteobjects-${QT_PV} ) + scxml? ( =dev-qt/qtscxml-${QT_PV} ) + sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] ) + speech? ( =dev-qt/qtspeech-${QT_PV} ) + serialbus? ( =dev-qt/qtserialbus-${QT_PV} ) + serialport? ( =dev-qt/qtserialport-${QT_PV} ) + svg? ( =dev-qt/qtsvg-${QT_PV} ) + testlib? ( =dev-qt/qtbase-${QT_PV}[gui] ) + tools? ( + =dev-qt/qtbase-${QT_PV} + =dev-qt/qtdeclarative-${QT_PV}[qmlls] + =dev-qt/qttools-${QT_PV}[assistant,designer,linguist] + ) + uitools? ( =dev-qt/qttools-${QT_PV}[gles2-only=,widgets] ) + webchannel? ( =dev-qt/qtwebchannel-${QT_PV} ) + webengine? ( || ( + =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?] + =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?] + ) + ) + websockets? ( =dev-qt/qtwebsockets-${QT_PV} ) + webview? ( =dev-qt/qtwebview-${QT_PV} ) + !dev-python/pyside:0 + !dev-python/shiboken6 + !dev-python/pyside6-tool +" + +DEPEND="${RDEPEND} + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + dev-util/vulkan-headers + test? ( =dev-qt/qtbase-${QT_PV}[gui] ) +" # testlib is toggled by the gui flag on qtbase + +BDEPEND=" + dev-build/cmake + dev-python/distro[${PYTHON_USEDEP}] + dev-util/patchelf + doc? ( + >=dev-libs/libxml2-2.6.32 + >=dev-libs/libxslt-1.1.19 + media-gfx/graphviz + ) + numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) +" + +PATCHES=( + # Needs porting to newer wheel and setuptools + "${FILESDIR}/${PN}-6.8.2-quick-fix-build-wheel.patch" + # References files not present in our dev-qt/qtbase + "${FILESDIR}/${PN}-6.8.2-no-qtexampleicons.patch" +) + +# Build system duplicates system libraries. TODO: fix +QA_PREBUILT=( + "/usr/lib/python*/site-packages/PySide6/*" +) + +python_prepare_all() { + distutils-r1_python_prepare_all + + # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include" + # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan". + sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \ + sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die + + # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/" + # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the + # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is + # the largest version specifier that exists under the "/usr/lib/clang/" + # subdirectory. This assumption is false in edge cases, including when + # users downgrade from newer Clang versions but fail to remove those + # versions with "emerge --depclean". See also: + # https://github.com/leycec/raiagent/issues/85 + # + # Sadly, the clang-* family of functions exported by the "toolchain-funcs" + # eclass are defective, returning nonsensical placeholder strings if the + # end user has *NOT* explicitly configured their C++ compiler to be Clang. + # PySide6 does *NOT* care whether the end user has done so or not, as + # PySide6 unconditionally requires Clang in either case. See also: + # https://bugs.gentoo.org/619490 + sed -e \ + 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${LLVM_SLOT}"'/include"))~' \ + -i sources/shiboken6/ApiExtractor/clangparser/compilersupport.cpp || die +} + +python_configure_all() { + ENABLED_QT_MODULES=() + + # The order matters, dependencies must come first so process + # REQUIRED_USE and recursively enable modules + enable_qt_mod() { + local flag=${1} + local modules=${QT_MODULES[${flag}]} + if [[ -z ${modules} ]]; then + die "incorrect flag=${flag}, not registered" + fi + local dependencies=${QT_REQUIREMENTS[${flag//+}]} + if [[ -n ${dependencies} ]]; then + local depflag + for depflag in ${dependencies}; do + if use ${depflag}; then + if [[ -z ${QT_MODULES[${depflag}]} ]]; then + depflag=+${depflag} + fi + enable_qt_mod ${depflag} + else + die "${depflag} is required but not enabled" + fi + done + fi + if [[ "${ENABLED_QT_MODULES[*]}" != *${modules}* ]]; then + ENABLED_QT_MODULES+=( ${modules} ) + fi + } + # Enable specified qt modules + local flag + for flag in ${!QT_MODULES[@]}; do + if use ${flag//+}; then + enable_qt_mod ${flag} + fi + done + + # Special cases + if use widgets; then + use multimedia && ENABLED_QT_MODULES+=( MultimediaWidgets ) + use opengl && ENABLED_QT_MODULES+=( OpenGLWidgets ) + use pdfium && ENABLED_QT_MODULES+=( PdfWidgets ) + use quick && ENABLED_QT_MODULES+=( QuickWidgets ) + use svg && ENABLED_QT_MODULES+=( SvgWidgets ) + use webengine && ENABLED_QT_MODULES+=( WebEngineWidgets ) + fi + if use quick; then + use webengine && ENABLED_QT_MODULES+=( WebEngineQuick ) + use testlib && ENABLED_QT_MODULES+=( QuickTest ) + fi + + # Arguments listed in options.py + MAIN_DISTUTILS_ARGS=( + --cmake="${EPREFIX}/usr/bin/cmake" + --ignore-git + --limited-api=no + --module-subset="$(printf '%s,' "${ENABLED_QT_MODULES[@]}")" + --no-strip + --no-size-optimization + --openssl="${EPREFIX}/usr/bin/openssl" + --qt=$(ver_cut 1-3) + --qtpaths=$(qt6_get_bindir)/qtpaths + --verbose-build + $(usex debug "--debug" "--relwithdebinfo") + $(usex doc "--build-docs" "--skip-docs") + $(usex numpy "--enable-numpy-support" "--disable-numpy-support") + $(usex test "--build-tests --use-xvfb" "") + $(usex tools "" "--no-qt-tools") + ) +} + +python_compile() { + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --build-type=shiboken6 + ) + distutils-r1_python_compile + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --build-type=shiboken6-generator + ) + distutils-r1_python_compile + # If no pyside modules enabled, build just shiboken + if [[ ${#ENABLED_QT_MODULES[@]} -gt 0 ]]; then + DISTUTILS_ARGS=( + "${MAIN_DISTUTILS_ARGS[@]}" + --reuse-build + --shiboken-target-path="$(find "${BUILD_DIR}/build" -type d -name cmake)/../../" + --build-type=pyside6 + ) + distutils-r1_python_compile + fi + + # Link libraries to the usual location for backwards compatibility + pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || + die + mkdir -p "${BUILD_DIR}/install/usr/$(get_libdir)" || die + local lib + for lib in */*.cpython-*.so + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so" || + die + done + for lib in */*.cpython-*.so.$(ver_cut 1-2) + do + local base=${lib##*/} + ln -s "${base}" "${lib%/*}/${base%%.*}-${EPYTHON}.so.$(ver_cut 1-2)" || + die + done + for lib in */*.so*; do + ln -s "../../$(python_get_sitedir)/${lib}" \ + "${BUILD_DIR}/install/usr/$(get_libdir)/${lib#*/}" || die + done + popd >/dev/null || die + + # Symlinks for compatibility with pypi wheels + local dir + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/PySide6 ]] + then + pushd "${BUILD_DIR}/install/$(python_get_sitedir)/PySide6" \ + >/dev/null || die + mkdir -p "${BUILD_DIR}/install/usr/share/PySide6" || die + for dir in doc glue typesystems; do + ln -s "../../../$(python_get_sitedir)/PySide6/${dir}" \ + "${BUILD_DIR}/install/usr/share/PySide6/${dir}" || + die + done + popd >/dev/null || die + fi + mkdir -p "${BUILD_DIR}/install/usr/include" + for dir in PySide6 shiboken6_generator; do + if [[ -d ${BUILD_DIR}/install/$(python_get_sitedir)/${dir}/include ]] + then + ln -s "../../$(python_get_sitedir)/${dir}/include" \ + "${BUILD_DIR}/install/usr/include/${dir//_generator}" || + die + fi + done + + # Install misc files from inner install dir + find "${BUILD_DIR}"/build/*/install -type f \ + -name libPySidePlugin.so -exec \ + mkdir -p "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + -exec \ + cp "{}" "${BUILD_DIR}/install/$(qt6_get_plugindir)/designer/" \; \ + || die + + for dir in cmake pkgconfig; do + find "${BUILD_DIR}"/build/*/install -type d -name ${dir} \ + -exec cp -r "{}" "${BUILD_DIR}/install/usr/lib/" \; \ + || die + done + + # Uniquify the pkgconfigs file for the current Python target, + # preserving an unversioned "shiboken6.pc" file arbitrarily + # associated with the last Python target. + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc ]] + then + sed -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/shiboken6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/shiboken6_generator/include~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/shiboken6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"shiboken6{,-${EPYTHON}}.pc || die + fi + if [[ -f ${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc ]] + then + sed -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \ + -e 's~prefix=.*~prefix=/usr~g' \ + -e 's~exec_prefix=.*~exec_prefix=${prefix}~g' \ + -e "s~libdir=.*~libdir=$(python_get_sitedir)/PySide6~g" \ + -e "s~includedir=.*~includedir=$(python_get_sitedir)/PySide6/include~g" \ + -e "s~typesystemdir=.*~typesystemdir=$(python_get_sitedir)/PySide6/typesystems~g" \ + -e "s~gluedir=.*~gluedir=$(python_get_sitedir)/PySide6/glue~g" \ + -e "s~pythonpath=.*~pythonpath=$(python_get_sitedir)~g" \ + -i "${BUILD_DIR}/install/usr/lib/pkgconfig/pyside6.pc" || die + cp "${BUILD_DIR}/install/usr/lib/pkgconfig/"pyside6{,-${EPYTHON}}.pc || die + fi + + sed \ + -e "s~/lib/libshiboken6\.cpython~/$(get_libdir)/libshiboken6\.cpython~g" \ + -e "s~/lib/libpyside6\.cpython~/$(get_libdir)/libpyside6\.cpython~g" \ + -e "s~/lib/libpyside6qml\.cpython~/$(get_libdir)/libpyside6qml\.cpython~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-3)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-3)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libshiboken6\.cpython.*\.so\.$(ver_cut 1-2)~libshiboken6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -e "s~libpyside6qml\.cpython.*\.so\.$(ver_cut 1-2)~libpyside6qml\${PYTHON_CONFIG_SUFFIX}\.so\.$(ver_cut 1-2)~g" \ + -i "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cmake || die + local file + for file in "${BUILD_DIR}/install/usr/lib/cmake/"*/*.cpython-*.cmake + do + local base=${file##*/} + ln -s "${base}" "${file%/*}/${base%%.*}-${EPYTHON}.cmake" || + die + done +} + +python_test() { + virtx ${EPYTHON} testrunner.py test || die "Tests failed with ${EPYTHON}" +} diff --git a/dev-python/pyside6-tools/pyside6-tools-6.8.1.1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.8.1.1.ebuild index e5766fac58ad..644b792e5ea9 100644 --- a/dev-python/pyside6-tools/pyside6-tools-6.8.1.1.ebuild +++ b/dev-python/pyside6-tools/pyside6-tools-6.8.1.1.ebuild @@ -29,7 +29,7 @@ QT_PV="$(ver_cut 1-3)*:6" RDEPEND="${PYTHON_DEPS} ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] - ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] + ~dev-python/pyside-${PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] !dev-python/pyside6-tools:0 " DEPEND="${RDEPEND} diff --git a/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild index 1b7ed900fcbe..689a664ba0f6 100644 --- a/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild +++ b/dev-python/pyside6-tools/pyside6-tools-6.8.1.ebuild @@ -29,7 +29,7 @@ QT_PV="$(ver_cut 1-3)*:6" RDEPEND="${PYTHON_DEPS} =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}] - =dev-python/pyside6-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] + =dev-python/pyside-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}] !dev-python/pyside6-tools:0 " DEPEND="${RDEPEND} diff --git a/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild b/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild index 7897b167cd76..8221ce43923e 100644 --- a/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild +++ b/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild @@ -6,7 +6,6 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYTHON_COMPAT=( python3_{9,10,11,12,13} ) -PYSIDE2_COMPAT=( python3_{10..11} ) inherit distutils-r1 virtualx pypi @@ -29,10 +28,7 @@ BDEPEND=" || ( dev-python/pyqt6[gui,testlib,widgets,${PYTHON_USEDEP}] dev-python/pyqt5[gui,testlib,widgets,${PYTHON_USEDEP}] - dev-python/pyside6[gui,testlib,widgets,${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/pyside2[gui,testlib,widgets,${PYTHON_USEDEP}] - ' "${PYSIDE2_COMPAT[@]}") + dev-python/pyside:6[gui,testlib,widgets,${PYTHON_USEDEP}] ) ) " @@ -64,7 +60,7 @@ python_test() { ) local -x PYTEST_QT_API - for PYTEST_QT_API in PyQt{5,6} pyside{2,6}; do + for PYTEST_QT_API in PyQt{5,6} "pyside:6"; do if has_version "dev-python/${PYTEST_QT_API}[gui,testlib,widgets,${PYTHON_USEDEP}]" then einfo "Testing with ${EPYTHON} and ${PYTEST_QT_API}" diff --git a/dev-python/qtpy/metadata.xml b/dev-python/qtpy/metadata.xml index 9afab0307bea..c4d61f1c7f7d 100644 --- a/dev-python/qtpy/metadata.xml +++ b/dev-python/qtpy/metadata.xml @@ -18,8 +18,7 @@ <use> <flag name="pyqt5">Use <pkg>dev-python/pyqt5</pkg> as Qt for Python implementation</flag> <flag name="pyqt6">Use <pkg>dev-python/pyqt6</pkg> as Qt for Python implementation</flag> - <flag name="pyside2">Use dev-python/pyside2 as Qt for Python implementation</flag> - <flag name="pyside6">Use <pkg>dev-python/pyside6</pkg> as Qt for Python implementation</flag> + <flag name="pyside6">Use <pkg>dev-python/pyside</pkg> as Qt for Python implementation</flag> <flag name="designer">Pull in bindings for the QtDesigner module and enable the designer plugin</flag> <flag name="gui">Pull in bindings for the QtGui module</flag> <flag name="help">Pull in bindings for the QtHelp module</flag> diff --git a/dev-python/qtpy/qtpy-2.4.2-r1.ebuild b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild index 3df2e1441e80..88c56c1f2e61 100644 --- a/dev-python/qtpy/qtpy-2.4.2-r1.ebuild +++ b/dev-python/qtpy/qtpy-2.4.2-r1.ebuild @@ -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 EAPI=8 @@ -62,12 +62,12 @@ RDEPEND=" ) pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?] - dev-python/pyside6[network?,nfc?,opengl?,pdfium?,positioning?] - dev-python/pyside6[printsupport?,qml?,quick?,quick3d?,remoteobjects(-)?] - dev-python/pyside6[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?] - dev-python/pyside6[testlib?,webchannel?,webengine?,websockets?,widgets?,xml?] + dev-python/pyside:6[${PYTHON_USEDEP},core(+)] + dev-python/pyside:6[bluetooth?,dbus?,designer?,gui?,help?,multimedia?] + dev-python/pyside:6[network?,nfc?,opengl?,pdfium?,positioning?] + dev-python/pyside:6[printsupport?,qml?,quick?,quick3d?,remoteobjects(-)?] + dev-python/pyside:6[sensors?,serialport?,spatialaudio?,speech?,sql?,svg?] + dev-python/pyside:6[testlib?,webchannel?,webengine?,websockets?,widgets?,xml?] ) " @@ -88,14 +88,13 @@ BDEPEND=" dev-qt/qtbase:6[sqlite] ) pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[3d,bluetooth,charts,concurrent,dbus,designer,gui] - dev-python/pyside6[help,location,multimedia,network,network-auth] - dev-python/pyside6[nfc,opengl,pdfium,positioning,printsupport,qml] - dev-python/pyside6[quick,quick3d,scxml,sensors,serialport] - dev-python/pyside6[spatialaudio,speech,sql,svg,testlib,webchannel] - dev-python/pyside6[webengine,websockets,widgets,xml] - dev-python/pyside6-tools[${PYTHON_USEDEP}] + dev-python/pyside:6[${PYTHON_USEDEP},core(+)] + dev-python/pyside:6[3d,bluetooth,charts,concurrent,dbus,designer,gui] + dev-python/pyside:6[help,location,multimedia,network,network-auth] + dev-python/pyside:6[nfc,opengl,pdfium,positioning,printsupport,qml] + dev-python/pyside:6[quick,quick3d,scxml,sensors,serialport] + dev-python/pyside:6[spatialaudio,speech,sql,svg,testlib,webchannel] + dev-python/pyside:6[webengine,websockets,widgets,xml] dev-qt/qtbase:6[sqlite] ) ) diff --git a/dev-python/qtpy/qtpy-2.4.2.ebuild b/dev-python/qtpy/qtpy-2.4.2.ebuild index c0c0c1ca0e39..4089a27decc3 100644 --- a/dev-python/qtpy/qtpy-2.4.2.ebuild +++ b/dev-python/qtpy/qtpy-2.4.2.ebuild @@ -24,14 +24,10 @@ _IUSE_QT_MODULES=" printsupport qml quick sensors serialport speech +sql svg testlib webchannel webengine websockets +widgets +xml " -IUSE="+pyqt5 +pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}" +IUSE="+pyqt5 +pyqt6 pyside6 ${_IUSE_QT_MODULES}" unset _IUSE_QT_MODULES -REQUIRED_USE=" - || ( pyqt5 pyqt6 pyside2 pyside6 ) - python_targets_python3_12? ( !pyside2 ) - python_targets_python3_13? ( !pyside2 ) -" +REQUIRED_USE="|| ( pyqt5 pyqt6 pyside6 )" # These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds # Disable them for now, please check periodically if this is still up to date. @@ -88,21 +84,12 @@ RDEPEND=" webengine? ( dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets?,quick?] ) ) - pyside2? ( - $(python_gen_cond_dep ' - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?] - dev-python/pyside2[positioning?,printsupport?,qml?,quick?,sensors?,serialport(+)?] - dev-python/pyside2[speech?,sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside2[widgets?,xml?] - ' python3_{10..11}) - ) pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?] - dev-python/pyside6[positioning?,printsupport?,qml?,quick?,sensors(-)?,serialport?] - dev-python/pyside6[speech(-)?,sql?,svg?,testlib?,webchannel?,webengine?,websockets?] - dev-python/pyside6[widgets?,xml?] + dev-python/pyside[${PYTHON_USEDEP},core(+)] + dev-python/pyside[designer?,gui?,help?,multimedia?,network?,opengl?] + dev-python/pyside[positioning?,printsupport?,qml?,quick?,sensors(-)?,serialport?] + dev-python/pyside[speech(-)?,sql?,svg?,testlib?,webchannel?,webengine?,websockets?] + dev-python/pyside[widgets?,xml?] ) " @@ -130,28 +117,13 @@ BDEPEND=" dev-python/pyqt6-webengine[${PYTHON_USEDEP},widgets,quick] dev-qt/qtbase:6[sqlite] ) - pyside2? ( - $(python_gen_cond_dep ' - dev-python/pyside2[${PYTHON_USEDEP}] - dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help] - dev-python/pyside2[location,multimedia,network,opengl(+)] - dev-python/pyside2[positioning,printsupport,qml,quick,scxml] - dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib] - dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras] - dev-python/pyside2[xml,xmlpatterns] - dev-qt/qtsql:5[sqlite] - dev-python/pyside2-tools[${PYTHON_USEDEP}] - ' python3_{10..11}) - dev-qt/qtsql:5[sqlite] - ) pyside6? ( - dev-python/pyside6[${PYTHON_USEDEP}] - dev-python/pyside6[3d(-),bluetooth(-),concurrent,dbus,designer,gui,help] - dev-python/pyside6[location(-),multimedia,network,nfc(-),opengl,positioning,pdfium(-)] - dev-python/pyside6[printsupport,qml,quick,quick3d,scxml(-),sensors(-)] - dev-python/pyside6[serialport,spatialaudio(-),speech(-),sql,svg,testlib,webchannel] - dev-python/pyside6[webengine,websockets,widgets,xml] - dev-python/pyside6-tools[${PYTHON_USEDEP}] + dev-python/pyside[${PYTHON_USEDEP},core(+)] + dev-python/pyside[3d(-),bluetooth(-),concurrent,dbus,designer,gui,help] + dev-python/pyside[location(-),multimedia,network,nfc(-),opengl,positioning,pdfium(-)] + dev-python/pyside[printsupport,qml,quick,quick3d,scxml(-),sensors(-)] + dev-python/pyside[serialport,spatialaudio(-),speech(-),sql,svg,testlib,webchannel] + dev-python/pyside[webengine,websockets,widgets,xml] dev-qt/qtbase:6[sqlite] ) ) diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest index 573f2fdcd721..8d047c21c916 100644 --- a/dev-python/reportlab/Manifest +++ b/dev-python/reportlab/Manifest @@ -1,2 +1,3 @@ DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2 DIST reportlab-4.2.5.tar.gz 3581379 BLAKE2B 560175a5180f3e991a3bed26f40b1c73b80a0f7dde9a30be2693ca0008d5272a3c1903fa930112e5f023e433a45c6ce384f9f239335c12400434a390a25ca501 SHA512 1daf01a03dd12770d40dbc1be66f0128a63953eebc97175d5cdf9a30cc6f827bc7a50e4f12cf0def8edecd3798fdc1fe009b3b92b0a252ca8a1395f83d6e970f +DIST reportlab-4.3.0.tar.gz 3499157 BLAKE2B 0f8e38d637f136b341fb85f8c479eea8bce18ce359fd96b62dd72692eab8fdb9890aa1e91348c400e2d389c3302545044163dd58d10e61d1b2a2878d36cd303f SHA512 5c7e7d25016bf3bddf1060c2c72ce138a0aa81a47571474f62d760a4ce7415c355905c81b92960900d51da390cb28c1d8d74e9a0b84a0ec6ab1ee6e246e7e9e9 diff --git a/dev-python/reportlab/reportlab-4.3.0.ebuild b/dev-python/reportlab/reportlab-4.3.0.ebuild new file mode 100644 index 000000000000..04c9bc850c66 --- /dev/null +++ b/dev-python/reportlab/reportlab-4.3.0.ebuild @@ -0,0 +1,53 @@ +# 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_{9,10,11,12,13} ) + +inherit distutils-r1 pypi + +DESCRIPTION="Tools for generating printable PDF documents from any data source" +HOMEPAGE=" + https://www.reportlab.com/ + https://pypi.org/project/reportlab/ +" +SRC_URI+=" + https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}] +" +BDEPEND=" + app-arch/unzip +" + +distutils_enable_sphinx docs/source + +src_unpack() { + unpack ${P}.tar.gz + cd ${P}/src/reportlab/fonts || die + unpack pfbfer-20070710.zip +} + +src_configure() { + cat > local-setup.cfg <<-EOF || die + [OPTIONS] + no-download-t1-files = 1 + EOF +} + +python_test() { + pushd tests >/dev/null || die + "${EPYTHON}" runAll.py --post-install --verbosity=2 || + die "Testing failed with ${EPYTHON}" + popd >/dev/null || die +} diff --git a/dev-python/rtslib-fb/Manifest b/dev-python/rtslib-fb/Manifest index 8a9091481aeb..27ea264f8279 100644 --- a/dev-python/rtslib-fb/Manifest +++ b/dev-python/rtslib-fb/Manifest @@ -1,2 +1,3 @@ DIST rtslib-fb-2.1.76.tar.gz 78055 BLAKE2B df22093072a7e7b12a080db8253eff9e6aff1efb44a8bdb6c37a21601fd10beea03b665d1e1621904a9a0c1d1299e7f9e5f61682669f75a06f4e050c503da9a7 SHA512 fee3087702e44ede59b9635d7cbe7af06da104d6aeffc3fbb584ce6e8170b7856650a006ee574940448801a67e9f7d9610ccb9ad632dd6d0c378fe7c6cd1c159 DIST rtslib_fb-2.2.1.tar.gz 45483 BLAKE2B 9d255199eff27929dc47d8f141b11bf14e53bcf9c08e0b97d24ff7e5eb5d84b223fa9765e39838318a509960d2d8919ff59a9d982b1a176391af8a935e4f4753 SHA512 4c997a5a481fd19a9c7e2f841f06bd8b60091ed46bca3af4b13dee13729f8abbe8d7363736f7ab36c3c122d648cb5adfdb7029796844f7f50ef6075b35b5c8c1 +DIST rtslib_fb-2.2.2.tar.gz 45508 BLAKE2B e233bd7b346e7da98d8d6237f1cfc976a4963a13802c06175612c9c5497b20fb708228561b8a7a03dfd31e24359c1c339bae9c09228d2c3df5f1a5d9fbad6b08 SHA512 e64b0cc32520c19747c4e752a33aef9e27557f34a695d321b699bfd12feaba9749b32b5e292c96258bf0e6bf87fc4bb56287257691a7dccd786d12c9bec72964 diff --git a/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild new file mode 100644 index 000000000000..98700b7b9191 --- /dev/null +++ b/dev-python/rtslib-fb/rtslib-fb-2.2.2.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=hatchling +PYTHON_COMPAT=( python3_{9,10,11,12,13} ) + +inherit distutils-r1 systemd pypi + +DESCRIPTION="A Python object API for managing the Linux LIO kernel target" +HOMEPAGE=" + https://github.com/open-iscsi/rtslib-fb/ + https://pypi.org/project/rtslib-fb/ +" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + dev-python/pyudev[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" + +distutils_enable_tests import-check + +src_install() { + distutils-r1_src_install + systemd_dounit "${FILESDIR}/target.service" +} diff --git a/dev-python/sqlglot/Manifest b/dev-python/sqlglot/Manifest index 7fc8745a777a..7a7bf59059bb 100644 --- a/dev-python/sqlglot/Manifest +++ b/dev-python/sqlglot/Manifest @@ -57,6 +57,7 @@ DIST serde_derive-1.0.216.crate 57674 BLAKE2B 12a9228679c16288c08c8b256707e276ae DIST serde_json-1.0.133.crate 150739 BLAKE2B 7891eb5b8edcc7fd09ab1e15d3881ffdcb629aa39f2bd758c0505700a5f2dfabd85b1b66c3b094268bc1627b346e204c792f4ca61efa76c54ab9cd5744fb0ee2 SHA512 20e65ec87bff319897a141960d13deb5cadcf821209c1ee8799f1dc7f458ce432bc62c16df5bdada1c8d3cc01ff23b8125e8fa0a03545d4614f32efd687dc69f DIST sqlglot-26.3.8.tar.gz 19957402 BLAKE2B c4dd2a2f64c7b8fa537d0d81b0915b0b2c044ae4cb1e6da8824cdb43e116313d61f93ddb3c0faaac83b6f624d595573c55686d0dd2cc103f716eab2f564e2ec6 SHA512 d1853353d60674a91d13cebcc3329d227fa7c998e2cfd689a3de77bea4fe5b1bd86dc167f790c929a1617b882962060bc84d923fc6f93f0356145438dcb8433c DIST sqlglot-26.3.9.tar.gz 5311903 BLAKE2B 0637f47170c53b22a8672b4d35a16b5d22c696a1568b22b0474d9075b82534c18f54a66b06010a426ff8121be64934041871d97f78c5a1951ad200849ab5c5a0 SHA512 3fb7ba3a0fe583837a7aed0f18a66eefa06fa193f0f97484eca60fc13bb2700c27b7dd1b4d0a54d64adf8ea2b4009057a091534b5d52aa36a5d499c861e2b2a8 +DIST sqlglot-26.4.1.tar.gz 5315460 BLAKE2B d96c6927f24ba10cff61c4a56542fe689c372e10e2af5c05829e856bf36ead667e56a37b5c8fcacbeaa3c08f302e8ec0f78a2896c7ee659ff419e8b023cf6e0a SHA512 0a17247b060a4d631799aa23e5722eb2b40676a1482207b0a9c5ee3c88b965e31e79b10855c174a918f4e2f32bde1b37dcbf45511d7814446a1fa1405f59e0d8 DIST syn-2.0.87.crate 278076 BLAKE2B 93385f64103fdb482bec34c7912474ae7a5935948715e6eb9a54907e0db5c39f089f6cd393bab33c935c59a1bbb0f4099431f206343811c1a450554d96a35756 SHA512 bcfff545d6dfefd81e09f8f30a86bdd85759b3a7d4093ef3365ed02718e10dbd604c52b94c9d7fa955d339fdc5b6c079940c6f345b5a48c52b5c8607794ca6f2 DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27 DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9 diff --git a/dev-python/sqlglot/sqlglot-26.4.1.ebuild b/dev-python/sqlglot/sqlglot-26.4.1.ebuild new file mode 100644 index 000000000000..8807dc7fd20d --- /dev/null +++ b/dev-python/sqlglot/sqlglot-26.4.1.ebuild @@ -0,0 +1,177 @@ +# Copyright 2023-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_{9,10,11,12,13} ) + +CARGO_OPTIONAL=1 +CRATES=" + aho-corasick@1.1.3 + anes@0.1.6 + anstyle@1.0.10 + autocfg@1.1.0 + bumpalo@3.16.0 + cast@0.3.0 + cfg-if@1.0.0 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.23 + clap_builder@4.5.23 + clap_lex@0.7.4 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.6 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.21 + crunchy@0.2.2 + either@1.13.0 + half@2.4.1 + heck@0.5.0 + hermit-abi@0.4.0 + indoc@2.0.4 + is-terminal@0.4.13 + itertools@0.10.5 + itoa@1.0.14 + js-sys@0.3.76 + libc@0.2.169 + log@0.4.22 + memchr@2.7.4 + memoffset@0.9.0 + num-traits@0.2.19 + once_cell@1.19.0 + oorandom@11.1.4 + plotters-backend@0.3.7 + plotters-svg@0.3.7 + plotters@0.3.7 + portable-atomic@1.9.0 + proc-macro2@1.0.89 + pyo3-build-config@0.22.6 + pyo3-ffi@0.22.6 + pyo3-macros-backend@0.22.6 + pyo3-macros@0.22.6 + pyo3@0.22.6 + quote@1.0.37 + rayon-core@1.12.1 + rayon@1.10.0 + regex-automata@0.4.9 + regex-syntax@0.8.5 + regex@1.11.1 + rustc-hash@2.1.0 + ryu@1.0.18 + same-file@1.0.6 + serde@1.0.216 + serde_derive@1.0.216 + serde_json@1.0.133 + syn@2.0.87 + target-lexicon@0.12.16 + tinytemplate@1.2.1 + unicode-ident@1.0.12 + unindent@0.2.3 + walkdir@2.5.0 + wasm-bindgen-backend@0.2.99 + wasm-bindgen-macro-support@0.2.99 + wasm-bindgen-macro@0.2.99 + wasm-bindgen-shared@0.2.99 + wasm-bindgen@0.2.99 + web-sys@0.3.76 + winapi-util@0.1.9 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 +" + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 +" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" + +pkg_setup() { + use native-extensions && rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # timing, sigh + # https://github.com/tobymao/sqlglot/issues/3961 + tests/test_generator.py::TestGenerator::test_generate_nested_binary + ) + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest index bb3260a4c7f5..53dfa8c31ca2 100644 --- a/dev-python/uv/Manifest +++ b/dev-python/uv/Manifest @@ -1,7 +1,11 @@ DIST pubgrub-648aa343486e5529953153781fc86025c73c4a61.gh.tar.gz 99073 BLAKE2B 86252bb78e0f832ce77040d86b188b4dd0637acd68e28c8b87fa36ab7cc23c5e296d0f634647d407bcd7fc24bf6c34d281de1744608ff0fd2741428bb0bf55a8 SHA512 8386273deca98df82c95931159848fa159ea4dbb75b8bba539cfe73f91e87340bc0e8048f1a4483148b021bb99d6a3b90275d9bb1cedccf153a7ebc29bd70e17 +DIST pubgrub-b70cf707aa43f21b32f3a61b8a0889b15032d5c4.gh.tar.gz 98983 BLAKE2B 08ad8a10a96ba7da3100f7658f38cb8d6fb0e1eca92ba0aaf1393778012db807084f047eec171f0a46836a6746367369e79ab95836d5cdf215211e321d2800ac SHA512 401ea5ca16e978d5407a1400e4e27cec9fcac11332067ee1ed8a3bc511901e08fc421ce875ebbb0990593ed549a4a5f4620914a71ae3490c7b8ae0f7b26b5937 DIST rs-async-zip-c909fda63fcafe4af496a07bfda28a5aae97e58d.gh.tar.gz 51763 BLAKE2B 59d053bc6692014d884a9247dea1b57a8789469ba2abbcc92ec21bb0022cbd74874afc463082156ab697aa6c80635019857a5d7e2dc150274e8b04d720518c36 SHA512 3a309566f4925b02496fcf19bc2865968edf6fb65082ca4079d2cee79e6b0353a1910c079f2afe656da0d0f6ddde5102052a221ea35a7dabc6d690a11218b20a DIST tl-6e25b2ee2513d75385101a8ff9f591ef51f314ec.gh.tar.gz 37106 BLAKE2B c30d1c33f6f52e2bc83823eb6319f8a3e462b7c7408fb6a08f995747857ef234f81db4135a04f9d183095fe473a4087f8f0cb89d8f87ef4400285d2ce034ec22 SHA512 4abbc4240ed129c92da8d616e27a6df0f24cdc85a0803acfdae588ca91f9e5b8d482e3ac88b2e657ff68917b1b43cef1e7ef3c887f624659b231fa5a13fcae68 +DIST tokio-tar-ba2b140f27d081c463335f0d68b5f8df8e6c845e.gh.tar.gz 51225 BLAKE2B bfa6875edb3fe3fb98b379f4cdc3c7df78b74b8b88e8ef389678666c2ac0136ca6e04eb61e799e1691635d2bbfee82b361adbff3c66748e0d829a64e6068017b SHA512 bee8794161740b336b68514896a0c972e676a1aaf90662fe1f53961afbcccfb144eb3f5e903864f395a1be71c62ffd13ec8357c6848c0b86eb881bdf3dc55408 DIST uv-0.5.20-crates.tar.xz 53845912 BLAKE2B 3ebe6099304f4520cba49bf36a7b900146b57740c6dcf783cf2f064707b5880041eac8ee0adf2e251819cb7f3ac3f2739dd89636a48618f6220bc21bdb7fd334 SHA512 fbfb6becb1008c5dbfd571871abe053721f4a9939f98e1d0b1c3c5ad405d1d4dcdd121986e12cdaab9e1ff7a9bc0353aa69345ddb2fbb8c0ac0a427bdbb6c9f9 DIST uv-0.5.21.gh.tar.gz 3260658 BLAKE2B 064f52d4c690d2992988ca1683ce2c5183c2662961b931519b84651bebedff90a5b64fd87052b79c591b62a8fa07691997c38cf2b636e9a0facfb5683e64627b SHA512 351bf2a76cc0ec10f254f9eab0df0c0f307594a7052388e3b793c8314d9119488c2ebaa20125021fe0bf54192ce17d7e69719832c17aa4c815a5d9d69521e225 DIST uv-0.5.25-crates.tar.xz 53882356 BLAKE2B b0762449534ccf0be33d2c4d50fd9bc01823c6aeef7b82a84e4dc49e3ce92272f62632608664614d62dc5e0f40c500e3b3ca3ca0388761f3c3b50b89d0f83a42 SHA512 ec7b64d5b40d20d1d5081819b895cc18a69d008e6b27f40cc147573b99f8fabf11ee83c60a389791ad8a844a8c0965da2dd1be500f4c2ce8860724a41c37ece5 DIST uv-0.5.26.gh.tar.gz 3353978 BLAKE2B 1920825eaf2d2eca3d5e5fdaba9677e08f6bbb6d1b078a3ffe706f1344ccd9de19237c0470cc902a06f5fbfa9bad0af51c67a10141e76c9f9f182217c461c094 SHA512 e723775465594959b8e70c1bd43f0ddce0b8d64d7ddb157f28385593aa6c40153b1152b2c22534862da0605e2a0ccb7dffd1f95e07d8003eb37433bb3b887b73 +DIST uv-0.5.27-crates.tar.xz 47539520 BLAKE2B 701e7bf284a3506555a6da6ccc0f3aba5161305b4acc065f68c14ebf25f79a8bce3739589e5d3461aa8d058860d387790e6f007ce74309c03c1623574ef15c85 SHA512 fe276c9cfb0d07d4ba56427fde7067480f32cb21341b3967bfa65217e94d78992692808981dcd321731339c81ee7a44cfcd103557d63ebd727c04cbc403217fe +DIST uv-0.5.27.gh.tar.gz 3356614 BLAKE2B 143d1ee171a46a4bdedec79767f04973233ba389ed053358383834f9b6fdbd2334ce695adc63a76f3ffcc92427739bfc4adbf57b19280f98c1904b607f2ecbc2 SHA512 ce597666983b24e85992cf7aa313506255d58b97ac0e98300c5f01f8418a71e2c7357b9fdbd2cd1b56b3a8cfff13d3014f18f740e11561cd4eea03438efec990 diff --git a/dev-python/uv/uv-0.5.27.ebuild b/dev-python/uv/uv-0.5.27.ebuild new file mode 100644 index 000000000000..eb7a0571dafa --- /dev/null +++ b/dev-python/uv/uv-0.5.27.ebuild @@ -0,0 +1,171 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [astral-tokio-tar]='https://github.com/astral-sh/tokio-tar;ba2b140f27d081c463335f0d68b5f8df8e6c845e;tokio-tar-%commit%' + [async_zip]='https://github.com/charliermarsh/rs-async-zip;c909fda63fcafe4af496a07bfda28a5aae97e58d;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%' + [tl]='https://github.com/astral-sh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [version-ranges]='https://github.com/astral-sh/pubgrub;b70cf707aa43f21b32f3a61b8a0889b15032d5c4;pubgrub-%commit%/version-ranges' +) + +RUST_MIN_VER="1.83.0" + +inherit cargo check-reqs + +CRATE_PV=0.5.27 +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://github.com/gentoo-crate-dist/uv/releases/download/${CRATE_PV}/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-3.0 Unicode-DFS-2016 ZLIB +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + !!~dev-python/uv-0.5.0 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + # fix tests failing because of our config + local -x XDG_CONFIG_DIRS=${T} + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/xdg/uv + newins - uv.toml <<-EOF || die + # These defaults match Fedora, see: + # https://src.fedoraproject.org/rpms/uv/pull-request/18 + + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Disable that to make downloading opt-in, and especially + # to avoid unnecessarily fetching custom Python when the distro + # package would be preferable. Python builds can still be + # downloaded manually via "uv python install". + # + # https://docs.astral.sh/uv/reference/settings/#python-downloads + python-downloads = "manual" + + # By default ("managed"), uv always prefers self-installed + # Python versions over the system Python, independently + # of versions. Since we generally expect users to use that + # to install old Python versions not in ::gentoo anymore, + # this effectively means that uv would end up preferring very + # old Python versions over the newer ones that are provided + # by the system. Default to using the system versions to avoid + # this counter-intuitive behavior. + # + # https://docs.astral.sh/uv/reference/settings/#python-preference + python-preference = "system" + EOF +} diff --git a/dev-python/webtest/Manifest b/dev-python/webtest/Manifest index c555a17826a7..87bca959a761 100644 --- a/dev-python/webtest/Manifest +++ b/dev-python/webtest/Manifest @@ -1 +1,2 @@ DIST webtest-3.0.3.tar.gz 79391 BLAKE2B 7ac8362c325d5570446ed587d725b3e4a81e6167295de3030070078e209c692ed95c1a4a03f5db2b2a2e390cfb80ab17adf1a359ec3b349e11514f4bcd4c483d SHA512 5122fa995f9fc4a2338cfe9c3516648d56b0e843c66b8e40b869d5ba3e3ed1bd442836712ed6dd683ea1db2080ce7d5674d71f053c7a29a80812e4cc2606f1de +DIST webtest-3.0.4.tar.gz 79395 BLAKE2B 8a0aa8fae18e7c4ac816910cf0a7e6dea8905d14a35bacca8b53351189c9d00da0016c533a74b3b0623c81e7d8504260a2ad83ca4a2cb57f7a629cb1f2067d0a SHA512 ebf7a76d18719283af5fcf0ea902285a9eee280e68892f2db35e5e48e04efd18e96e393a020e3c4ac4e001875c6da5583348572fd028c0e1a11d468695362a0b diff --git a/dev-python/webtest/webtest-3.0.4.ebuild b/dev-python/webtest/webtest-3.0.4.ebuild new file mode 100644 index 000000000000..9b7e8ded1897 --- /dev/null +++ b/dev-python/webtest/webtest-3.0.4.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_PN="WebTest" +PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Helper to test WSGI applications" +HOMEPAGE=" + https://docs.pylonsproject.org/projects/webtest/en/latest/ + https://github.com/Pylons/webtest/ + https://pypi.org/project/WebTest/ +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos" + +RDEPEND=" + dev-python/paste[${PYTHON_USEDEP}] + dev-python/pastedeploy[${PYTHON_USEDEP}] + >=dev-python/webob-1.2[${PYTHON_USEDEP}] + >=dev-python/waitress-3.0.2[${PYTHON_USEDEP}] + dev-python/beautifulsoup4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/pyquery[${PYTHON_USEDEP}] + dev-python/wsgiproxy2[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/legacy-cgi[${PYTHON_USEDEP}] + ' 3.13) + ) +" + +PATCHES=( + "${FILESDIR}/webtest-2.0.33-no-pylons-theme.patch" +) + +distutils_enable_sphinx docs +distutils_enable_tests pytest |
