# Copyright 2017-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Only bother defining this if the github tarball doesn't work! # Otherwise just comment it out and things should Just Work (TM). #MY_P="${P}+cargo-{CARGO_V}" CRATES=" adler@1.0.2 aho-corasick@0.7.19 anyhow@1.0.66 arrayvec@0.5.2 atty@0.2.14 autocfg@1.1.0 bitflags@1.3.2 bitmaps@2.1.0 bstr@0.2.17 bytes@1.2.1 bytesize@1.1.0 cargo@0.66.0 cargo-platform@0.1.2 cargo-util@0.2.2 cbindgen@0.24.3 cc@1.0.76 cfg-if@1.0.0 clap@3.2.23 clap_derive@3.2.18 clap_lex@0.2.4 combine@4.6.6 commoncrypto@0.2.0 commoncrypto-sys@0.2.0 core-foundation@0.9.3 core-foundation-sys@0.8.3 crates-io@0.34.0 crc32fast@1.3.2 crossbeam-utils@0.8.12 crypto-hash@0.3.4 curl@0.4.44 curl-sys@0.4.59+curl-7.86.0 either@1.8.0 env_logger@0.9.3 fastrand@1.8.0 filetime@0.2.18 flate2@1.0.24 fnv@1.0.7 foreign-types@0.3.2 foreign-types-shared@0.1.1 form_urlencoded@1.1.0 fwdansi@1.1.0 git2@0.15.0 git2-curl@0.16.0 glob@0.3.0 globset@0.4.9 hashbrown@0.12.3 heck@0.4.0 hermit-abi@0.1.19 hex@0.3.2 hex@0.4.3 home@0.5.4 humantime@2.1.0 idna@0.3.0 ignore@0.4.18 im-rc@15.1.0 indexmap@1.9.2 instant@0.1.12 itertools@0.10.5 itoa@1.0.4 jobserver@0.1.25 kstring@2.0.0 lazycell@1.3.0 lazy_static@1.4.0 libc@0.2.137 libgit2-sys@0.14.0+1.5.0 libnghttp2-sys@0.1.7+1.45.0 libssh2-sys@0.2.23 libz-sys@1.1.8 log@0.4.17 memchr@2.5.0 miniz_oxide@0.5.4 miow@0.3.7 once_cell@1.16.0 opener@0.5.0 openssl@0.10.42 openssl-macros@0.1.0 openssl-probe@0.1.5 openssl-src@111.24.0+1.1.1s openssl-sys@0.9.77 os_info@3.5.1 os_str_bytes@6.4.1 pathdiff@0.2.1 percent-encoding@2.2.0 pkg-config@0.3.26 proc-macro2@1.0.47 proc-macro-error@1.0.4 proc-macro-error-attr@1.0.4 quote@1.0.21 rand_core@0.6.4 rand_xoshiro@0.6.0 redox_syscall@0.2.16 regex@1.7.0 regex-automata@0.1.10 regex-syntax@0.6.28 remove_dir_all@0.5.3 rustc-workspace-hack@1.0.0 rustfix@0.6.1 ryu@1.0.11 same-file@1.0.6 schannel@0.1.20 semver@1.0.14 serde@1.0.147 serde_derive@1.0.147 serde_ignored@0.1.5 serde_json@1.0.87 shell-escape@0.1.5 sized-chunks@0.6.5 socket2@0.4.7 static_assertions@1.1.0 strip-ansi-escapes@0.1.1 strsim@0.10.0 syn@1.0.103 tar@0.4.38 tempfile@3.3.0 termcolor@1.1.3 textwrap@0.16.0 thread_local@1.1.4 tinyvec@1.6.0 tinyvec_macros@0.1.0 toml@0.5.9 toml_edit@0.14.4 typenum@1.15.0 unicode-bidi@0.3.8 unicode-ident@1.0.5 unicode-normalization@0.1.22 unicode-width@0.1.10 unicode-xid@0.2.4 url@2.3.1 utf8parse@0.2.0 vcpkg@0.2.15 version_check@0.9.4 vte@0.10.1 vte_generate_state_changes@0.1.1 walkdir@2.3.2 winapi@0.3.9 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.0 windows_aarch64_msvc@0.36.1 windows_aarch64_msvc@0.42.0 windows_i686_gnu@0.36.1 windows_i686_gnu@0.42.0 windows_i686_msvc@0.36.1 windows_i686_msvc@0.42.0 windows-sys@0.36.1 windows-sys@0.42.0 windows_x86_64_gnu@0.36.1 windows_x86_64_gnu@0.42.0 windows_x86_64_gnullvm@0.42.0 windows_x86_64_msvc@0.36.1 windows_x86_64_msvc@0.42.0 " inherit cargo DESCRIPTION="Helper program to build and install c-like libraries" HOMEPAGE="https://github.com/lu-zero/cargo-c" if [[ -z ${MY_P} ]] ; then SRC_URI="https://github.com/lu-zero/cargo-c/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" else S="${WORKDIR}/${MY_P}" fi SRC_URI+=" ${CARGO_CRATE_URIS}" LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT MPL-2.0 Unlicense ZLIB" SLOT="0" KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" RDEPEND="dev-libs/libgit2:= dev-libs/openssl:= net-libs/libssh2:= net-misc/curl[ssl] sys-libs/zlib" DEPEND="${RDEPEND}" QA_FLAGS_IGNORED="usr/bin/cargo-capi usr/bin/cargo-cbuild usr/bin/cargo-ctest usr/bin/cargo-cinstall" src_unpack() { cargo_src_unpack if [[ -n ${MY_P} ]] ; then tar -xf "${DISTDIR}"/"${MY_P}.crate" -C "${WORKDIR}" || die fi } src_prepare() { default pushd "${ECARGO_HOME}"/gentoo/openssl-sys-0.9.77 > /dev/null || die eapply "${FILESDIR}/${PN}-0.9.14-libressl-openssl-sys.patch" popd > /dev/null || die } src_configure() { # Some crates will auto-build and statically link C libraries(!) # Tracker bug #709568 export LIBSSH2_SYS_USE_PKG_CONFIG=1 export LIBGIT2_SYS_USE_PKG_CONFIG=1 export PKG_CONFIG_ALLOW_CROSS=1 }