diff options
author | Michał Górny <mgorny@gentoo.org> | 2023-12-12 17:26:13 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2023-12-12 17:27:49 +0100 |
commit | e5ac8f7bfa74eefd96fc5e23a2da95618dbea70e (patch) | |
tree | 11053a6e208b4bac2d846fc68a828056fd5375ea /dev-python/blake3 | |
parent | dev-python/blake3: Bump to 0.3.4 (diff) | |
download | gentoo-e5ac8f7bfa74eefd96fc5e23a2da95618dbea70e.tar.gz gentoo-e5ac8f7bfa74eefd96fc5e23a2da95618dbea70e.tar.bz2 gentoo-e5ac8f7bfa74eefd96fc5e23a2da95618dbea70e.zip |
dev-python/blake3: Merge the C impl under USE flag
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/blake3')
-rw-r--r-- | dev-python/blake3/blake3-0.3.4.ebuild | 49 | ||||
-rw-r--r-- | dev-python/blake3/metadata.xml | 6 |
2 files changed, 52 insertions, 3 deletions
diff --git a/dev-python/blake3/blake3-0.3.4.ebuild b/dev-python/blake3/blake3-0.3.4.ebuild index e7f5b03d69af..d3a711eaac1d 100644 --- a/dev-python/blake3/blake3-0.3.4.ebuild +++ b/dev-python/blake3/blake3-0.3.4.ebuild @@ -3,8 +3,9 @@ EAPI=8 +CARGO_OPTIONAL=1 DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin +DISTUTILS_USE_PEP517=standalone PYTHON_COMPAT=( python3_{10..12} ) CRATES=" @@ -66,20 +67,37 @@ HOMEPAGE=" SRC_URI=" https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz - ${CARGO_CRATE_URIS} + rust? ( + ${CARGO_CRATE_URIS} + ) " S=${WORKDIR}/${MY_P} -LICENSE="|| ( CC0-1.0 Apache-2.0 )" +LICENSE=" + || ( CC0-1.0 Apache-2.0 ) + rust? ( +" # Dependent crate licenses LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD-2 MIT Unicode-DFS-2016 || ( Apache-2.0 CC0-1.0 ) " +LICENSE+=" + ) +" SLOT="0" KEYWORDS="~amd64" +IUSE="+rust" BDEPEND=" + rust? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + !rust? ( + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ) test? ( dev-python/numpy[${PYTHON_USEDEP}] ) @@ -88,3 +106,28 @@ BDEPEND=" QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/blake3/blake3.*.so" distutils_enable_tests pytest + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + # sed the package name and version to improve compatibility + sed -e 's:blake3_experimental_c:blake3:' \ + -e "s:0[.]0[.]1:${PV}:" \ + -i c_impl/setup.py || die + + distutils-r1_src_prepare +} + +python_compile() { + local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools) + + if ! use rust; then + cd c_impl || die + fi + distutils-r1_python_compile + if ! use rust; then + cd - >/dev/null || die + fi +} diff --git a/dev-python/blake3/metadata.xml b/dev-python/blake3/metadata.xml index ea862e0f3e8e..55ea3bd9e001 100644 --- a/dev-python/blake3/metadata.xml +++ b/dev-python/blake3/metadata.xml @@ -9,4 +9,10 @@ <remote-id type="github">oconnor663/blake3-py</remote-id> <remote-id type="pypi">blake3</remote-id> </upstream> + <use> + <flag name="rust"> + Build the Rust implementation (if disabled, the "experimental" + C implementation is used instead). + </flag> + </use> </pkgmetadata> |