summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-04 07:02:53 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-08-04 07:02:53 +0000
commit1d6869840464f2fe1e9cacd1e18282362abba9e9 (patch)
treec1cfb899049f500356fabbfa62e48089b44371ab /dev-python
parentedc3cf42be1b0b73cd7e2dacbfa1b1310e8df0ac (diff)
downloadbaldeagleos-repo-1d6869840464f2fe1e9cacd1e18282362abba9e9.tar.gz
baldeagleos-repo-1d6869840464f2fe1e9cacd1e18282362abba9e9.tar.xz
baldeagleos-repo-1d6869840464f2fe1e9cacd1e18282362abba9e9.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/coverage/Manifest1
-rw-r--r--dev-python/coverage/coverage-7.10.2.ebuild109
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.136.8.ebuild125
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch13
-rw-r--r--dev-python/langdetect/langdetect-1.0.9.ebuild6
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/pixelmatch/pixelmatch-0.3.0.ebuild3
-rw-r--r--dev-python/pyzmq/Manifest1
-rw-r--r--dev-python/pyzmq/pyzmq-27.0.1.ebuild85
-rw-r--r--dev-python/scrypt/Manifest2
-rw-r--r--dev-python/scrypt/scrypt-0.8.29.ebuild26
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.33.0.ebuild132
15 files changed, 494 insertions, 23 deletions
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 763825128cf0..2249e02b534d 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1,3 +1,4 @@
DIST coverage-7.10.0.tar.gz 819816 BLAKE2B 18e404a03b95a03fad0a4d1b51e3888dfc19e8664370bf89dcbd917969b8a240c4f80577b87231ee022d9bc10de9bdc248223ad531ac2ffafd78a4a5cbba3e74 SHA512 27575b11c3a14d8de73ffb1e56f64ba9c218bace54290685241ce347f2c246950b8ce30bc5c97497c5663196001b2dba5541ae05cf004552cf1f0a09b85fea08
+DIST coverage-7.10.2.tar.gz 820754 BLAKE2B 6d743134e950de09ade50fc2b921be0ffaa20d88a33023495f8453df6e789b87fe5f8d08b0bdac3fdbde4bb71ab367d4fc43cc429ebd5e6bb941f283a9ac88bd SHA512 5faafc9fbcbd539741f4d3e68a3a033ee3109aa42958f12f5e33cc2f2c0eadfe4c729f23225804d38a1dfadde5d84a9b5c76970a35d3dbe852a94c74d618f388
DIST coverage-7.9.1.tar.gz 813650 BLAKE2B 42ea77277135a98d812c690aad744db427d6832ff01af68197015e4ff932c7ca88d2f804c0bceaca28b86087cb24245e5f57600444d064f1f008fc8b0a2353b5 SHA512 0bccbf802cdbd7d4df7c88cd7573466b024f7fb4cbf41fc5166a3e2dd70cd107caad01529971eb061cd571faadb342de057d0929f02b3b3e513666c052ecf591
DIST coverage-7.9.2.tar.gz 813556 BLAKE2B 6ed57a0011f7d05634c2a5c1e023f9ccfbb40d9a4bdd9011f2eaf03b658468a18df2044417f15108ec6429b6b62c63cd6a73e31904c0266137a4c6e65557207f SHA512 33ace642aada4b0ff5a72c3df628fe60fcc8b5f586f4851bfecc2ffa237cf019cbd78413c133aa8454e168b8895bfbc1363b722cf072eaf90979935b1982662c
diff --git a/dev-python/coverage/coverage-7.10.2.ebuild b/dev-python/coverage/coverage-7.10.2.ebuild
new file mode 100644
index 000000000000..e77b298e5776
--- /dev/null
+++ b/dev-python/coverage/coverage-7.10.2.ebuild
@@ -0,0 +1,109 @@
+# 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} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ test? (
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( hypothesis pytest-{rerunfailures,xdist} )
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_compile() {
+ if ! use native-extensions; then
+ local -x COVERAGE_DISABLE_EXTENSION=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -o addopts= "${@:2}" tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ # mismatch of expected concurrency in error message
+ # TODO: report upstream?
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet
+ tests/test_concurrency.py::ConcurrencyTest::test_greenlet_simple_code
+ # packaging tests, fragile to setuptools version
+ tests/test_setup.py
+ # looks like a difference in exit status reporting?
+ # https://github.com/nedbat/coveragepy/issues/2008
+ tests/test_process.py::ProcessTest::test_save_signal_usr1
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+
+ local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)}
+ local xdist_args=()
+ if [[ ${jobs} -gt 1 ]]; then
+ # required upstream to avoid cross-test conflicts
+ xdist_args+=( --dist=loadgroup )
+ fi
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace "${xdist_args[@]}"
+ fi
+
+ test_tracer pytrace "${xdist_args[@]}"
+
+ case ${EPYTHON} in
+ *3.11)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon "${xdist_args[@]}"
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 3067a6a59810..772ec3ba69d5 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -7,3 +7,4 @@ DIST hypothesis-6.136.4.gh.tar.gz 9598539 BLAKE2B f22f644ad9d9b308de9b1357a5977d
DIST hypothesis-6.136.5.gh.tar.gz 9599010 BLAKE2B f97d7fbacc4ee7c9642841032e2cf76a3da9e35fe0064721d77ee8bbd29adc2a9b7c0406a55e6aa3383dc793c5679082035ed0d3d6d1e59cf6ad2f9ef0bbb7fe SHA512 0a6fea6080a9bec4123758fd145ca4e85399ab60b7ca6f7f1dd97c467af420bb353ee1159cc868c6e7ed48f667ecacb9ddb4b412c5329e90373b5f2859b02f1e
DIST hypothesis-6.136.6.gh.tar.gz 9599136 BLAKE2B 731ecc6cce2d037ae9d0bf1e3d6b606392950e7a4d70719ce8c553e3b25a65d2c5afe8113fe8f7619504b2d5df3fa25a25e37d73fda56046250d4a6b007867ce SHA512 cb29bc9d5cf31d5d90f7c7475a1fce51e2a0d058b7ed9b3af241410a91201920286362f3620f879784c819c8b4bd2e668ab60fa1b820784ee94f0a3615bb3b73
DIST hypothesis-6.136.7.gh.tar.gz 9599148 BLAKE2B c2acc7ada09202f22a02587f7c27b4c1f14fd2524c5005cc85a4193bfa8ed7ee9bf05756ec0fdf81123836e4088b5e18d76d3f4d02e45b7099e249af05dcc6a6 SHA512 15c1816a82eeda44f836e96d59e24128a8b160ec1c7769b44d8b23d3a1e50962c3a28be3c65bfbeedab07f8e28c2f11e8223a798ca3a0c21644b115736ac4d19
+DIST hypothesis-6.136.8.gh.tar.gz 9600513 BLAKE2B 9960a384a07e49e611e5985a645a674074896a0595d5714a7fd85c05ef03f51c51defc071eda6f87ee88bca6f8cfe8cdea5cbdd338388902db7be6fcd5082610 SHA512 7e14a7b8dce15dc654d12036cd58e652de75c610310d805fbdfe4dd3e970ccf5ea80e3dd7628182d3075c5276fb1341d1ac40c1297896b7be507b05ce0140a48
diff --git a/dev-python/hypothesis/hypothesis-6.136.8.ebuild b/dev-python/hypothesis/hypothesis-6.136.8.ebuild
new file mode 100644
index 000000000000..7a7443937da6
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.136.8.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+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}]
+ 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}]
+ )
+"
+PDEPEND="
+ dev-python/hypothesis-gentoo[${PYTHON_USEDEP}]
+"
+
+EPYTEST_PLUGIN_LOAD_VIA_ENV=1
+EPYTEST_PLUGINS=( "${PN}" pytest-xdist )
+EPYTEST_RERUNS=5
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13t)
+ EPYTEST_DESELECT+=(
+ # TODO: missing warning
+ 'hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns'
+ )
+ ;;
+ python3.14*)
+ EPYTEST_DESELECT+=(
+ 'hypothesis-python/tests/cover/test_compat.py::test_resolve_fwd_refs[Foo-Union]'
+ 'hypothesis-python/tests/cover/test_lookup.py::test_builds_suggests_from_type[Union]'
+ hypothesis-python/tests/cover/test_attrs_inference.py::test_attrs_inference_builds
+ hypothesis-python/tests/cover/test_lookup.py::test_bytestring_not_treated_as_generic_sequence
+ hypothesis-python/tests/cover/test_lookup.py::test_issue_4194_regression
+ hypothesis-python/tests/cover/test_lookup.py::test_resolves_forwardrefs_to_builtin_types
+ hypothesis-python/tests/cover/test_lookup.py::test_specialised_collection_types
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_collection_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_container_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_contextmanager_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_iterable_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_reversible_as_generic
+ hypothesis-python/tests/cover/test_lookup_py37.py::test_resolving_standard_sequence_as_generic
+ hypothesis-python/tests/cover/test_random_module.py::test_evil_prng_registration_nonsense
+ hypothesis-python/tests/cover/test_random_module.py::test_passing_referenced_instance_within_function_scope_warns
+ hypothesis-python/tests/cover/test_random_module.py::test_register_random_within_nested_function_scope
+ hypothesis-python/tests/cover/test_random_module.py::test_registering_a_Random_is_idempotent
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_dot_access_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_missing_forward_ref
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_checking_only_forward_ref_wrong_type
+ hypothesis-python/tests/cover/test_type_lookup_forward_ref.py::test_bound_type_cheking_only_forward_ref
+ )
+ ;;
+ esac
+
+ local -x HYPOTHESIS_NO_PLUGINS=1
+ epytest -o filterwarnings= tests/{cover,pytest,quality}
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index a11d7c268c91..d12ab8aeaca8 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1 +1,3 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
+EBUILD langdetect-1.0.9.ebuild 494 BLAKE2B 9cd8a2a93a8d45bf51fe2324402b175d641762ea591fcb99459427f977a95eccffa6ca4777ca4df39814eea6eac62711567faa654456d32f79023a4685804504 SHA512 d973b85ba1a44389a4275f02a779a93a005f7c2e096467b94b072862e4984d5b42cf33f9821ac68aa5b85b12c98983a90b96049989d8c84497969174b6bb838e
+MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch b/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
deleted file mode 100644
index 637368d2f237..000000000000
--- a/dev-python/langdetect/files/langdetect-1.0.9-explicit-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix "Package 'langdetect.profiles' is absent from the `packages` configuration."
-
---- a/setup.py
-+++ b/setup.py
-@@ -18,7 +18,7 @@ setup(
- author_email='michal.danilak@gmail.com',
- url='https://github.com/Mimino666/langdetect',
- keywords='language detection library',
-- packages=['langdetect', 'langdetect.utils', 'langdetect.tests'],
-+ packages=['langdetect', 'langdetect.utils', 'langdetect.tests', 'langdetect.profiles'],
- include_package_data=True,
- install_requires=['six'],
- license='MIT',
diff --git a/dev-python/langdetect/langdetect-1.0.9.ebuild b/dev-python/langdetect/langdetect-1.0.9.ebuild
index 99577c43fc3e..56733bbffc48 100644
--- a/dev-python/langdetect/langdetect-1.0.9.ebuild
+++ b/dev-python/langdetect/langdetect-1.0.9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -19,6 +19,4 @@ KEYWORDS="~amd64"
RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=( "${FILESDIR}/${P}-explicit-config.patch" )
-
distutils_enable_tests unittest
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index c0f74ac187e2..020e07f2a3dd 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,9 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>pastalian46@gmail.com</email>
- <name>Takuya Wakazono</name>
+ <email>marcin.deranek@slonko.net</email>
+ <name>Marcin Deranek</name>
</maintainer>
-
- <origin>gentoo-guru-overlay</origin>
+ <upstream>
+ <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
+ </upstream>
+ <origin>slonko-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pixelmatch/pixelmatch-0.3.0.ebuild b/dev-python/pixelmatch/pixelmatch-0.3.0.ebuild
index c72a4e77ac73..84f4a57b4344 100644
--- a/dev-python/pixelmatch/pixelmatch-0.3.0.ebuild
+++ b/dev-python/pixelmatch/pixelmatch-0.3.0.ebuild
@@ -10,8 +10,9 @@ inherit distutils-r1
DESCRIPTION="A fast pixel-level image comparison library"
HOMEPAGE="https://pypi.org/project/pixelmatch/"
-SRC_URI="https://github.com/whtsky/pixelmatch-py/archive/refs/tags/v${PV}.tar.gz
+SRC_URI="https://github.com/whtsky/${PN}-py/archive/refs/tags/v${PV}.tar.gz
-> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-py-${PV}
LICENSE="ISC"
SLOT="0"
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index c3f20969c12b..5b9be87864a3 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1,2 +1,3 @@
DIST pyzmq-26.4.0.gh.tar.gz 279710 BLAKE2B 45d798d8abeed1ebcaa39c1a53f4669a84e1fbd6b6e3df1444d60e6615e684557f5106c1b540447946977bf88c900f765b9ffda9c790bbfb08a45b072ef74183 SHA512 8a90e81ac3e6819ca559bd7b9a5261967f8082da257a79288c7fada32611b72d96a03ad53177894446ee5559a8a763b1a1c97b98e236d120f678d8fa0623f42c
DIST pyzmq-27.0.0.gh.tar.gz 281941 BLAKE2B ced2cd9c90db1bb3021c3216f5102131e7d60800f3e3db64ea6f646d5972f84c84161f2b62f779fc0ce57b07c430b889654176b1bdfa8634171289933631b894 SHA512 91a91cae21643018d57f9c239719be5a4a644422c12b09860aa8f124d8fc81a60e07581481dc29eef6523e5aac37e253aacc057b5cc9c9ce6c5937256044f1e3
+DIST pyzmq-27.0.1.gh.tar.gz 282571 BLAKE2B 7d65c4ebdc98308c908e809c9f56c9521e7352c222b554052b5d2a1db602752dad29c150e8bb5512e9f0c10557962a8cb9a50931ee84b6d8f411eb7d61fe289a SHA512 bc80ae7df6692b9b94e5ff801962f5927f071757374a79aeeeddd3e0e631e6e6b0d12987e75b0758977707dab5e22a14a0dd08cf2980bf022a100a40f5e67aa2
diff --git a/dev-python/pyzmq/pyzmq-27.0.1.ebuild b/dev-python/pyzmq/pyzmq-27.0.1.ebuild
new file mode 100644
index 000000000000..bab90838e89a
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-27.0.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=( pytest-{asyncio,rerunfailures} )
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ -DPYZMQ_NO_BUNDLE=ON
+ # unnecessarily adds /usr/lib* to rpath
+ -DPYZMQ_LIBZMQ_RPATH=OFF
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # often crashes zmq?
+ tests/test_log.py::TestPubLog
+ )
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3*)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ rm -rf zmq || die
+ # avoid large to reduce memory consumption
+ epytest tests -m "not large"
+}
diff --git a/dev-python/scrypt/Manifest b/dev-python/scrypt/Manifest
index eb0c62ca99b7..2fcb89c3fbfd 100644
--- a/dev-python/scrypt/Manifest
+++ b/dev-python/scrypt/Manifest
@@ -1,2 +1,2 @@
-DIST scrypt-0.8.24.tar.gz 60845 BLAKE2B 3290c361750fb12409f6d507cd1cc00549cb77edfe2eacc273881642aea9a9f7a42727e138654a2a968d9e8c7819351fb61b7a63266ef36695153670f4e2ac82 SHA512 55a3f5e30992e89f68f35269bcffe977d799e353eff4d5e7a72159850fc838c28c68e6d008cf2470cc7c554755fd81c022543ab2860e9a93504c99d95409c2a3
DIST scrypt-0.8.27.tar.gz 55650 BLAKE2B 112afaf3a5a9cc08be10f7a220fc4c12a5cf26cc82be4d10669650c6b4dc79ebf4b4117b7ecc5e24c1773f5b64a75571f683765c6f5709895028bb7f4a4c2b6f SHA512 e20bde0e00d9f82872fa957814765f2733feade8cada6a8c02543362bc9abbb2bc2bb203e14cec8793cc0cc374f233bc0aa59c8d5ec672aea13b9e3f0226de71
+DIST scrypt-0.8.29.tar.gz 55866 BLAKE2B 2f9ae625943545967974430c59a57b584092cc58f7e2ef1205466890e4e24c09323cfa5e4c6c9835ed5ffb3cff22616dc6c457344f796944ea5a12bb18de7d8e SHA512 af463b078c6558aac535dbe133caf9acd41e355e7e8377d3860114cea4fe0cdf401d951ded52f8c24bb8dbd688369b994a361267a75c4ca104f84b19877f9eda
diff --git a/dev-python/scrypt/scrypt-0.8.29.ebuild b/dev-python/scrypt/scrypt-0.8.29.ebuild
new file mode 100644
index 000000000000..e01276714a36
--- /dev/null
+++ b/dev-python/scrypt/scrypt-0.8.29.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-2025 Liguros 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
+
+DESCRIPTION="Bindings for the scrypt key derivation function library"
+HOMEPAGE="https://github.com/holgern/py-scrypt/"
+SRC_URI="https://github.com/holgern/py-scrypt/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~x64-macos"
+SLOT="0"
+IUSE="libressl"
+
+RDEPEND="
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 7d3683eb1e27..6ad1b39b2b4a 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,3 @@
DIST virtualenv-20.31.2.tar.gz 6076316 BLAKE2B 23584e0b5f556d95dcc1c24da4c140749fe8edd9abee9213cb47c89a43c7b8aa26d0f539523d93600c2d023db4153bd1ae2e2c33996677dfc3eef3ec4d9d7201 SHA512 b253fdd81412cbde1358a885ab25db62d7ee05309fd37c6d81cccde570f70acdd4ae13204dcf0a97cea67b6d6524d8d083ff6ca43a0ee22c513b39f1e37ee6f3
DIST virtualenv-20.32.0.tar.gz 6076970 BLAKE2B 09c7aab4c056cc89c2f50101cf68924d55bf26dbf3853ca3f537bfa2b8bf3ca178f0209f63597560c307458d8f3c8f19084d1cbd0a37e1cb3c71df49ff3b313d SHA512 fe2fbedb22eb30e52c401de827107e94f66c6f5f0425f42e4d5be59bf26da670a4daa705be23799b25fef0a2031c1f84e35a5376f7de06d4fe0275434645b7c1
+DIST virtualenv-20.33.0.tar.gz 6082069 BLAKE2B 4a5308a0887c2de7ac96afa93bc08a868cd803d622d864626cbd5d6b4b32011f5e4603d6a59130ceb25f0dede0843c239a4d19cb76d1c49c20084ddde8a3dd38 SHA512 f490027e4c58cb7515b466f61d9455cd674f0d51806544b85419dde5cab02e9ed6fa16f9a57d5e3e735ae5a369442ca3a69233089ea244160cda0747b30e43f1
diff --git a/dev-python/virtualenv/virtualenv-20.33.0.ebuild b/dev-python/virtualenv/virtualenv-20.33.0.ebuild
new file mode 100644
index 000000000000..513c0602d722
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.33.0.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{9,10,11,12,13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/coverage[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' python3_{11..14})
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' 'pypy3*')
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.31.1-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping testing on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ # TODO
+ tests/unit/create/via_global_ref/test_build_c_ext.py::test_can_build_c_extensions
+ # random resource leaks or xdist
+ tests/unit/test_file_limit.py::test_too_many_open_files
+ # invalidates .pyc files
+ # https://github.com/pypa/virtualenv/issues/2933
+ tests/unit/discovery/py_info/test_py_info.py::test_py_info_cache_invalidation_on_py_info_change
+ )
+ case ${EPYTHON} in
+ pypy3.11)
+ EPYTEST_DESELECT+=(
+ # these don't like the executable called pypy3.11?
+ tests/unit/activation/test_bash.py::test_bash
+ tests/unit/activation/test_fish.py::test_fish
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x TZ=UTC
+ local EPYTEST_PLUGINS=( pytest-{mock,rerunfailures} )
+ if [[ ${EPYTHON} == pypy3* ]]; then
+ EPYTEST_PLUGINS+=( pytest-freezer )
+ else
+ EPYTEST_PLUGINS+=( time-machine )
+ fi
+ local EPYTEST_TIMEOUT=180
+ local EPYTEST_XDIST=1
+ epytest -o addopts=
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}