diff options
Diffstat (limited to 'net-libs/rustls-ffi')
-rw-r--r-- | net-libs/rustls-ffi/Manifest | 3 | ||||
-rw-r--r-- | net-libs/rustls-ffi/metadata.xml | 4 | ||||
-rw-r--r-- | net-libs/rustls-ffi/rustls-ffi-9999.ebuild | 111 |
3 files changed, 117 insertions, 1 deletions
diff --git a/net-libs/rustls-ffi/Manifest b/net-libs/rustls-ffi/Manifest index 174a4e8e04d1..a3061059d89f 100644 --- a/net-libs/rustls-ffi/Manifest +++ b/net-libs/rustls-ffi/Manifest @@ -290,4 +290,5 @@ EBUILD rustls-ffi-0.13.0-r1.ebuild 2378 BLAKE2B 27d00f20abe1487ed1dac7eac2038512 EBUILD rustls-ffi-0.14.0.ebuild 3970 BLAKE2B 4b51db1ada0c091c4cc7fa21f92709effe093ad896608c8b5ab5f5c79986ff675de86a5b7605ca1dfeeff2f24b3f4ea4cd3e7de90d2e3863f47f01378f2323aa SHA512 cdeb0bbc386a0d7a36a26efa99aa8de5789fb29aa3612298e56efb1e4d34b78999f618878cc113e9e63106f90b4db3d769382ba85b890e3a2161e7268d0bc2e8 EBUILD rustls-ffi-0.15.0.ebuild 4319 BLAKE2B 2f767b3aa0c21b14f909a2054155a5050856905c42822f4208d692c753c226c66eacfe85261d710c9acba941627a698a663d04a364419618b846c83da43f692e SHA512 a5322a4e8881a3d11794df474e0b5d750dcb9f12a231c2eabb18295c62ad9dbedba64fd4916e1c4eb5c5d54dec86da80c01fd6aad2d5b45f1b4adc323586078f EBUILD rustls-ffi-0.9.1-r2.ebuild 2904 BLAKE2B 36117dad789b606668b86407bc1b61331eb908b51107ff38266c5537bf095491d47b4f7d41e003b957048f9585c8352cb9eba2d63f89ffbe68179ca45bb16ac6 SHA512 07185bd637b4565bddf857ed433d9370e2a40e12ae045cef7665921706faa7304801e134c1367420c6e8114a033717e8f30196f32ee962834e92b0c01e9b0c61 -MISC metadata.xml 322 BLAKE2B 8c95cd2d631dfe96e34412bbc1c12bce2f13f631840642f2bd52384b554b0c1eeb03e2b959921ff2cf0f15f9cdb2ba37acc016549f84c47ca6e7ad857cf3e7df SHA512 08c35857ba4e7e85d619e94b5e6f0a3203faced5f83fb7bdb63d8e25c793bfb8af1b5e1f252613fa8e60e45e3e1a5e092b64f96b8ac2156c9f336bab7a4d6ae1 +EBUILD rustls-ffi-9999.ebuild 2430 BLAKE2B 3fcc7e25faa7eb0b8b776807790b792fa305d3ec2636ff1460cf3b5cb92df39365dbfeb6afecf37349de3f565d9f7ea119964067a60d0fe523b027464a3d6470 SHA512 b8f42eda99712e9a5c9e75dd1551fccdc69f06a423b326c28223a4d30abac17fec0c352898994007cdfb3c18812f5e514fd9be4485efe1568eeeea912973a53c +MISC metadata.xml 427 BLAKE2B 671506f3d77888860de4f7608d36be0d001d4b41fcaa00928a727482d9544a27404be225fe291de16ddf4805c586bfb7d63ae062e95b006beb8781e4f07bed6e SHA512 0a3c31df556331c3395dc9f8cb9c49cae3159bac9f011067bd2159c7be9dc68cf338bef66a4154e0ea5c983238d59edccedb697031249715bf0cedcd89c0ae8c diff --git a/net-libs/rustls-ffi/metadata.xml b/net-libs/rustls-ffi/metadata.xml index 4cdfc3df6e6d..0ea4b30edcaf 100644 --- a/net-libs/rustls-ffi/metadata.xml +++ b/net-libs/rustls-ffi/metadata.xml @@ -5,6 +5,10 @@ <email>sam@gentoo.org</email> <name>Sam James</name> </maintainer> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + </maintainer> <upstream> <remote-id type="github">rustls/rustls-ffi</remote-id> </upstream> diff --git a/net-libs/rustls-ffi/rustls-ffi-9999.ebuild b/net-libs/rustls-ffi/rustls-ffi-9999.ebuild new file mode 100644 index 000000000000..0f508cd84a40 --- /dev/null +++ b/net-libs/rustls-ffi/rustls-ffi-9999.ebuild @@ -0,0 +1,111 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +#CRATES="" + +RUST_MULTILIB=1 + +inherit cargo flag-o-matic multilib-minimal rust-toolchain + +DESCRIPTION="C-to-rustls bindings" +HOMEPAGE="https://github.com/rustls/rustls-ffi" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rustls/rustls-ffi.git" +else + SRC_URI="https://github.com/rustls/rustls-ffi/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + SRC_URI+=" ${CARGO_CRATE_URIS}" + KEYWORDS="~amd64" +fi + +# Strictly speaking the core package is "|| ( Apache-2.0 MIT ISC )" +# but dependencies explicitly require at least one of each. +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-3.0 MPL-2.0" +# For Ring (see its LICENSE) +LICENSE+=" ISC openssl SSLeay MIT" +SLOT="0/${PV%.*}" + +BDEPEND="dev-util/cargo-c" + +QA_FLAGS_IGNORED="usr/lib.*/librustls.*" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + + if ! [[ ${PV} == 9999 ]]; then # We already fetched all the crates... + # Currently only used for development, we can skip this + # and significantly reduce the number of required crates. + # Produces a docgen binary that we may want to use in the future. Just API docs? + rm -r tools || die + sed '/ "tools"/d' -i Cargo.toml || die + cargo_update_crates + fi + + 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" +} |