diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest index ca2e2ce25fb2f..43d3b95e40ea0 100644 --- a/dev-python/dulwich/Manifest +++ b/dev-python/dulwich/Manifest @@ -1,8 +1,11 @@ DIST autocfg-1.5.0.crate 18729 BLAKE2B 27580e39b366c6fca02c9db09997b6415c409f12068f1249184268bf96fd85ba659e25ec730f99e10caf452f96c486f3d7442bf09c4552b5f39519b21d6f88cc SHA512 f279856f234d39d369623576acf9546a1ca24d7fe449f36d4fb93ea75a7efaf2c4015b9616a69bbbed358c5e5882e16b045352f046aa4c049b3d13b1e8257b08 +DIST bstr-1.12.1.crate 354916 BLAKE2B 07b8e047c7a115d7d722ef57a37c5ac1e7ddba080e35b4eed78c3104cd92f08af5e67609faaa7a480ae15031f54c3f5d88784e23c96e659a7f4800c42dad45c3 SHA512 63a1e62d43c4dce00f287421b1ec76accbbab7f0897c8df26227f533af325896c0c8921a873f4125381e7b89fbb69a4358a96698ec6ee61191955464ff1c84ac DIST dulwich-1.1.0.tar.gz 1178580 BLAKE2B 34c4f73e8f72091c1b0cc0dce69b4db6eb9649aeb4db429d12e2089eff0cc68e4ab62b5e5fbe2a33a1f3a92010f071fa492f5dcd4996704b366986c99cf1a7cf SHA512 010576262ea78b86cceb64e9a19fa133068457669f675ee68b060de26f2387207a7a8305492e57ffabb3c3d01a8e5b98a132d1f7396a1c9bc3c2565867b2f3af DIST dulwich-1.1.0.tar.gz.provenance 9772 BLAKE2B 088b649527839758e181a04bc49cf7bf889ff39fe6056ccdf427435a8089caf1e613cc3efee9066d3306d3e9731751d948e50b562f719d4aa91234ba67ad9302 SHA512 bada36af17a7d0465ed9baf323878a195242790d589d129fb5137410cde8dfc35eb8be164e5cdbd8afe207e5461f427063e353c14b17b115bd9a258c6ffb82b1 DIST dulwich-1.2.1.tar.gz 1223320 BLAKE2B f88dd9a5799abd09e8e930efcf3f232cc2fb9913b76b70852d9a2efc37c1c82318b9cd78d3f04e88e0c0f9e2490f75acd8b9824fb7a6fd8604d026984ad9d303 SHA512 5b52b38300adbc73222c961c3b5df7877d576cadf170d679b4df83bf4f87be2b1b4111a804b042328cf9bd1662f6ad96036d7191870e3e8228e8abcae0ad757e DIST dulwich-1.2.1.tar.gz.provenance 9741 BLAKE2B d5a97c9eeb6279a98647b43bd29103bcd703d08317b520e7bc49995f89c8d05bf64add3766a16ddd8f07bbfc152140a0460bad85471902ce8be17beff7cbd04b SHA512 3aab6fd326d6596879ee07e4095b8bbf932e221736c57824bf617b5390ffaededdeac8bc8568c3a0440c6c5707fc7fd861b62a69c551ba2d7a57efb3cf01c4cd +DIST dulwich-1.2.3.tar.gz 1242315 BLAKE2B 620e0b2a28bdfddcb51ad171dcd6fbd91fcdebab72c5b6b9d9cfd5bb20a57dbdc960dbe991a7899f43bf89531c2a8ae21727250406ac5874910f0b19481f12c7 SHA512 9ce66da1a58852a23f1eafa551fb7e2206df55336e0ae921ed96a394e0212b8317875e0c6b84b2c27c75dba983d2913446f7fa421b5dcd9ade75ea8128e8ee2f +DIST dulwich-1.2.3.tar.gz.provenance 9882 BLAKE2B f282734f20e6cf53909c16c7b834e899bf2008ec7f3f09adc5dc85cfa13ddf1b8dcfe13b3d30d92d178f1373145652e8c31866fc6580936c9c1b477759833945 SHA512 3b40b9f2a54d13a65b0c7fd209dc0ca55e5c357be33888ad07375e1c65e6122199ce92096ad382bb38641a7198a4040c99be5a17a1113e6f8bc4dc06336b1f95 DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76 DIST indoc-2.0.7.crate 17184 BLAKE2B aae454874b44dbc908a75b64626e608e04017c1407daff9a2e2dd12a337ac04db594540d2f31bfc590d6f37f0d711ff2d3054352ff1b33e736c36620404be0a0 SHA512 6e80cf927001821606488a822fd0f67ae1a569b022c98e727e6b1571c88d87775166f088322bd5f17abb8fc1fde62c9d14fb2e99f1e50918487252d823e48f73 DIST libc-0.2.182.crate 814873 BLAKE2B a5fae27ee77495d8638297523d7428eda4a608109e7e1b67db1ba621f7700761f8131710a49bbd24bedf62f8df7ecdeaedb5def47201146a05b4288ee2f92515 SHA512 7923eeb0ee1db8b5b00a6a4352cf5fd3f877a2f727af5857ca49ceeab2dc7519137eb3a982f5a763ae61fbe422ba8f0fe83d92dcabcfa18c23fae619960f96db @@ -26,7 +29,11 @@ DIST pyo3-macros-backend-0.28.3.crate 88063 BLAKE2B a484b12bbab3031838f61149ab9f DIST quote-1.0.44.crate 31629 BLAKE2B 6e34e4121b7a37fd7492fc22d652c44ff90b8b3391b5cfa320a606871a43a4494beca15c1d4416c342bf511adb6442afa5513821514c52376175e2f8a98b7293 SHA512 6c1e9b31e0c8bd13cd865e6846dc243d88f2c057adeb8e674117bdcb46947219a6a352a6a50be1132c483f55331e6556275ac514513dbf017825c64e5d96010d DIST quote-1.0.45.crate 31564 BLAKE2B 1b2c2c3e6ebabfe10affa4c43ca0bfd1f52d8fd49e1df463e13e63a82de41272089c8e09e4c02e8a33cfee768ace26d4d42a50752de8fb5a776c59806139ad5d SHA512 df96ede01ebd0ed642b758bf1d0862d0e116fc2b3343e14edb657ce5438ccabe743dec4a0a40de4dee98c134d169af9aba459faadf9c7a832b26377e755d49b0 DIST rustversion-1.0.22.crate 21096 BLAKE2B cdf773cda21ebde50da897c0af0e4af14660ce953d3037054a99d8adc3db2dc6e30a57201a45676abfb183c62016a68069848e7537f711b1752339d194b0a378 SHA512 7929352df3e5279ac88cebb26ca89bb13c755f46986d2d1f514d18a3239a63638bf64f8ff153920569d173185d988d692ee676335afba0bf72d47f71babe0e15 +DIST serde-1.0.228.crate 83652 BLAKE2B d1909d671ea6d5c2eb4ce34ee4493ecaf665d416111b4cac754b5d33b85f916296110bae7aa961efd987a2ceb4a31ba645752ce99dd28dedb9f1eecdd4d7b1b2 SHA512 9b645d6214203533b303fc5e88ad4f7686c22df084878d18a0209a92304a340fcb62fdde88a7080cf7a7348d47b9b363885c4e1da90dba08cc99ff620f375e97 +DIST serde_core-1.0.228.crate 63111 BLAKE2B 8a64e4627ad21a3d16dd37d53fb809d11171bf337ec16bb1223075cbf81b6b85cd1c8d19abadf42460d0fbea323e2f351eeb6ef823389d519121b74e68edb215 SHA512 43897e3a7ebdc85d81d1cb30cda8f0a11610f6f551529c8a21462c24fb83110652b462846aa3e1bed5fbf8b5d7927018845a524ee9e079e2c8acf2c687efd6c4 +DIST serde_derive-1.0.228.crate 59605 BLAKE2B 166ee2f9ff9f7a0928d0a65a72db3d9226c377bca2a1771956e8ecd9c7faf0544673c9c21be2a5553e621b55c74c7b958052592a1cf6eb6427a2d4f3e3dc6bb8 SHA512 8bfdfeee10ee7ef0670972aa963ef63b13e8eb2c8a09b9e0b717f92551aa89b3dd2a0dcbae6ccf20a1caece07e6adb18f0db56fdac020e4e0281b0d24e376003 DIST similar-2.7.0.crate 53928 BLAKE2B 41d6aec64403069dcf81a9a00b9db041967b89d09cf9f2371444928f32bbc2a8c6066adb93eaf25c72a257fab87e24c160265d687c4e33848728a4ddd374012a SHA512 4a2559d2e47e7747eb2bde0f02a0e652ff0e116d1d3c3756dd86fd48f114e2b42157b860165e5cc29c2123cf19c64ebd17f023aaa05950de03ab5752562206b3 +DIST similar-3.1.0.crate 78442 BLAKE2B a68f2682af0876871cea3b0978a43285b07ea1050e01f0604e2aa1c016149f2619637ec4c34b9e0c8ee237b08449caa3b79f449cb6161d3f677ad3d25b71b110 SHA512 7c8d5f0a3ba376f1c4dd891772a0c87bed52027b8bcbaadfe30f0c79540e9058e68a706f6388dfc6a55f0970cdc8ef0b887eb924463d49a735e10b01bda0e727 DIST syn-2.0.116.crate 305969 BLAKE2B 68bec34f707325ced89dab5d67587fdcc3b5245c87bd16c1b65f5c832d4369b500e0485c9a4407667098248c856bcd091c936c06e0bf373e0b8c761bcaba85ba SHA512 81e1a5388d688a4aaf00ba35428ac82b9b4bb6e703c4321a898140d6fd40cdaa32762bf0e0ea0d9276f4322f673dbc39d3c46c275dcf69533c57ba4d68702ea1 DIST syn-2.0.117.crate 306011 BLAKE2B bbaec02c4322f522bdfc87caa4ce6fd1e09bbf8f4a102d9ed8728efacdd843a2750f616dce5b2d3a3e46bbb7d57439fbd10e328bc1d4a01e980986cd815798af SHA512 035c2e63542592b6a4058a2a82d4c2c1f5793f84fb1b04cbd393337a26fcf661a1f3bea439ce98a1fe943b1c4d36d2bda16df3bbc3fa6ca35e1548d530dc8416 DIST target-lexicon-0.13.5.crate 26928 BLAKE2B f8c62cb91f68a635e6ce3fc254df9ce378b5e8f62c1147404c967484b9ed97fb33d7993b4671611db76566063e999d658d201f856f70196ec678d72cc758cf6d SHA512 956df27c01e1186c5356117ffd07810fc0b62fb919d5bfd215955ba85be00ef675212a3c0dc36679986be7b825442fec5c93c7643b7e1e19c04572e6463546fc diff --git a/dev-python/dulwich/dulwich-1.2.3.ebuild b/dev-python/dulwich/dulwich-1.2.3.ebuild new file mode 100644 index 0000000000000..f5da6eafd4a15 --- /dev/null +++ b/dev-python/dulwich/dulwich-1.2.3.ebuild @@ -0,0 +1,128 @@ +# 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} ) + +RUST_MIN_VER="1.83.0" +CRATES=" + bstr@1.12.1 + heck@0.5.0 + libc@0.2.185 + memchr@2.8.0 + once_cell@1.21.4 + portable-atomic@1.13.1 + proc-macro2@1.0.106 + pyo3-build-config@0.28.3 + pyo3-ffi@0.28.3 + pyo3-macros-backend@0.28.3 + pyo3-macros@0.28.3 + pyo3@0.28.3 + quote@1.0.45 + serde@1.0.228 + serde_core@1.0.228 + serde_derive@1.0.228 + similar@3.1.0 + syn@2.0.117 + 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 +}