# Copyright 2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 CRATES=" addr2line-0.12.2 adler32-1.1.0 aes-0.3.2 aes-soft-0.3.3 aesni-0.6.0 aho-corasick-0.7.13 ansi_term-0.11.0 async-compression-0.3.5 atty-0.2.14 autocfg-0.1.7 autocfg-1.0.0 backtrace-0.3.49 base64-0.11.0 base64-0.12.3 bitfield-0.13.2 bitflags-1.2.1 block-buffer-0.7.3 block-cipher-trait-0.6.2 block-modes-0.3.3 block-padding-0.1.5 blowfish-0.4.0 buf_redux-0.8.4 bumpalo-3.4.0 byte-tools-0.3.1 byteorder-1.3.4 bytes-0.5.5 cast5-0.6.0 cc-1.0.55 cfb-mode-0.3.2 cfg-if-0.1.10 chrono-0.4.11 circular-0.3.0 clap-2.33.1 clear_on_drop-0.2.4 core-foundation-0.7.1 core-foundation-sys-0.7.1 crc24-0.1.6 crc32fast-1.2.0 curl-0.4.30 curl-sys-0.4.32+curl-7.70.0 curve25519-dalek-2.1.0 darling-0.10.2 darling_core-0.10.2 darling_macro-0.10.2 derive_builder-0.9.0 derive_builder_core-0.9.0 des-0.3.0 digest-0.8.1 dtoa-0.4.6 ed25519-dalek-1.0.0-pre.3 effective-limits-0.5.1 encoding_rs-0.8.23 env_proxy-0.4.1 error-chain-0.12.2 failure-0.1.8 failure_derive-0.1.8 fake-simd-0.1.2 filetime-0.2.10 flate2-1.0.14 fnv-1.0.7 foreign-types-0.3.2 foreign-types-shared-0.1.1 fuchsia-zircon-0.3.3 fuchsia-zircon-sys-0.3.3 futures-channel-0.3.5 futures-core-0.3.5 futures-io-0.3.5 futures-sink-0.3.5 futures-task-0.3.5 futures-util-0.3.5 generator-0.6.21 generic-array-0.12.3 getrandom-0.1.14 gimli-0.21.0 git-testament-0.1.9 git-testament-derive-0.1.10 h2-0.2.5 hermit-abi-0.1.14 hex-0.4.2 http-0.2.1 http-body-0.3.1 httparse-1.3.4 hyper-0.13.6 hyper-tls-0.4.1 ident_case-1.0.1 idna-0.2.0 indexmap-1.4.0 iovec-0.1.4 itoa-0.4.6 js-sys-0.3.40 keccak-0.1.0 kernel32-sys-0.2.2 lazy_static-1.4.0 libc-0.2.71 libm-0.2.1 libz-sys-1.0.25 log-0.4.8 loom-0.3.4 lzma-sys-0.1.16 matches-0.1.8 md-5-0.8.0 memchr-2.3.3 mime-0.3.16 mime_guess-2.0.3 miniz_oxide-0.3.7 mio-0.6.22 miow-0.2.1 native-tls-0.2.4 net2-0.2.34 nom-4.2.3 num-bigint-dig-0.6.0 num-derive-0.3.0 num-integer-0.1.43 num-iter-0.1.41 num-traits-0.2.12 num_cpus-1.13.0 object-0.20.0 once_cell-1.4.0 opaque-debug-0.2.3 opener-0.4.1 openssl-0.10.30 openssl-probe-0.1.2 openssl-sys-0.9.58 openssl-src-111.10.0+1.1.1g percent-encoding-2.1.0 pgp-0.5.2 pin-project-0.4.22 pin-project-internal-0.4.22 pin-project-lite-0.1.7 pin-utils-0.1.0 pkg-config-0.3.17 ppv-lite86-0.2.8 proc-macro2-1.0.18 pulldown-cmark-0.7.1 quote-1.0.7 rand-0.7.3 rand_chacha-0.2.2 rand_core-0.5.1 rand_hc-0.2.0 redox_syscall-0.1.56 regex-1.3.9 regex-syntax-0.6.18 remove_dir_all-0.5.3 reqwest-0.10.6 retry-1.0.0 ripemd160-0.8.0 rs_tracing-1.0.1 rsa-0.2.0 rustc-demangle-0.1.16 rustc_version-0.2.3 ryu-1.0.5 safemem-0.3.3 same-file-1.0.6 schannel-0.1.19 scoped-tls-0.1.2 scopeguard-1.1.0 security-framework-0.4.4 security-framework-sys-0.4.3 semver-0.9.0 semver-parser-0.7.0 serde-1.0.114 serde_derive-1.0.114 serde_json-1.0.55 serde_urlencoded-0.6.1 sha-1-0.8.2 sha2-0.8.2 sha3-0.8.2 slab-0.4.2 smallvec-1.4.0 socket2-0.3.12 spin-0.5.2 stream-cipher-0.3.2 strsim-0.10.0 strsim-0.8.0 strsim-0.9.3 subtle-2.2.3 syn-1.0.33 synstructure-0.12.4 sys-info-0.6.1 tar-0.4.29 tempfile-3.1.0 term-0.5.1 textwrap-0.11.0 thiserror-1.0.20 thiserror-impl-1.0.20 thread_local-1.0.1 threadpool-1.8.1 time-0.1.43 tinyvec-0.3.3 tokio-0.2.21 tokio-tls-0.3.1 tokio-util-0.3.1 toml-0.5.6 tower-service-0.3.0 try-lock-0.2.2 try_from-0.3.2 twofish-0.2.0 typenum-1.12.0 unicase-2.6.0 unicode-bidi-0.3.4 unicode-normalization-0.1.13 unicode-width-0.1.7 unicode-xid-0.2.1 url-2.1.1 vcpkg-0.2.10 vec_map-0.8.2 version_check-0.1.5 version_check-0.9.2 wait-timeout-0.2.0 walkdir-2.3.1 want-0.3.0 wasi-0.9.0+wasi-snapshot-preview1 wasm-bindgen-0.2.63 wasm-bindgen-backend-0.2.63 wasm-bindgen-futures-0.4.13 wasm-bindgen-macro-0.2.63 wasm-bindgen-macro-support-0.2.63 wasm-bindgen-shared-0.2.63 web-sys-0.3.40 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 winreg-0.6.2 winreg-0.7.0 ws2_32-sys-0.2.1 x25519-dalek-0.6.0 xattr-0.2.2 xz2-0.1.6 zeroize-1.1.0 zeroize_derive-1.0.0 " inherit bash-completion-r1 cargo prefix HOME_CRATE_COMMIT="a243ee2fbee6022c57d56f5aa79aefe194eabe53" DESCRIPTION="Rust toolchain installer" HOMEPAGE="https://rust-lang.github.io/rustup/" SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz https://github.com/rbtcollins/home/archive/${HOME_CRATE_COMMIT}.tar.gz -> ${P}_home_crate.tar.gz $(cargo_crate_uris ${CRATES})" LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 MIT Unlicense ZLIB" SLOT="0" KEYWORDS="~amd64 ~arm64 ~ppc64" IUSE="" # requires old libressl-2.5, so openssl only for now. DEPEND=" app-arch/xz-utils net-misc/curl:=[http2,ssl] dev-libs/openssl:0= " RDEPEND="${DEPEND}" BDEPEND="virtual/rust" QA_FLAGS_IGNORED="usr/bin/.*" # uses network RESTRICT="test" src_prepare() { default # use portage-downloaded git checkout tarball sed -i "/^home =/s:.*:home = { path = \"../home-${HOME_CRATE_COMMIT}\" }:" Cargo.toml || die } src_configure() { local myfeatures=( no-self-update ) cargo_src_configure } src_compile() { export OPENSSL_NO_VENDOR=true cargo_src_compile } src_install() { cargo_src_install einstalldocs exeinto /usr/share/rustup newexe "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" symlink_rustup ln -s "${ED}/usr/bin/rustup-init" rustup || die ./rustup completions bash rustup > "${T}/rustup" || die ./rustup completions zsh rustup > "${T}/_rustup" || die dobashcomp "${T}/rustup" insinto /usr/share/zsh/site-functions doins "${T}/_rustup" } pkg_postinst() { einfo "No rustup toolchains installed by default" einfo "system rust toolchain can be added to rustup by running" einfo "helper script installed to ${EPREFIX}/usr/share/rustup/symlink_rustup" einfo "it will create proper symlinks in user home directory" einfo "and rustup updates will be managed by portage" einfo "please delete current rustup installation (if any) before running the script" }