commit:     e3162b774493a3006e1ce9b8501ecd040bc7ca2d
Author:     Craig Andrews <candrews <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 20 18:34:39 2023 +0000
Commit:     Craig Andrews <candrews <AT> gentoo <DOT> org>
CommitDate: Tue Jun 20 18:34:39 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3162b77

net-libs/quiche: Migrating ebuilds to "optimized" cargo.eclass API

Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>

 net-libs/quiche/quiche-0.17.2-r1.ebuild | 240 +++++++++++++++++++++++++
 net-libs/quiche/quiche-9999.ebuild      | 306 ++++++++++++++++----------------
 2 files changed, 393 insertions(+), 153 deletions(-)

diff --git a/net-libs/quiche/quiche-0.17.2-r1.ebuild 
b/net-libs/quiche/quiche-0.17.2-r1.ebuild
new file mode 100644
index 000000000000..5e7712e1be7a
--- /dev/null
+++ b/net-libs/quiche/quiche-0.17.2-r1.ebuild
@@ -0,0 +1,240 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+${PN}@${PV}
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]+wasi-snapshot-preview1
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
+winapi@x86_64-pc-windows-gnu-0.4.0
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
+"
+
+inherit cargo cmake flag-o-matic rust-toolchain multilib-minimal
+
+DESCRIPTION="Implementation of the QUIC transport protocol and HTTP/3"
+HOMEPAGE="https://github.com/cloudflare/quiche";
+
+if [[ ${PV} == *9999 ]] ; then
+       EGIT_REPO_URI="https://github.com/cloudflare/${PN}.git";
+       inherit git-r3
+       CMAKE_USE_DIR="${S}/quiche/deps/boringssl"
+else
+       SRC_URI="${CARGO_CRATE_URIS}"
+       KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+       S="${WORKDIR}/${P//_/-}"
+       CMAKE_USE_DIR="${S}/deps/boringssl"
+fi
+
+LICENSE="|| ( Apache-2.0 Boost-1.0 )
+       || ( Apache-2.0 MIT )
+       || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT )
+       BSD-2
+       BSD
+       ISC
+       MIT
+       || ( Unlicense MIT )
+       openssl"
+SLOT="0/0"
+IUSE=""
+DOCS=( COPYING README.md )
+
+BDEPEND="
+       >=virtual/rust-1.66.0[${MULTILIB_USEDEP}]
+       dev-util/cmake
+"
+DEPEND=""
+RDEPEND=""
+
+BUILD_DIR="${WORKDIR}/${P}"
+
+src_unpack() {
+       if [[ "${PV}" == *9999* ]]; then
+               git-r3_src_unpack
+               cargo_live_src_unpack
+       else
+               cargo_src_unpack
+               tar -xf "${DISTDIR}/${P//_/-}.crate" -C "${WORKDIR}" || die
+       fi
+}
+
+src_prepare() {
+       cmake_src_prepare
+       multilib_copy_sources
+}
+
+multilib_src_configure() {
+       append-flags "-fPIC"
+       local mycmakeargs=(
+               -DOPENSSL_NO_ASM=ON
+               -DBUILD_SHARED_LIBS=OFF
+       )
+       BUILD_DIR="${BUILD_DIR}/deps/boringssl/build" cmake_src_configure
+}
+
+multilib_src_compile() {
+       BUILD_DIR="${BUILD_DIR}/deps/boringssl/build" cmake_src_compile bssl
+       QUICHE_BSSL_PATH="${BUILD_DIR}/deps/boringssl" cargo_src_compile 
--features "ffi pkg-config-meta" --target="$(rust_abi)"
+}
+
+multilib_src_test() {
+       QUICHE_BSSL_PATH="${BUILD_DIR}/deps/boringssl" cargo_src_test  
--target="$(rust_abi)"
+}
+
+multilib_src_install() {
+       sed -i -e "s:libdir=.\+:libdir=${EPREFIX}/usr/$(get_libdir):" -e 
"s:includedir=.\+:includedir=${EPREFIX}/usr/include:" 
target/$(rust_abi)/release/quiche.pc || die
+       insinto "/usr/$(get_libdir)/pkgconfig"
+       doins target/$(rust_abi)/release/quiche.pc
+       doheader -r include/*
+       dolib.so "target/$(rust_abi)/release/libquiche.so"
+       QA_FLAGS_IGNORED+=" usr/$(get_libdir)/libquiche.so" # rust libraries 
don't use LDFLAGS
+       QA_SONAME+=" usr/$(get_libdir)/libquiche.so" # 
https://github.com/cloudflare/quiche/issues/165
+}

diff --git a/net-libs/quiche/quiche-9999.ebuild 
b/net-libs/quiche/quiche-9999.ebuild
index 84965a5e45d5..5e7712e1be7a 100644
--- a/net-libs/quiche/quiche-9999.ebuild
+++ b/net-libs/quiche/quiche-9999.ebuild
@@ -4,157 +4,158 @@
 EAPI=8
 
 CRATES="
-anyhow-1.0.26
-ansi_term-0.11.0
-aho-corasick-0.7.18
-arrayvec-0.7.2
-atty-0.2.14
-autocfg-1.1.0
-backtrace-0.3.37
-backtrace-sys-0.1.31
-bindgen-0.60.1
-bitflags-1.3.2
-boring-2.1.0
-boring-sys-2.1.0
-bstr-0.2.12
-bumpalo-3.12.2
-byteorder-1.3.4
-cast-0.2.3
-cc-1.0.79
-cexpr-0.6.0
-cfg-if-0.1.10
-cfg-if-1.0.0
-clang-sys-1.6.1
-clap-2.33.3
-cmake-0.1.50
-criterion-0.3.1
-criterion-plot-0.4.1
-crossbeam-deque-0.7.3
-crossbeam-epoch-0.8.2
-crossbeam-queue-0.2.1
-crossbeam-utils-0.7.2
-csv-1.1.3
-csv-core-0.1.10
-either-1.5.3
-darling-0.13.4
-darling_core-0.13.4
-darling_macro-0.13.4
-data-encoding-2.3.3
-env_logger-0.8.4
-fnv-1.0.7
-foreign-types-0.5.0
-foreign-types-macros-0.2.3
-foreign-types-shared-0.3.1
-fuchsia-zircon-0.3.3
-fuchsia-zircon-sys-0.3.3
-glob-0.3.1
-hashbrown-0.12.3
-hermit-abi-0.1.19
-humantime-2.1.0
-ident_case-1.0.1
-idna-0.1.5
-iovec-0.1.4
-itertools-0.8.2
-itoa-1.0.6
-js-sys-0.3.62
-kernel32-sys-0.2.2
-lazycell-1.3.0
-lazy_static-1.4.0
-libc-0.2.144
-libloading-0.7.4
-libm-0.2.6
-log-0.4.17
-matches-0.1.10
-maybe-uninit-2.0.0
-memchr-2.5.0
-memoffset-0.5.3
-minimal-lexical-0.2.1
-mio-0.8.6
-miow-0.4.0
-net2-0.2.37
-nom-7.1.3
-num-traits-0.2.15
-num_cpus-1.12.0
-octets-0.2.0
-peeking_take_while-0.1.2
-indexmap-1.9.3
-once_cell-1.17.1
-oorandom-11.1.0
-percent-encoding-1.0.1
-plotters-0.2.12
-proc-macro2-1.0.56
-qlog-0.9.0
-quote-1.0.27
-rayon-1.3.0
-rayon-core-1.7.0
-regex-1.8.1
-regex-automata-0.2.0
-regex-syntax-0.7.1
-ring-0.16.20
-rustc_version-0.2.3
-rustc-hash-1.1.0
-rustversion-1.0.6
-rust_decimal-1.29.1
-ryu-1.0.13
-same-file-1.0.6
-scopeguard-1.1.0
-sfv-0.9.3
-semver-0.9.0
-semver-parser-0.7.0
-serde-1.0.162
-serde_derive-1.0.162
-serde_json-1.0.96
-serde_with-1.14.0
-serde_with_macros-1.5.2
-shlex-1.1.0
-slab-0.4.8
-smallvec-1.10.0
-spin-0.5.2
-strsim-0.8.0
-strsim-0.10.0
-syn-1.0.109
-syn-2.0.15
-termcolor-1.1.2
-textwrap-0.11.0
-tinytemplate-1.0.3
-tinyvec-1.6.0
-tinyvec_macros-0.1.1
-unicode-bidi-0.3.13
-unicode-ident-1.0.8
-unicode-normalization-0.1.22
-unicode-width-0.1.10
-unicode-xid-0.2.4
-unicode-xid-0.2.3
-untrusted-0.7.1
-url-1.7.2
-vec_map-0.8.2
-version_check-0.9.4
-walkdir-2.3.1
-wasm-bindgen-0.2.85
-wasm-bindgen-backend-0.2.85
-wasm-bindgen-macro-0.2.85
-wasm-bindgen-macro-support-0.2.85
-wasm-bindgen-shared-0.2.85
-wasm-bindgen-webidl-0.2.75
-wasi-0.11.0+wasi-snapshot-preview1
-web-sys-0.3.62
-which-3.1.1
-winapi-0.2.8
-winapi-0.3.9
-winapi-build-0.1.1
-winapi-i686-pc-windows-gnu-0.4.0
-winapi-util-0.1.5
-winapi-x86_64-pc-windows-gnu-0.4.0
-windows_aarch64_gnullvm-0.42.2
-windows_aarch64_msvc-0.42.2
-windows_i686_gnu-0.42.2
-windows_i686_msvc-0.42.2
-windows_x86_64_gnu-0.42.2
-windows_x86_64_gnullvm-0.42.2
-windows_x86_64_msvc-0.42.2
-windows-sys-0.45.0
-windows-targets-0.42.2
-ws2_32-sys-0.2.1
+${PN}@${PV}
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]+wasi-snapshot-preview1
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
+winapi@x86_64-pc-windows-gnu-0.4.0
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
 "
 
 inherit cargo cmake flag-o-matic rust-toolchain multilib-minimal
@@ -167,8 +168,7 @@ if [[ ${PV} == *9999 ]] ; then
        inherit git-r3
        CMAKE_USE_DIR="${S}/quiche/deps/boringssl"
 else
-       CRATES+=" ${P//_/-}"
-       SRC_URI="$(cargo_crate_uris ${CRATES})"
+       SRC_URI="${CARGO_CRATE_URIS}"
        KEYWORDS="~amd64 ~arm ~arm64 ~x86"
        S="${WORKDIR}/${P//_/-}"
        CMAKE_USE_DIR="${S}/deps/boringssl"

Reply via email to