commit:     5ed9d94b5af430da089e7d3037ccc4af4cb2f848
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 17 05:27:26 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Oct 17 05:57:38 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ed9d94b

dev-python/dulwich: Bump to 0.24.5

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/dulwich/Manifest              |   2 +
 dev-python/dulwich/dulwich-0.24.5.ebuild | 121 +++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+)

diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 0cc08d507eb2..6912993918b5 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -5,6 +5,8 @@ DIST dulwich-0.24.2.tar.gz 883284 BLAKE2B 
4ab3488c864c835b97a60d73bad69ec3fab930
 DIST dulwich-0.24.3.tar.gz 911540 BLAKE2B 
b315d4387573c6723ad3fac4e29d7af60c956f22923d1d3c24d700fb11f916ac5bfa56b3ae61d10a37a9a2e1f5262471b66da0ec33b00cddc6074e807cce28a4
 SHA512 
3662dd2024241695f21d6d146dbe37efe0143d0965c0f93bd5d334a46718744ab561799e1aeee6d7b75abd8de1579c6a4b958b99850ac946d22a9004ee0dd9be
 DIST dulwich-0.24.4.tar.gz 911727 BLAKE2B 
6c9dd91a8fadd819180b57b42a0822487693e1d33b44600017d0d1cb07baf18b10d41a0f60d914c135df72b9bda5142a9b2782d1efdb3a1c0bba7b2fef8809db
 SHA512 
67477820d6b13eb93a645e4e390ae52d0fe5af1118620dbddb3e4bf86b797b6aed042b74d4a8418003bef6a6619230e7b3458d2496f21baca1399f1809a574cd
 DIST dulwich-0.24.4.tar.gz.provenance 9583 BLAKE2B 
9ae12f5f0778f29349cce27d5de52e7ae0ad7c30fc5fcda2d80f21b86673c70ba8f1e497ea855126ddc8b3c1ea46d8ef4e4da1b9162a11eb3cc149cb79bb9634
 SHA512 
f8ffa810329897f926d92e9a8f20ea40dc44f9f8f1859fb123c1202909ebb311c6e715df7422570ed23342d153466d8e0006251a384dfc6f2f6e4b96399c3e7c
+DIST dulwich-0.24.5.tar.gz 913018 BLAKE2B 
68c111fb5e08c57ad6a5829f48ba9c83400d7d71d952e3a400a8350410ef838886dc0fca78100fb7f32db3a89e9dfbad96b3c22012d4386fd0e827f0c5e89a68
 SHA512 
450aba2f77108f1221159bb5e41289f3eebb5750295047b07df2adc9295bba07766b628ac0b28c24082eb4f5d4bdf123bf5ddb89f7ae1f1374df4bb52f945659
+DIST dulwich-0.24.5.tar.gz.provenance 9673 BLAKE2B 
5660ee4813676825980a103cbf4d6f342eab3d60a831a4d40005247f0f3d0dd4f28e571ecafe172963a5a531306ea4bf875b1ae77c620bd022bb8cc16b636408
 SHA512 
e32ca85ef1bcbd92ff9f0cb8e3e5d8b4796d20b50f2bac046099740a236f73782ec5af7d1fe9a7488054bc6c6636d4fb2ba846a101f6cd5d34b9f46301584e69
 DIST heck-0.5.0.crate 11517 BLAKE2B 
5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835
 SHA512 
f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
 DIST indoc-2.0.6.crate 17164 BLAKE2B 
1a6cff95bc12ea885ef36b935bf4f1c7870d65be0ff31ffc67dcab904fa80215c1254c1803c5d0c5686252addfad3512e9e1ec79d3edcba026a879f4706926d1
 SHA512 
e2ea2e5c8226c802bbe0631c1a99d2edd088cbafbf978b2a7b71c7c7f47754c6d4653f466e286441b61cc46def1c7f7a02d4785caab93a61dd785211dba7d1a9
 DIST libc-0.2.174.crate 779933 BLAKE2B 
20ffcbbcad6961e732521940f0595039dc0576d85b2d3b2ad3f1decd37571132a4cd7505b2e108078a4379fc4cec46290b5633bcbcc6e7009c3b474c1a852628
 SHA512 
243f2ffd5741ef859e4dc5b7ee0396071943b1d10429efcaecb322957e256c4be88a7a649029dfd47e6456acc73ee257893fb6c4e8b4d0fe66a12bc5d1c13c73

diff --git a/dev-python/dulwich/dulwich-0.24.5.ebuild 
b/dev-python/dulwich/dulwich-0.24.5.ebuild
new file mode 100644
index 000000000000..61ce3c188c65
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.24.5.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_VERIFY_REPO=https://github.com/jelmer/dulwich
+PYTHON_COMPAT=( python3_{11..14} )
+
+CRATES="
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+       [email protected]
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+       https://github.com/jelmer/dulwich/
+       https://pypi.org/project/dulwich/
+"
+SRC_URI+="
+       native-extensions? (
+               ${CARGO_CRATE_URIS}
+       )
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="doc examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-python/urllib3-2.2.2[${PYTHON_USEDEP}]
+       $(python_gen_cond_dep '
+               >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+       ' 3.11)
+"
+BDEPEND="
+       native-extensions? (
+               ${RUST_DEPEND}
+               dev-python/setuptools-rust[${PYTHON_USEDEP}]
+       )
+       test? (
+               ${RDEPEND}
+               dev-python/fastimport[${PYTHON_USEDEP}]
+               dev-python/gpgmepy[${PYTHON_USEDEP}]
+               dev-python/merge3[${PYTHON_USEDEP}]
+               dev-python/paramiko[${PYTHON_USEDEP},server(+)]
+       )
+"
+
+distutils_enable_sphinx docs
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+pkg_setup() {
+       # avoid rust_pkg_setup which will die when there's no Rust found
+       if use native-extensions ; then
+               rust_pkg_setup  # implicitly inherited through cargo
+       fi
+}
+
+src_unpack() {
+       pypi_src_unpack
+       cargo_src_unpack
+}
+
+python_compile() {
+       unset PURE
+       # TODO: enable Rust extensions
+       if ! use native-extensions; then
+               local -x PURE=1
+       fi
+
+       distutils-r1_python_compile
+}
+
+python_test() {
+       # remove interference from the tests that do stuff like user.name
+       unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+       unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+       unset EMAIL
+       # Do not use make check which rebuilds the extension and uses -Werror,
+       # causing unexpected failures.
+       "${EPYTHON}" -m unittest -v tests.test_suite ||
+               die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+       if use examples; then
+               docompress -x "/usr/share/doc/${PF}/examples"
+               dodoc -r examples
+       fi
+       distutils-r1_python_install_all
+}

Reply via email to