View Raw Ebuild
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
CRATES="
aho-corasick@1.1.1
autocfg@1.2.0
aws-lc-rs@1.9.0
aws-lc-sys@0.21.1
base64@0.22.0
bindgen@0.69.4
bitflags@1.3.2
bitflags@2.6.0
bytes@1.6.0
cc@1.1.18
cesu8@1.1.0
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.8.1
cmake@0.1.50
combine@4.6.6
core-foundation-sys@0.8.6
core-foundation@0.9.4
dunce@1.0.4
either@1.13.0
errno@0.3.9
fs_extra@1.3.0
getrandom@0.2.11
glob@0.3.1
hashbrown@0.12.3
home@0.5.9
indexmap@1.9.3
itertools@0.12.1
jni-sys@0.3.0
jni@0.19.0
jobserver@0.1.31
lazy_static@1.5.0
lazycell@1.3.0
libc@0.2.158
libloading@0.8.4
linux-raw-sys@0.4.14
log@0.4.22
memchr@2.6.4
minimal-lexical@0.2.1
mirai-annotations@1.12.0
nom8@0.2.0
nom@7.1.3
num-bigint@0.4.4
num-integer@0.1.46
num-traits@0.2.18
once_cell@1.19.0
openssl-probe@0.1.5
paste@1.0.15
prettyplease@0.2.17
proc-macro2@1.0.79
quote@1.0.35
regex-automata@0.3.9
regex-syntax@0.7.5
regex@1.9.6
ring@0.17.5
rustc-hash@1.1.0
rustix@0.38.34
rustls-native-certs@0.7.1
rustls-pemfile@2.1.3
rustls-pki-types@1.7.0
rustls-platform-verifier-android@0.1.1
rustls-platform-verifier@0.3.4
rustls-webpki@0.102.8
rustls@0.23.13
rustversion@1.0.14
same-file@1.0.6
schannel@0.1.23
security-framework-sys@2.10.0
security-framework@2.10.0
serde@1.0.203
serde_derive@1.0.203
serde_spanned@0.6.0
shlex@1.3.0
spin@0.9.8
subtle@2.5.0
syn@2.0.58
thiserror-impl@1.0.58
thiserror@1.0.58
toml@0.6.0
toml_datetime@0.5.1
toml_edit@0.18.1
unicode-ident@1.0.12
untrusted@0.9.0
walkdir@2.5.0
wasi@0.11.0+wasi-snapshot-preview1
webpki-roots@0.26.3
which@4.4.2
winapi-i686-pc-windows-gnu@0.4.0
winapi-util@0.1.6
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-sys@0.48.0
windows-sys@0.52.0
windows-targets@0.48.5
windows-targets@0.52.4
windows_aarch64_gnullvm@0.48.5
windows_aarch64_gnullvm@0.52.4
windows_aarch64_msvc@0.48.5
windows_aarch64_msvc@0.52.4
windows_i686_gnu@0.48.5
windows_i686_gnu@0.52.4
windows_i686_msvc@0.48.5
windows_i686_msvc@0.52.4
windows_x86_64_gnu@0.48.5
windows_x86_64_gnu@0.52.4
windows_x86_64_gnullvm@0.48.5
windows_x86_64_gnullvm@0.52.4
windows_x86_64_msvc@0.48.5
windows_x86_64_msvc@0.52.4
zeroize@1.7.0
"
RUST_MULTILIB=1
inherit cargo flag-o-matic multilib-minimal rust-toolchain
DESCRIPTION="C-to-rustls bindings"
HOMEPAGE="https://github.com/rustls/rustls-ffi"
SRC_URI="https://github.com/rustls/rustls-ffi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" ${CARGO_CRATE_URIS}"
LICENSE="|| ( Apache-2.0 MIT ISC )"
# Dependent crate licenses
LICENSE+=" BSD ISC MIT"
# For Ring (see its LICENSE)
LICENSE+=" ISC openssl SSLeay MIT"
SLOT="0/${PV%.*}"
KEYWORDS="~amd64"
# Tests fail to compile; will investigate upstream.
RESTIRCT="test"
BDEPEND="dev-util/cargo-c"
QA_FLAGS_IGNORED="usr/lib.*/librustls.*"
src_prepare() {
default
multilib_copy_sources
}
src_configure() {
# bug #927231
filter-lto
multilib-minimal_src_configure
}
src_compile() {
multilib-minimal_src_compile
}
multilib_src_compile() {
local cargoargs=(
--library-type=cdylib
--prefix="${EPREFIX}"/usr
--libdir="${EPREFIX}/usr/$(get_libdir)"
--target="$(rust_abi)"
$(usev !debug '--release')
)
cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed"
}
src_test() {
multilib-minimal_src_test
}
multilib_src_test() {
local cargoargs=(
--prefix="${EPREFIX}"/usr
--libdir="${EPREFIX}/usr/$(get_libdir)"
--target="$(rust_abi)"
$(usex debug '--debug' '--release')
)
cargo ctest "${cargoargs[@]}" || die "cargo ctest failed"
}
src_install() {
multilib-minimal_src_install
}
multilib_src_install() {
local cargoargs=(
--library-type=cdylib
--prefix="${EPREFIX}"/usr
--libdir="${EPREFIX}/usr/$(get_libdir)"
--target="$(rust_abi)"
--destdir="${D}"
$(usex debug '--debug' '--release')
)
cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed"
}