summaryrefslogtreecommitdiff
path: root/dev-python/dulwich
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/dulwich')
-rw-r--r--dev-python/dulwich/Manifest2
-rw-r--r--dev-python/dulwich/dulwich-1.2.6.ebuild128
2 files changed, 130 insertions, 0 deletions
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 09eedaf57a19..dc814cc977e8 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -6,6 +6,8 @@ DIST dulwich-1.2.4.tar.gz 1243653 BLAKE2B 7d898010b1c4effd5b0e03bce42b1c6fb432fc
DIST dulwich-1.2.4.tar.gz.provenance 9886 BLAKE2B 03ff5ca49763c79747c14b8c810627cbd8cc7c4d9da4935b70d9640aaff89db1199c59f47fc5dc9bcaf449a5cf771e1182070e5619835abff089b85eacbe392f SHA512 9ddbf0c3ab0eed77873d74fc5eb1455a51f8f227c740d24d37a3e64016b19828ab23a44fcb357c75bc14a2aa88e235b0df11b20888bd44944bda3133923a506e
DIST dulwich-1.2.5.tar.gz 1253230 BLAKE2B ec505b0d77c35dc1f169e6467bc9585519f7b01d2a642a125e259413b52f404de1d839170596ff646f9009ec8af24adcf1227f854aa49ae8f6cee20f54c189bf SHA512 60a4bded1e8cb8cbb3139b74fdc3f0610398cd41337b3076728e3b9b9977416731149b7945ca8422c43c0c426870efc609dae3a1008083478edcec5df4e6232a
DIST dulwich-1.2.5.tar.gz.provenance 9988 BLAKE2B 1a2c4451068808b82772943e02ee5e006b10baa2e44910994411e39786eb4e7c0ed26767675d3bcfd9a94f926985e68e1c4e89fa33bdfcb5849ba6f595122eb7 SHA512 f3e9ef5b28568bbc32212b4765f770811c089bb322c9927ef210e90e178f31e6b5344ae8ad78534ae631058cbf5ec79b55e96e16b90f65c6f29b84006dce8430
+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 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
diff --git a/dev-python/dulwich/dulwich-1.2.6.ebuild b/dev-python/dulwich/dulwich-1.2.6.ebuild
new file mode 100644
index 000000000000..3630c647c997
--- /dev/null
+++ b/dev-python/dulwich/dulwich-1.2.6.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.85.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
+}