gentoo/dev-python/setuptools-rust/setuptools-rust-1.9.0-r1.ebuild
Arthur Zamarin 706cc833c5
dev-python/setuptools-rust: Stabilize 1.9.0-r1 sparc, #934357
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
2024-06-23 19:10:21 +03:00

199 lines
4.0 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CARGO_OPTIONAL=yes
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..13} pypy3 )
CRATES="
autocfg@1.1.0
bitflags@1.3.2
byteorder@1.4.3
cfg-if@1.0.0
convert_case@0.4.0
cssparser-macros@0.6.0
cssparser@0.27.2
derive_more@0.99.17
dtoa-short@0.3.3
dtoa@0.4.8
futf@0.1.5
fxhash@0.2.1
getrandom@0.1.16
heck@0.4.1
html5ever@0.25.1
indoc@2.0.4
instant@0.1.12
itoa@0.4.8
kuchiki@0.8.1
lazy_static@1.4.0
libc@0.2.121
libc@0.2.147
lock_api@0.4.10
lock_api@0.4.6
log@0.4.14
mac@0.1.1
markup5ever@0.10.1
matches@0.1.9
memoffset@0.9.0
new_debug_unreachable@1.0.4
nodrop@0.1.14
once_cell@1.10.0
once_cell@1.18.0
parking_lot@0.11.2
parking_lot@0.12.1
parking_lot_core@0.8.5
parking_lot_core@0.9.8
phf@0.8.0
phf_codegen@0.8.0
phf_generator@0.8.0
phf_macros@0.8.0
phf_shared@0.10.0
phf_shared@0.8.0
portable-atomic@1.6.0
ppv-lite86@0.2.16
precomputed-hash@0.1.1
proc-macro-hack@0.5.19
proc-macro2@1.0.66
proc-macro2@1.0.69
pyo3-build-config@0.20.3
pyo3-ffi@0.20.3
pyo3-macros-backend@0.20.3
pyo3-macros@0.20.3
pyo3@0.20.3
quote@1.0.32
quote@1.0.33
rand@0.7.3
rand_chacha@0.2.2
rand_core@0.5.1
rand_hc@0.2.0
rand_pcg@0.2.1
redox_syscall@0.2.11
redox_syscall@0.3.5
rustc_version@0.4.0
scopeguard@1.1.0
scopeguard@1.2.0
selectors@0.22.0
semver@1.0.6
serde@1.0.136
servo_arc@0.1.1
siphasher@0.3.10
smallvec@1.11.0
smallvec@1.8.0
stable_deref_trait@1.2.0
string_cache@0.8.3
string_cache_codegen@0.5.1
syn@1.0.89
syn@2.0.32
syn@2.0.38
target-lexicon@0.12.11
target-lexicon@0.12.3
tendril@0.4.3
thin-slice@0.1.1
unicode-ident@1.0.11
unicode-ident@1.0.12
unicode-xid@0.2.2
unindent@0.2.3
utf-8@0.7.6
wasi@0.9.0+wasi-snapshot-preview1
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-targets@0.48.1
windows-targets@0.48.5
windows_aarch64_gnullvm@0.48.0
windows_aarch64_gnullvm@0.48.5
windows_aarch64_msvc@0.48.0
windows_aarch64_msvc@0.48.5
windows_i686_gnu@0.48.0
windows_i686_gnu@0.48.5
windows_i686_msvc@0.48.0
windows_i686_msvc@0.48.5
windows_x86_64_gnu@0.48.0
windows_x86_64_gnu@0.48.5
windows_x86_64_gnullvm@0.48.0
windows_x86_64_gnullvm@0.48.5
windows_x86_64_msvc@0.48.0
windows_x86_64_msvc@0.48.5
"
inherit distutils-r1 cargo
DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
HOMEPAGE="
https://github.com/PyO3/setuptools-rust/
https://pypi.org/project/setuptools-rust/
"
SRC_URI="
https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
test? ( ${CARGO_CRATE_URIS} )
"
# crates are used at test time only, update via pycargoebuild -L -i ...
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/rust
<dev-python/semantic-version-3[${PYTHON_USEDEP}]
>=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
>=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
"
BDEPEND="
>=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
test? (
${RDEPEND}
dev-python/beautifulsoup4[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/cffi[${PYTHON_USEDEP}]
' 'python*')
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
)
"
PATCHES=(
"${FILESDIR}"/${P}-delay-non-stdlib-imports.patch
)
src_unpack() {
cargo_src_unpack
}
python_test() {
local -x UNSAFE_PYO3_SKIP_VERSION_CHECK=1
local examples=(
html-py-ever
namespace_package
rust_with_cffi
)
for example_dir in ${examples[@]}; do
pushd examples/${example_dir} >/dev/null || die
einfo "Running ${example_dir} test"
esetup.py build --build-lib=build/lib
case ${example_dir} in
html-py-ever)
pushd tests >/dev/null || die
local -x PYTHONPATH=../build/lib
${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
popd >/dev/null || die
;;
*)
pushd build/lib >/dev/null || die
epytest ../../tests
popd >/dev/null || die
;;
esac
rm -rf build || die
popd >/dev/null || die
done
}