commit:     1fa35cfd68e4144d3759df48be803729d1b796e9
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 25 06:37:35 2026 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Wed Feb 25 06:38:16 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1fa35cfd

Revert "dev-python/dulwich: drop old"

This reverts commit cda0448f6dfbb3fcd31329fb66e3a8b90583b213.

Needed for dev-python/poetry.

Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 dev-python/dulwich/Manifest               |   7 ++
 dev-python/dulwich/dulwich-0.24.10.ebuild | 124 ++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+)

diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index c09bd66ea0a9..e1ce730c6ec9 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,4 +1,6 @@
 DIST autocfg-1.5.0.crate 18729 BLAKE2B 
27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc
 SHA512 
f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08
+DIST dulwich-0.24.10.tar.gz 999843 BLAKE2B 
2008f377a9c48fe5315507b6b4e3ef89fb482b63eb7a811b5b144ad6d93023b74944dca2d8487196d58ca8e22e2a94e6a6783fcb45acebf82d78cdd98e88b2d1
 SHA512 
b52cd3b4c76934466f18ff9b8e143fc61c4669b88d51fdb399bdf9679cd417b7453941dfe51710ae888cdbcd017e7fcce2817a466ad420a12beb4919701c7aca
+DIST dulwich-0.24.10.tar.gz.provenance 9795 BLAKE2B 
53ba898e10f7e4f4ed6d2b65509f207503e7f1938ad96452bbcd319564cf1b174532a4c101b927bbc1342a95ee2952595eeaccf5a4bef80befc46d40c36bf3fc
 SHA512 
cab587d1efc69f47c7ee63ffe07dd9f9989c36bca7c35d3029672f19362bc3175542ca68c0c9e5991440ee332805cc528030ead571ef32338bcb87ccb3094f1e
 DIST dulwich-0.25.0.tar.gz 1076943 BLAKE2B 
9dbaf0aed3bc914245f85443d082dc602450a92995cf3fd421ca8cbbd0ab7c8769d7ddd0d742a99420f3ae71401a265757d75ef6d269d2c73fce21f213a7f2e9
 SHA512 
f30d817c3c3bbf4ac632c101a1d430b3580548033c377c54ae3abef29024eb9d7d7a1948f578ad823874b6d840465bac9410dd432887659e25c54bbf7711c5c2
 DIST dulwich-0.25.0.tar.gz.provenance 9577 BLAKE2B 
d084d4a695269607eb482805eb1cc90a4a09ffe63f29c08e939db539c8d4b10368a58bc3b93fe009f69201021baeea31c0d22f2a9fa2e5b8653af0bcd96aa640
 SHA512 
38b7b8fdc23ea2d9b505c3c38dc9b56050221961f45239cf6aec37aee9d4cf937280ff3fec6fcac0a3731c69fd0eb80b3adaacfeb3742be5089acb7ba3ddcb06
 DIST dulwich-0.25.2.tar.gz 1126499 BLAKE2B 
6e2f5dd6dd1ff32cdde8303215d3c212bc9e559fc9b7efb082b84131a3f9a0b9622bbe3fa1dc6bb52a73d5e55ac6a66ccd4fd0c3b36332a940134f9545edde3f
 SHA512 
e4bcfc7ad93af53ff66ff924419810b86269e0af849d1a1a9bcc8d52743c2cf1d3c0f00d417d1b015376a22854608acdb80a21f0ffe7f5a9966afb025d8ea24d
@@ -22,10 +24,15 @@ DIST portable-atomic-1.13.1.crate 197001 BLAKE2B 
6d0898c2a537a9bf204b7749cca5f5f
 DIST proc-macro2-1.0.103.crate 60024 BLAKE2B 
e5ce5f77838fd063b5615b1555db02175621135132de6aa7479d67fd0a34c15e8235290112a728f3251cf913a835bf0aafaf6930880511427143b63152047259
 SHA512 
9a6964a2ad24dbb1108b7018882ddb48cb6e6f652d1c5eed1cac94602539fc71f011a0a276765778df161edbd6387bf03a8505d93565e0c106f09e98d7d6efce
 DIST proc-macro2-1.0.105.crate 60319 BLAKE2B 
0c67b9c5561234d78c3bbe71e2774877b01c5798c6def669accc273dfb1188b360627aac9303157bc27fa85de84ec7b87d0cf6e1d1b07d19527983e721609681
 SHA512 
520f9af4f0e9b56ac9ca7a05649aeb538d235c4f53b85a4a9a2474998ad8b96a5f97aa4e117a949adb087fc908f6150fcea783950189f1772097a986eec564c9
 DIST proc-macro2-1.0.106.crate 59765 BLAKE2B 
87f95795621c4c992c370dc3a1240a2d5580e3362356525efe640f8f26ad0492b3c88755d575c080ff7db11376b0d82f31141bf6f86c895249b85e46c081220f
 SHA512 
b726e2c92af434bfa88cd4f53c3fe6db647503567675fb439890dee3d15f5111137e3242b28d164114ce081c10acf3fd11950753ddb349190c87ee04e7d97744
+DIST pyo3-0.27.1.crate 1172212 BLAKE2B 
29ea2d7dffa41ac5414aa5bc537b90e5979dd4a05a04c4cb1d2b70d6d5b7f9cb506fe864236f65495e7646406b695d5891af5cad2d67fd665a1ab4357fa31921
 SHA512 
f4c8d65b0a95633850597d6b29298c4a14aa3239fa245684cf6caf275f070698b35b03bfb3f256aaca0cec0d31211c51e2f2650a9d12eddce2a4d5d1f81e06a2
 DIST pyo3-0.27.2.crate 1171342 BLAKE2B 
421039fe650e01546661ab98593288f8058694d513261fe0025851a68b665bdfc001692c60a5a34ede92d13a6003e8f261e4bcdc17f67518a156f52916d2ff76
 SHA512 
b20f502bda6cc6d283012acbb2e0225219ccd77af09990872c76b0088947050d886eb47ed88e9e0dcb327d08ab4bf09119f7cab527dfde358e01df5a32bb64c2
+DIST pyo3-build-config-0.27.1.crate 35565 BLAKE2B 
2dfb7e1c07ff0f7cdad8f77e4a33ce7696f914f29d931c967f0fcf24fe257b6e421cb2f8e2820a5e66440490cfd96eb733073651a153fd6932f2da5c1068187a
 SHA512 
9add95c372ac2db8e3e719ca2b393aa1e18b6786a7d34e113b07a7e0ad9698ad2d3753a1e7707e4df1edbf62c4fba2df6e0227e5658d5d368ac1dbf76a0e9455
 DIST pyo3-build-config-0.27.2.crate 35564 BLAKE2B 
8786478e559613cc258e2d0153d549f65c13a24a3fe612da7ac96e5f4038a1714dbc6a01b2d3e3d99b3de3af9658ad220647fbba4a33305bef81c07100426ada
 SHA512 
dc7cee79ce7febddeec9e70dd5de3b59696a5cf38afeccdfeda00307cc22166d0e9649d5e34e9801b7f495b31c104fa78dac2241248787daae8b9ea1f4551ce5
+DIST pyo3-ffi-0.27.1.crate 78517 BLAKE2B 
f0a093a594e47856c6458da59cc41d5b772be369fb245a1c09f5264464e0ddc527b243cd451352c7b3b1682fcb26cb1d7b93abfefe19411eec8de73d98918b74
 SHA512 
5bfb8e7982b0d9ddf6fb2c2a4110b43c5b4bcc6f0a14acb50af329742b6eb9993df2ffe88bc34732fd0a58ca552df1b071fa8efd7b38d3441a7b9f45245168ea
 DIST pyo3-ffi-0.27.2.crate 78552 BLAKE2B 
cdd6fb74a49615c42e6c6979e28c1d56e0061ae9e9897a20032d6be27c635433e9fa459847bf3c88de3be7503d045ef78d4ea3e028403c1ed00da96930ed73dd
 SHA512 
29936c7a0fa524304ca8b017ac912e2c3e9237a86ac8510c17b96b75c7e83948599884f064428640456cd5fb256246d536da432d096f924e78360efd973cee0b
+DIST pyo3-macros-0.27.1.crate 8918 BLAKE2B 
d98f155ba4867fec265b7ab82a89d6e025259fc113d9bcddc179a0a0df961ad36cafee1e781ef8fee6d607b8f943b6a095c0a1a188603f9be624a663170791d5
 SHA512 
7d33a363e464e2fe5b4fe4b958877c695542c8e18a0b512868d579455c9c6072d8a4c00a36b069bf8b54f7dade9847b3968c3d3f40b0b2b54fcfeff44f0afef2
 DIST pyo3-macros-0.27.2.crate 8913 BLAKE2B 
99a9cf37cb05261fa75d0ede4ed8ad75bbe29b941a4c6a0907d1c1baa887d0777dcb5970c7fbe1337c1b127b6318d077e2d8374629485572f3f7997a3e3825b8
 SHA512 
b05f6b61c5b320e83e879384691cdb9ad57ade3ce5a9fdfb587ccd13ea1c92d2b210e2d7ca242c3d1a5f5173076a25578d3d81f5a8c3935a43f010bfa8452153
+DIST pyo3-macros-backend-0.27.1.crate 82521 BLAKE2B 
fc5a1516eb0c55525cf648114274a741a01ee215cee8ef5ba44c0da225b98c1db15d3459f81028ae5b7376fcaf4744a59a34ec345403097d7b374aa8cd9d1e50
 SHA512 
036147deb1ad48815e22c84071069ed4eefe6b75c95cf727259231d63f0dbde00310983fbe90ab1b740ade071a22b9bb09073d6f120b519242c4bd8989bf3202
 DIST pyo3-macros-backend-0.27.2.crate 82513 BLAKE2B 
9154f0275ac031fb456c313176490b7f98e033a9ff43caf32ca717e6dedc2c32435af5e7d9d2e784690fe2a379c033f0dc036b18c630fa7cb3c3365e335e3a12
 SHA512 
811fa48ceb5a87d23312b968efa9d8464653289cefc8a1e27838f03285eef67092652ba89eba655d243fa435edd97674a981267870d208e0b11390db32d1ad9f
 DIST quote-1.0.42.crate 31504 BLAKE2B 
a8106c0fe3953bcc2aa421516dfbaad6d6cb2ea839b2ce1447a45b8732dad40a921c2008b477bc0fa029dc0e0357a339db543b1f90bb9da77a5a3681fc16bed0
 SHA512 
6d55047312de6bab660459750c54213e986f0a80b4458fdb706c2fb3bab83b8239cd230dd9291662076d395c818a391142af1228ae3158cfa4960d6c74d531ba
 DIST quote-1.0.43.crate 31587 BLAKE2B 
98b16b90a6f4a2c17fe4c3b428874265cd550e96db116642bcf9ca5300780115c11baa591858fbd92e024ca0d59a385275e33b7b5ba4da946e07d1f0df6e245f
 SHA512 
ecceef4e34e0ccf260e2f958fc8b6595f488a6cf6b2d9230bdea33aedf3b41ccb2e72f8810ffda8607bde9be5a3aaac518d6f3e48e41e5040915cad26083889e

diff --git a/dev-python/dulwich/dulwich-0.24.10.ebuild 
b/dev-python/dulwich/dulwich-0.24.10.ebuild
new file mode 100644
index 000000000000..ed63c955207e
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.24.10.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2026 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]
+       [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 Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0"
+LICENSE+=" )"
+
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv 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() {
+       # make extension build errors fatal
+       local -x CIBUILDWHEEL=1
+       unset PURE
+       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