| # Copyright 1999-2018 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=5 |
| |
| CARGO_SNAPSHOT_DATE="2016-09-01" |
| CRATES=" |
| aho-corasick-0.5.3 |
| aho-corasick-0.6.4 |
| atty-0.2.8 |
| backtrace-0.3.5 |
| backtrace-sys-0.1.16 |
| bitflags-0.9.1 |
| bitflags-1.0.1 |
| bufstream-0.1.3 |
| cc-1.0.9 |
| cfg-if-0.1.2 |
| cmake-0.1.30 |
| commoncrypto-0.2.0 |
| commoncrypto-sys-0.2.0 |
| core-foundation-0.5.1 |
| core-foundation-sys-0.5.1 |
| crates-io-0.15.0 |
| crossbeam-0.3.2 |
| crypto-hash-0.3.1 |
| curl-0.4.11 |
| curl-sys-0.4.1 |
| docopt-0.8.3 |
| dtoa-0.4.2 |
| env_logger-0.5.6 |
| failure-0.1.1 |
| failure_derive-0.1.1 |
| filetime-0.1.15 |
| flate2-1.0.1 |
| fnv-1.0.6 |
| foreign-types-0.3.2 |
| foreign-types-shared-0.1.1 |
| fs2-0.4.3 |
| fuchsia-zircon-0.3.3 |
| fuchsia-zircon-sys-0.3.3 |
| git2-0.6.11 |
| git2-curl-0.7.0 |
| glob-0.2.11 |
| globset-0.3.0 |
| hamcrest-0.1.1 |
| hex-0.3.1 |
| home-0.3.2 |
| humantime-1.1.1 |
| idna-0.1.4 |
| ignore-0.4.1 |
| itoa-0.4.1 |
| jobserver-0.1.11 |
| kernel32-sys-0.2.2 |
| lazy_static-1.0.0 |
| lazycell-0.6.0 |
| libc-0.2.40 |
| libgit2-sys-0.6.19 |
| libssh2-sys-0.2.6 |
| libz-sys-1.0.18 |
| log-0.3.9 |
| log-0.4.1 |
| matches-0.1.6 |
| memchr-0.1.11 |
| memchr-2.0.1 |
| miniz-sys-0.1.10 |
| miow-0.3.1 |
| num-0.1.42 |
| num-bigint-0.1.43 |
| num-complex-0.1.43 |
| num-integer-0.1.36 |
| num-iter-0.1.35 |
| num-rational-0.1.42 |
| num-traits-0.2.2 |
| num_cpus-1.8.0 |
| openssl-0.10.6 |
| openssl-probe-0.1.2 |
| openssl-sys-0.9.28 |
| percent-encoding-1.0.1 |
| pkg-config-0.3.9 |
| proc-macro2-0.3.6 |
| quick-error-1.2.1 |
| quote-0.3.15 |
| quote-0.5.1 |
| rand-0.4.2 |
| redox_syscall-0.1.37 |
| redox_termios-0.1.1 |
| regex-0.1.80 |
| regex-0.2.10 |
| regex-syntax-0.3.9 |
| regex-syntax-0.5.3 |
| remove_dir_all-0.5.0 |
| rustc-demangle-0.1.7 |
| rustc-serialize-0.3.24 |
| same-file-1.0.2 |
| schannel-0.1.11 |
| scoped-tls-0.1.1 |
| scopeguard-0.3.3 |
| semver-0.9.0 |
| semver-parser-0.7.0 |
| serde-1.0.37 |
| serde_derive-1.0.37 |
| serde_derive_internals-0.23.0 |
| serde_ignored-0.0.4 |
| serde_json-1.0.13 |
| shell-escape-0.1.4 |
| socket2-0.3.4 |
| strsim-0.6.0 |
| syn-0.11.11 |
| syn-0.13.1 |
| synom-0.11.3 |
| synstructure-0.6.1 |
| tar-0.4.14 |
| tempdir-0.3.7 |
| termcolor-0.3.6 |
| termion-1.5.1 |
| thread-id-2.0.0 |
| thread_local-0.2.7 |
| thread_local-0.3.5 |
| toml-0.4.6 |
| ucd-util-0.1.1 |
| unicode-bidi-0.3.4 |
| unicode-normalization-0.1.5 |
| unicode-xid-0.0.4 |
| unicode-xid-0.1.0 |
| unreachable-1.0.0 |
| url-1.7.0 |
| userenv-sys-0.2.0 |
| utf8-ranges-0.1.3 |
| utf8-ranges-1.0.0 |
| vcpkg-0.2.2 |
| void-1.0.2 |
| walkdir-2.1.4 |
| winapi-0.2.8 |
| winapi-0.3.4 |
| winapi-build-0.1.1 |
| winapi-i686-pc-windows-gnu-0.4.0 |
| winapi-x86_64-pc-windows-gnu-0.4.0 |
| wincolor-0.1.6" |
| |
| inherit cargo bash-completion-r1 versionator |
| |
| BOOTSTRAP_VERSION="0.$(($(get_version_component_range 2) - 1)).0" |
| |
| DESCRIPTION="The Rust's package manager" |
| HOMEPAGE="http://crates.io" |
| SRC_URI="https://github.com/rust-lang/cargo/archive/${PV}.tar.gz -> ${P}.tar.gz |
| $(cargo_crate_uris ${CRATES}) |
| x86? ( |
| https://static.rust-lang.org/dist/cargo-${BOOTSTRAP_VERSION}-i686-unknown-linux-gnu.tar.gz |
| ) |
| amd64? ( |
| https://static.rust-lang.org/dist/cargo-${BOOTSTRAP_VERSION}-x86_64-unknown-linux-gnu.tar.gz |
| ) |
| arm64? ( |
| https://static.rust-lang.org/dist/cargo-${BOOTSTRAP_VERSION}-aarch64-unknown-linux-gnu.tar.gz |
| )" |
| |
| RESTRICT="mirror" |
| LICENSE="|| ( MIT Apache-2.0 )" |
| SLOT="0" |
| KEYWORDS="*" |
| |
| IUSE="doc libressl" |
| |
| if [[ ${ARCH} = "amd64" ]]; then |
| TRIPLE="x86_64-unknown-linux-gnu" |
| elif [[ ${ARCH} = "x86" ]]; then |
| TRIPLE="i686-unknown-linux-gnu" |
| elif [[ ${ARCH} = "arm64" ]]; then |
| TRIPLE="aarch64-unknown-linux-gnu" |
| fi |
| |
| COMMON_DEPEND="sys-libs/zlib |
| !libressl? ( dev-libs/openssl:0= ) |
| libressl? ( dev-libs/libressl:0= ) |
| net-libs/libssh2 |
| net-libs/http-parser" |
| RDEPEND="${COMMON_DEPEND} |
| !dev-util/cargo-bin |
| net-misc/curl[ssl]" |
| DEPEND="${COMMON_DEPEND} |
| >=dev-lang/rust-1.19.0 |
| dev-util/cmake |
| sys-apps/coreutils |
| sys-apps/diffutils |
| sys-apps/findutils |
| sys-apps/sed" |
| |
| PATCHES=() |
| |
| src_configure() { |
| # Do nothing |
| echo "Configuring cargo..." |
| } |
| |
| src_compile() { |
| export CARGO_HOME="${ECARGO_HOME}" |
| local cargo="${WORKDIR}/cargo-${BOOTSTRAP_VERSION}-${TRIPLE}/cargo/bin/cargo" |
| ${cargo} build --release |
| |
| # Building HTML documentation |
| use doc && ${cargo} doc |
| } |
| |
| src_install() { |
| dobin target/release/cargo |
| |
| # Install HTML documentation |
| use doc && HTML_DOCS=("target/doc") |
| einstalldocs |
| |
| newbashcomp src/etc/cargo.bashcomp.sh cargo |
| insinto /usr/share/zsh/site-functions |
| doins src/etc/_cargo |
| doman src/etc/man/* |
| } |