diff options
Diffstat (limited to 'net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild')
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild b/net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild new file mode 100644 index 000000000000..18f86b56864e --- /dev/null +++ b/net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild @@ -0,0 +1,120 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + autocfg@1.1.0 + base64@0.13.1 + bumpalo@3.12.0 + cc@1.0.79 + cfg-if@1.0.0 + hashbrown@0.12.3 + indexmap@1.9.3 + js-sys@0.3.61 + libc@0.2.140 + log@0.4.17 + memchr@2.5.0 + num_enum@0.5.11 + num_enum_derive@0.5.11 + once_cell@1.17.1 + proc-macro-crate@1.3.1 + proc-macro2@1.0.55 + quote@1.0.26 + ring@0.16.20 + rustls@0.21.0 + rustls-pemfile@0.2.1 + rustls-webpki@0.100.1 + rustversion@1.0.12 + sct@0.7.0 + spin@0.5.2 + syn@1.0.109 + toml_datetime@0.6.1 + toml_edit@0.19.8 + unicode-ident@1.0.8 + untrusted@0.7.1 + wasm-bindgen@0.2.84 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-shared@0.2.84 + web-sys@0.3.61 + webpki@0.22.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winnow@0.4.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}" + +# From cargo-ebuild (note that webpki is also just ISC) +LICENSE="|| ( MIT Apache-2.0 ) BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016" +# Dependent crate licenses +LICENSE+=" ISC MIT Unicode-DFS-2016" +# For Ring (see its LICENSE) +LICENSE+=" ISC openssl SSLeay MIT" +SLOT="0/${PV}" +KEYWORDS="~amd64" + +BDEPEND="dev-util/cargo-c" + +QA_FLAGS_IGNORED="usr/lib.*/librustls.*" + +PATCHES=( + "${FILESDIR}"/${PN}@0.10.0-cargo-c.patch +) + +src_prepare() { + default + + multilib_copy_sources +} + +src_configure() { + # bug #927231 + filter-lto + + multilib-minimal_src_configure +} + +multilib_src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --target="$(rust_abi)" + $(usev !debug '--release') + ) + + cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed" +} + +multilib_src_test() { + local cargoargs=( + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --target="$(rust_abi)" + $(usex debug '--debug' '--release') + ) + + cargo ctest "${cargoargs[@]}" || die "cargo ctest failed" +} + +multilib_src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --target="$(rust_abi)" + --destdir="${ED}" + $(usex debug '--debug' '--release') + ) + + cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed" +} |