diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest index d1d4cdbf7a5c3..7cacc42640d17 100644 --- a/dev-python/dulwich/Manifest +++ b/dev-python/dulwich/Manifest @@ -4,6 +4,8 @@ DIST dulwich-1.2.10.tar.gz 1310282 BLAKE2B f5e30c631299220c7879c9b9b47cac476856f DIST dulwich-1.2.10.tar.gz.provenance 9957 BLAKE2B fcf20c4734f2ee38e97cda50075064a3d631715c42a8bf8dd337c2183c2c91452b81fe6692fd93692b534b26ff5a38b4bd06eb8c8c6e8510b8fc8c57eb7c367b SHA512 ac2a9b8ba116ac1acad87e1918a60ba8679ef0a26597e95b8c1697d7d507f886310dffdb5219e667766389269f7f8b793859acbcf32f6dc69b55cb157559f7ed DIST dulwich-1.2.11.tar.gz 1320432 BLAKE2B b078f78d64baf30e39e1c3ed1ea91e783764624fadc3db8c9f722f8427c440e584422e55212d1b4a7e1e61db5a81ef5a4e71f6f2f7520f52ed52c171aa02fd1b SHA512 a2e87b4ac5dd5917a151051e2aedcefbbf12d6be0e3d1a7faf3966137870aa41abffb82359a61825a3c55d64328c923fa8c1fc7d1b30e45581f10b4ada40bd5c DIST dulwich-1.2.11.tar.gz.provenance 9910 BLAKE2B 48b09814fb0534d62fe0a0500c5da8d7212f7b9725f864998eab3e0409df77cfb15dcb4381ec3206e6452b904b7501c2c40ba8a54f7715b3575e1a89d43f7f42 SHA512 ae11611d137ae697d2fa227190d88a889a36272f5e5baf534b9f4c4b0c34f099a37ff2c1363146222e5c016165b7dfde71c08ca24b7ce113d7b435b2596b7599 +DIST dulwich-1.2.12.tar.gz 1323805 BLAKE2B bcb786645f006538af2f6f982eca3beab31b9debbf4bde6c89a17a5069cb95a695d4af0df3e6f35c71e223b1dd3f171692d1149685d87d8d972250fba50628d6 SHA512 650d9fd53e702ec1f029cf0a9c7e3d0b6e9b392353e431676d6dd633311f8d665800ebf183bc7a0a2501c27d53d91a5f1e7948b63a959d784e7d4a21eeb33854 +DIST dulwich-1.2.12.tar.gz.provenance 10114 BLAKE2B 0a76afc9ad6661d1431ba0fc4c99232b50e0bef2cd1153b904f95e05640f1059cd755fc76e1eee590b02515a12b2b722e0cd3ebed3c0cf1880be4f5acf89af9d SHA512 9067a8739a7bcd988798cce63fd5b5256faf8630565194fd5722aec61e0eac2b5efb883cbbd5cea0c4ed767b4715928d1b8ec00b190c96a386e0c38fd34383d2 DIST dulwich-1.2.6.tar.gz 1257895 BLAKE2B 73362d94f9d4823ec36fe30e956c96d7de7504cdd4db61fbf43f283d3ae97abe2c2c40ec68693d87e4b06d02717733ac24d6a61b22fa5e577f233df32432459e SHA512 5be90b5fa1d806970e6fd3c5a70749e48c9639d614b199b25afd5f3725d8fe201b43cfd69a8f45840bf883df3f0e4f5db1bf54ebf3b6dab3caf1373e265eab7d DIST dulwich-1.2.6.tar.gz.provenance 9894 BLAKE2B 0e3dc11b5dd2dd1c7de37b5d19da9927d1fc6ef7dfda8ee2256e3d74871de03c9ead52bbab472833e5f34f50c509df116c4e2c591bc2263363144e8e9839e535 SHA512 f8148280fcc34d2730fe3783043592dd78b710cca3898c13180dea306c81b342e447a1fda5a4a8d360224dbe21f059e622f7c50b39ced72870f34cb1a4fe1323 DIST dulwich-1.2.7.tar.gz 1284735 BLAKE2B 7799fece3b87c2c53f7bdd28d3854754035fd971e0191302821ad57d572bc89699a66b8b34219834a92f50f120e936e0cb230c7026a945783dd8932e6c7f3bcc SHA512 57ebe0e682b7e01a2ee452f8378be6228ebfa8d35549c7f1d7d2c24263972649def0bf5c57e911ba859f61d7d26df9b6053c7b2222e858076f9a9272d8fed660 diff --git a/dev-python/dulwich/dulwich-1.2.12.ebuild b/dev-python/dulwich/dulwich-1.2.12.ebuild new file mode 100644 index 0000000000000..5492e7f09fd32 --- /dev/null +++ b/dev-python/dulwich/dulwich-1.2.12.ebuild @@ -0,0 +1,127 @@ +# 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_{12..14} ) + +RUST_MIN_VER="1.85.0" +CRATES=" + bstr@1.12.3 + heck@0.5.0 + libc@0.2.186 + memchr@2.8.2 + once_cell@1.21.4 + portable-atomic@1.13.1 + proc-macro2@1.0.106 + pyo3-build-config@0.29.0 + pyo3-ffi@0.29.0 + pyo3-macros-backend@0.29.0 + pyo3-macros@0.29.0 + pyo3@0.29.0 + quote@1.0.46 + serde_core@1.0.228 + serde_derive@1.0.228 + similar@3.1.1 + syn@2.0.118 + target-lexicon@0.13.5 + unicode-ident@1.0.24 +" + +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 Unicode-3.0 + || ( MIT Unlicense ) +" +LICENSE+=" )" + +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +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/hypothesis-6[${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 +}