summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-11-02 07:21:13 +0100
committerMichał Górny <mgorny@gentoo.org>2024-11-02 07:32:07 +0100
commitf489c08ccb44b504a7b3c46c6c317ef3c7e754ab (patch)
treee94e8951068e14ae5a5a66ca36f9a73b878f728a /dev-python/dulwich
parentdev-python/dulwich: Bump to 0.22.4 (diff)
downloadgentoo-f489c08ccb44b504a7b3c46c6c317ef3c7e754ab.tar.gz
gentoo-f489c08ccb44b504a7b3c46c6c317ef3c7e754ab.tar.bz2
gentoo-f489c08ccb44b504a7b3c46c6c317ef3c7e754ab.zip
dev-python/dulwich: Support Rust extensions
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/dulwich')
-rw-r--r--dev-python/dulwich/Manifest20
-rw-r--r--dev-python/dulwich/dulwich-0.22.4.ebuild48
2 files changed, 65 insertions, 3 deletions
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 3ed207f4775f..f9970ae51e57 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1,2 +1,22 @@
+DIST autocfg-1.4.0.crate 17712 BLAKE2B 7f7300439899be03d001dd32b7e797bc4b9a58103081b6f7353c4b5897813cedf870b3fb1fa25d320a75326b334b44d8287e8603de34fc560d0b567143915cc6 SHA512 3b5e7c30bc73e105e4bfcab584c24fc4016db41fac9c356c6649fd841051704bbe8848e09546eb50d7c1f18ea8ce1cb72fbc268a620d5c609b3472114b5be73c
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST dulwich-0.21.7.tar.gz 448028 BLAKE2B 8ceace901ce4b444d6f40f7071b7a95a04d27a63b9076fd82c97b7fb551dd769c38940d0ec42ebfd6592154df912139f0ca58801ba2fa0ef412d6a749253500a SHA512 56ddf8db21088b264623c568f28caa80d8687d26e5127093daaa4d556b0f49218ac51491a47ced00e9af073bd7ca05b2eb8b29d64aae8b93dd4bd47ca67ee443
DIST dulwich-0.22.4.tar.gz 449939 BLAKE2B 2b2609db8106cab6315d137187a52e4133d318af0d7b51ecd3dc60dac64766eb5439c5fccad73be94ec351ed163a18263ac245e16de9d3adc48095ddae92925b SHA512 d84e5b74fc3691593b5d7e4add26956800d71656d60362bca56c12bd44fdcbbd319d6153c31805948322b94d5bce9986ac27f1bc4df26ce45c26fcddd3dfb5b5
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST libc-0.2.159.crate 755366 BLAKE2B 70f46eb6228b4a8958dfbee00cdfa3c7d218f30d66c8591f4ccc9c5d8eda411d83ce9450552384ac4bc29deb2869561a2111dd157c9f228f617baf8f6b537bc4 SHA512 c803939ceea5ad9bdfdd122726c7a5f12ffd8b0cb66cf0bc62c9670e1e5904a504def388c1e043c520f4ece484addf6dac465aebd58578aa6b79995077bbdf9f
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.20.2.crate 33394 BLAKE2B 79dd394fcf1637adfef28b4159ec653c8b71d2bda0e0e36a940c04e3d87698f039dc30c97f26648ecf0d9742962f1f0a117568f7c705a8a3fc167085b0ca3e80 SHA512 bc6005bdab7a154c01e2203fb553a68695727475a9a882cf906d49c054ce886ad92cb491d380b6b9fe71a81b2fd690ce91c9a6cf8dfa8508470ac9acfc8a31c8
+DIST portable-atomic-1.9.0.crate 166365 BLAKE2B 9abc31364770923847dac16f532452bc8783a5068c0f757f79122bc5b68863b58c0acfa12d28836188413c2f0b61d494cb53fa07a57e199ecd4910a2534c5bb3 SHA512 1431a4c092f6a0cb50bcc78488d603c8ba8f4ee697f77fdcfcce7002fcb371f52a321089422c76564fbf3277c48e30f889565747951c60360d95a6917bb6adeb
+DIST proc-macro2-1.0.88.crate 49219 BLAKE2B 793001e2fb15fc6572060ec05276b185b94894f597fbea90663c77f28a67427f93e655fb40d9e52e028ce3e78ec5fec67f0ce12b09dc308a028a7350c7b4699f SHA512 6aea3482742a2a59aacc3efa4a48f6cef0dbd7ca6aee6aadaadf9fa15ef353430a3a2ae21d15319c1464a48cc70f30e5f9f6d5da5597a380cdfb27d533388d37
+DIST pyo3-0.22.5.crate 546700 BLAKE2B 8ee81360b205bcfc763dbd3d313e2d2f31bde4577bdc77a2ebc3084aa06e30bcc1f7efb97349d781b27882af5b8e82c6476498c86039b9c39286721ed1c08504 SHA512 48b9ada19bb12c6e5f1d41982c3b607f206d88dc078517c45106b631e0ad973145b0b60af06e58013a5189ca8b50e1cfa326c6904bba5aadb791933272ffb277
+DIST pyo3-build-config-0.22.5.crate 31293 BLAKE2B c1e10f78ce66993fa4a88a5994f0266200a529c2939dc1d29137aaa6133bd4c83062cd00d347b491afe5dfcf2995f4a1a0da271a24baf198447b5983a9620d83 SHA512 c11ebfeff1e8ada612dbab16bd86fb8659edb9026bbd826cba84601096fa4192faf260e067b5f9efcd0e8e72fe90bc8f08358cbced45175c662d78bde5eb3d82
+DIST pyo3-ffi-0.22.5.crate 69354 BLAKE2B 91dfb41a24cb2b12bf54d6e54949a381ba6635ee55623a7f77a7e672fcf71d7f6937b7ab96f20457d770cf132047ddc9df50ea4aae8506d64e833f11a3b504e6 SHA512 36b8ed6273f7a0298179729c41081c787f353eb338be0f470859ce62a12e05305bd53eb24b6e72f2c56971f18bd64d16c63576f41909e9ac849f355041139a91
+DIST pyo3-macros-0.22.5.crate 8186 BLAKE2B 78f0c348fec0878ce4c873af3d4c438ccf02a5e971f2fd8b1cc9ea40a3aa8396dc6ea11e4d421a8b8c5eff5752182623632d92403ba6c5565b6b71b386768b04 SHA512 cfd848fb82f183290791930ca2e43a0db63de4f23436c1f1d3c688efdcbba1462346177c5956817418a0f0ea172b1039f5408a02a05ff03671dbb025f0697076
+DIST pyo3-macros-backend-0.22.5.crate 66308 BLAKE2B d30c021da6b013abb8bbc8d55f110f3394c79d85f02506d7a42bba256afd639647210ed66bae289f4dfbd6d060995c0365b278749798b302eb89f1b09c074ab3 SHA512 8a79f9c6f948375e20804d2bc4b98d9fd7d39f99a936afb1d9a0fab599a3ad07e95bc985aa51b0ab8410b6b4f5ebaa2aa347013ae722a2b3f4c51f318415d472
+DIST quote-1.0.37.crate 28558 BLAKE2B a7d007a69e619f853af94333e1066bb767013312bd99f147b1b153611242bcfa9c76768b1ba47278589db309a9acd61a772c8ec3b567e48439bb9d831f9326d4 SHA512 c4ed21428c1f89cf22b85d80720a7869831a9c129d694617b0ce8c258278114ab98846f3f653abf736d1c86bc9224bbd695e9a7b06aa3adf292d02e1ef14cc05
+DIST syn-2.0.79.crate 268981 BLAKE2B 2bf4bde1890ce4ee91fbacca81bd298d15f0111fedb27b9cf8d675dc2489f46026c1804f9e4e24afbd0718539820096cd5c4ed2c2da02e598370dbfd2b18c293 SHA512 1ee073fa3428c031e53bff8ff305bcd6b37ac142bee3955dcdb44fec1c77c733eb78760c8bfb30b83fc3dacdad8a384e2b6f9f31a89c4cc300359e33457fd433
+DIST target-lexicon-0.12.16.crate 26488 BLAKE2B e7950e4a302059a1bfc9bc15618a3c1b971a17cffae117a6e8f5f63a0d82fd2bd02680301d15338612d5426d349dd24cfee30ee787a15a7d3187f2a6825e69ce SHA512 092639957c4a0391560b6442b31c47159c04d12e971010f730a6ec9cb5389e4be903ef3d7daa06db95e64dc78b6970731fb647179ebaad2b12e9ed5e9b24da27
+DIST unicode-ident-1.0.13.crate 43279 BLAKE2B b5e935020d1c9f3aa24f7d382f6b73d6510d654a61ce1c9c024e2e365bb817182e076139f370e822573531356fb78ff7499049b1f29aa1e2f4a2cc74a955b47b SHA512 5ba884f39debe9c8eb0b1d251ca713f7e2bc191d211707ed10cd81465487dbdca53914c19e131edfa1da15af132dc2c346260c3969c61e3747b63399ccb1cc51
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
diff --git a/dev-python/dulwich/dulwich-0.22.4.ebuild b/dev-python/dulwich/dulwich-0.22.4.ebuild
index 1160f609b587..294fd2a15e19 100644
--- a/dev-python/dulwich/dulwich-0.22.4.ebuild
+++ b/dev-python/dulwich/dulwich-0.22.4.ebuild
@@ -3,28 +3,61 @@
EAPI=8
+CARGO_OPTIONAL=1
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} )
-inherit distutils-r1 pypi
+CRATES="
+ autocfg@1.4.0
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.159
+ memchr@2.7.4
+ memoffset@0.9.1
+ once_cell@1.20.2
+ portable-atomic@1.9.0
+ proc-macro2@1.0.88
+ pyo3-build-config@0.22.5
+ pyo3-ffi@0.22.5
+ pyo3-macros-backend@0.22.5
+ pyo3-macros@0.22.5
+ pyo3@0.22.5
+ quote@1.0.37
+ syn@2.0.79
+ target-lexicon@0.12.16
+ unicode-ident@1.0.13
+ unindent@0.2.3
+"
+
+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"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples test"
+IUSE="doc examples +native-extensions test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
"
BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ )
test? (
${RDEPEND}
app-crypt/gpgme[python,${PYTHON_USEDEP}]
@@ -34,9 +67,18 @@ BDEPEND="
distutils_enable_sphinx docs
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
python_compile() {
+ unset PURE
# TODO: enable Rust extensions
- local -x PURE=1
+ if ! use native-extensions; then
+ local -x PURE=1
+ fi
distutils-r1_python_compile
}