From d83b20802b8b432ee79c666c772c60f07ae2424c Mon Sep 17 00:00:00 2001 From: Georgy Yakovlev Date: Fri, 23 Sep 2022 20:03:59 -0700 Subject: dev-util/rustup: revbump, add rust-analyzer, add unsymlink support Signed-off-by: Georgy Yakovlev --- dev-util/rustup/files/symlink_rustup.sh | 63 ++++- dev-util/rustup/rustup-1.25.1-r1.ebuild | 409 ++++++++++++++++++++++++++++++++ dev-util/rustup/rustup-1.25.1.ebuild | 409 -------------------------------- 3 files changed, 460 insertions(+), 421 deletions(-) create mode 100644 dev-util/rustup/rustup-1.25.1-r1.ebuild delete mode 100644 dev-util/rustup/rustup-1.25.1.ebuild diff --git a/dev-util/rustup/files/symlink_rustup.sh b/dev-util/rustup/files/symlink_rustup.sh index 743072b8f96c..8ab6608686fc 100644 --- a/dev-util/rustup/files/symlink_rustup.sh +++ b/dev-util/rustup/files/symlink_rustup.sh @@ -3,13 +3,13 @@ set -euo pipefail IFS=$'\n\t' -SYMLINK_RUSTUP_VERSION="0.0.3" - +SYMLINK_RUSTUP_VERSION="0.0.4" +binpath="@GENTOO_PORTAGE_EPREFIX@/usr/bin/rustup-init" : "${CARGO_HOME:=${HOME}/.cargo}" : "${RUSTUP_HOME:=${HOME}/.rustup}" -__err_exists="already exists, remove and re-run the script" +__err_exists="already exists, try using -u|--unsymlink option first" # dies with optional message die() { @@ -38,23 +38,43 @@ help() { echo " ${CARGO_HOME}" echo echo "Options:" - echo " -a, --apply Apply changes (required)" + echo " -s, --symlink Setup rustup symlinks in ${CARGO_HOME}/bin" echo " -C, --nocolor Disable colored output" echo " -d, --debug Debug mode (sets -x shell option)" echo " -V, --version Print version number" + echo " -u, --unsymlink Remove rustup symlinks from ${CARGO_HOME}/bin" echo " -q, --quiet Quiet mode" } # help() symlink_rustup() { - local binpath gentoo_rust tool tools=( - cargo{,-clippy,-fmt,-miri} - clippy-driver + local gentoo_rust tool + # rustup calls those proxies + # src/lib.rs TOOLS + local tools=( + rustc + rustdoc + cargo + rust-lldb + rust-gdb + rust-gdbgui rls - rust{c,doc,fmt,-gdb,-lldb,up} + cargo-clippy + clippy-driver + cargo-miri ) - binpath="@GENTOO_PORTAGE_EPREFIX@/usr/bin/rustup-init" + # src/lib.rs DUP_TOOLS + # those can be installed via cargo and not with rust itself + local dup_tools=( + rust-analyzer + rustfmt + cargo-fmt + ) + + # we need rustup symlink too, so add it to final list + tools+=( "${dup_tools[@]}" rustup ) + gentoo_rust="$(eselect --brief rust show 2>/dev/null)" mkdir -p "${CARGO_HOME}/bin" || die @@ -78,15 +98,32 @@ symlink_rustup() { good "rustup selfupdate is disabled, it will be updated by portage" } # symlink_rustup() +unsymlink_rustup() { + local symlinks + IFS= mapfile -d '' symlinks < <(find -L "${CARGO_HOME}/bin" \ + -samefile "${binpath}" -print0 ) + if [[ "${symlinks-}" ]]; then + rm -v "${symlinks[@]}" || die + else + die "already clean" + fi +} main(){ [[ "$EUID" -eq 0 ]] && die "Running as root is not supported" local me me="$(basename "${BASH_SOURCE[${#BASH_SOURCE[@]} - 1]}")" + + local symlink=no + local unsymlink=no + while [[ ${#} -gt 0 ]]; do case ${1} in - -a|--apply) - APPLY=true + -s|--symlink) + symlink=yes + ;; + -u|--unsymlink) + unsymlink=yes ;; -h|--help) help @@ -112,8 +149,10 @@ main(){ esac shift done - if [[ ${APPLY:-false} == true ]]; then + if [[ ${symlink} == yes ]]; then symlink_rustup + elif [[ ${unsymlink} == yes ]]; then + unsymlink_rustup else help fi diff --git a/dev-util/rustup/rustup-1.25.1-r1.ebuild b/dev-util/rustup/rustup-1.25.1-r1.ebuild new file mode 100644 index 000000000000..5f76d5206991 --- /dev/null +++ b/dev-util/rustup/rustup-1.25.1-r1.ebuild @@ -0,0 +1,409 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler-1.0.2 + aead-0.3.2 + aes-0.6.0 + aes-soft-0.6.4 + aesni-0.10.0 + aho-corasick-0.7.18 + ansi_term-0.12.1 + anyhow-1.0.57 + ascii-canvas-3.0.0 + async-compression-0.3.14 + atty-0.2.14 + autocfg-0.1.8 + autocfg-1.1.0 + base64-0.13.0 + bit-set-0.5.2 + bit-vec-0.6.3 + bitflags-1.3.2 + bitvec-0.20.4 + block-buffer-0.9.0 + block-buffer-0.10.2 + block-modes-0.7.0 + block-padding-0.2.1 + blowfish-0.7.0 + bstr-0.2.17 + buffered-reader-1.1.2 + bumpalo-3.10.0 + byteorder-1.4.3 + bytes-1.1.0 + cast5-0.9.0 + cc-1.0.73 + cfg-if-0.1.10 + cfg-if-1.0.0 + chrono-0.4.19 + cipher-0.2.5 + clap-2.34.0 + cmac-0.5.1 + const-oid-0.5.2 + core-foundation-0.9.3 + core-foundation-sys-0.8.3 + cpufeatures-0.2.2 + crc32fast-1.3.2 + crossbeam-channel-0.5.4 + crossbeam-deque-0.8.1 + crossbeam-epoch-0.9.8 + crossbeam-utils-0.8.8 + crunchy-0.2.2 + crypto-common-0.1.3 + crypto-mac-0.10.1 + crypto-mac-0.11.1 + ctr-0.6.0 + curl-0.4.43 + curl-sys-0.4.55+curl-7.83.1 + curve25519-dalek-3.2.1 + dbl-0.3.2 + der-0.3.5 + des-0.6.0 + diff-0.1.12 + digest-0.9.0 + digest-0.10.3 + dirs-next-2.0.0 + dirs-sys-next-0.1.2 + dyn-clone-1.0.5 + eax-0.3.0 + ecdsa-0.11.1 + ed25519-1.5.2 + ed25519-dalek-1.0.1 + effective-limits-0.5.4 + either-1.6.1 + elliptic-curve-0.9.12 + ena-0.14.0 + encoding_rs-0.8.31 + enum-map-2.3.0 + enum-map-derive-0.9.0 + env_proxy-0.4.1 + fastrand-1.7.0 + ff-0.9.0 + filetime-0.2.16 + fixedbitset-0.4.1 + flate2-1.0.24 + fnv-1.0.7 + foreign-types-0.3.2 + foreign-types-shared-0.1.1 + form_urlencoded-1.0.1 + funty-1.1.0 + futures-channel-0.3.21 + futures-core-0.3.21 + futures-io-0.3.21 + futures-sink-0.3.21 + futures-task-0.3.21 + futures-util-0.3.21 + generic-array-0.14.5 + getrandom-0.1.16 + getrandom-0.2.6 + git-testament-0.2.1 + git-testament-derive-0.1.13 + group-0.9.0 + h2-0.3.13 + hashbrown-0.11.2 + hermit-abi-0.1.19 + hmac-0.11.0 + http-0.2.7 + http-body-0.4.5 + httparse-1.7.1 + httpdate-1.0.2 + hyper-0.14.19 + hyper-rustls-0.23.0 + hyper-tls-0.5.0 + idea-0.3.0 + idna-0.2.3 + indexmap-1.8.2 + instant-0.1.12 + ipnet-2.5.0 + itertools-0.10.3 + itoa-1.0.2 + jobserver-0.1.24 + js-sys-0.3.57 + lalrpop-0.19.8 + lalrpop-util-0.19.8 + lazy_static-1.4.0 + libc-0.2.126 + libm-0.2.2 + libz-sys-1.1.8 + lock_api-0.4.7 + log-0.4.17 + lzma-sys-0.1.17 + matches-0.1.9 + md-5-0.9.1 + memchr-2.5.0 + memoffset-0.6.5 + memsec-0.6.2 + mime-0.3.16 + miniz_oxide-0.5.3 + mio-0.8.3 + native-tls-0.2.10 + new_debug_unreachable-1.0.4 + no-std-compat-0.4.1 + num-bigint-0.2.6 + num-bigint-dig-0.6.1 + num-integer-0.1.45 + num-iter-0.1.43 + num-traits-0.2.15 + num_cpus-1.13.1 + num_threads-0.1.6 + once_cell-1.12.0 + opaque-debug-0.3.0 + opener-0.5.0 + openssl-0.10.40 + openssl-macros-0.1.0 + openssl-probe-0.1.5 + openssl-src-111.20.0+1.1.1o + openssl-sys-0.9.74 + p256-0.8.1 + parking_lot-0.12.1 + parking_lot_core-0.9.3 + pem-0.8.3 + percent-encoding-2.1.0 + petgraph-0.6.2 + phf_shared-0.10.0 + pin-project-lite-0.2.9 + pin-utils-0.1.0 + pkcs8-0.6.1 + pkg-config-0.3.25 + ppv-lite86-0.2.16 + precomputed-hash-0.1.1 + proc-macro2-1.0.39 + pulldown-cmark-0.8.0 + quote-1.0.18 + radium-0.6.2 + rand-0.7.3 + rand-0.8.5 + rand_chacha-0.2.2 + rand_chacha-0.3.1 + rand_core-0.5.1 + rand_core-0.6.3 + rand_hc-0.2.0 + rayon-1.5.3 + rayon-core-1.9.3 + redox_syscall-0.2.13 + redox_users-0.4.3 + regex-1.5.6 + regex-automata-0.1.10 + regex-syntax-0.6.26 + remove_dir_all-0.5.3 + remove_dir_all-0.7.0 + reqwest-0.11.10 + retry-1.3.1 + ring-0.16.20 + ripemd160-0.9.1 + rs_tracing-1.0.1 + rsa-0.3.0 + rustls-0.20.6 + rustls-native-certs-0.6.2 + rustls-pemfile-0.3.0 + rustls-pemfile-1.0.0 + rustversion-1.0.6 + ryu-1.0.10 + same-file-1.0.6 + schannel-0.1.20 + scopeguard-1.1.0 + sct-0.7.0 + security-framework-2.6.1 + security-framework-sys-2.6.1 + semver-1.0.9 + sequoia-openpgp-1.9.0 + serde-1.0.137 + serde_derive-1.0.137 + serde_json-1.0.81 + serde_urlencoded-0.7.1 + sha-1-0.9.8 + sha1collisiondetection-0.2.5 + sha2-0.9.9 + sha2-0.10.2 + sharded-slab-0.1.4 + signature-1.3.2 + simple_asn1-0.4.1 + siphasher-0.3.10 + slab-0.4.6 + smallvec-1.8.0 + socket2-0.4.4 + spin-0.5.2 + spki-0.3.0 + string_cache-0.8.4 + strsim-0.8.0 + strsim-0.10.0 + subtle-2.4.1 + syn-1.0.96 + synstructure-0.12.6 + sys-info-0.9.1 + tap-1.0.1 + tar-0.4.38 + tempfile-3.3.0 + term-0.5.1 + term-0.7.0 + textwrap-0.11.0 + thiserror-1.0.31 + thiserror-impl-1.0.31 + threadpool-1.8.1 + time-0.1.43 + time-0.3.9 + time-macros-0.2.4 + tiny-keccak-2.0.2 + tinyvec-1.6.0 + tinyvec_macros-0.1.0 + tokio-1.19.0 + tokio-native-tls-0.3.0 + tokio-rustls-0.23.4 + tokio-socks-0.5.1 + tokio-util-0.6.10 + tokio-util-0.7.2 + toml-0.5.9 + tower-service-0.3.1 + tracing-0.1.34 + tracing-attributes-0.1.21 + tracing-core-0.1.26 + try-lock-0.2.3 + twofish-0.5.0 + typenum-1.15.0 + unicase-2.6.0 + unicode-bidi-0.3.8 + unicode-ident-1.0.0 + unicode-normalization-0.1.19 + unicode-width-0.1.9 + unicode-xid-0.2.3 + untrusted-0.7.1 + url-2.2.2 + vcpkg-0.2.15 + vec_map-0.8.2 + version_check-0.9.4 + wait-timeout-0.2.0 + walkdir-2.3.2 + want-0.3.0 + wasi-0.9.0+wasi-snapshot-preview1 + wasi-0.10.2+wasi-snapshot-preview1 + wasi-0.11.0+wasi-snapshot-preview1 + wasm-bindgen-0.2.80 + wasm-bindgen-backend-0.2.80 + wasm-bindgen-futures-0.4.30 + wasm-bindgen-macro-0.2.80 + wasm-bindgen-macro-support-0.2.80 + wasm-bindgen-shared-0.2.80 + web-sys-0.3.57 + webpki-0.22.0 + 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-sys-0.36.1 + windows_aarch64_msvc-0.36.1 + windows_i686_gnu-0.36.1 + windows_i686_msvc-0.36.1 + windows_x86_64_gnu-0.36.1 + windows_x86_64_msvc-0.36.1 + winreg-0.8.0 + winreg-0.10.1 + wyz-0.2.0 + x25519-dalek-1.2.0 + xattr-0.2.3 + xxhash-rust-0.8.5 + xz2-0.1.6 + zeroize-1.3.0 + zeroize_derive-1.3.2 + zstd-0.11.2+zstd.1.5.2 + zstd-safe-5.0.2+zstd.1.5.2 + zstd-sys-2.0.1+zstd.1.5.2 +" + +inherit bash-completion-r1 cargo prefix + +DESCRIPTION="Rust toolchain installer" +HOMEPAGE="https://rust-lang.github.io/rustup/" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" +else + HOME_COMMIT="a243ee2fbee6022c57d56f5aa79aefe194eabe53" + SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/rbtcollins/home/archive/${HOME_COMMIT}.tar.gz -> home-${HOME_COMMIT}.tar.gz + $(cargo_crate_uris ${CRATES})" + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 MIT Unlicense ZLIB" +SLOT="0" +IUSE="" + +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_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + # patch git dep to use pre-fetched tarball + local home_path="home = { path = '"${WORKDIR}/home-${HOME_COMMIT}"' }" + sed -i "s@^home =.*@${home_path}@" "${S}/Cargo.toml" || die + + default +} + +src_configure() { + # modeled after ci/run.bash upstream + # reqwest-rustls-tls requires ring crate, which is not very portable. + local myfeatures=( + no-self-update + curl-backend + reqwest-backend + reqwest-default-tls + ) + case ${ARCH} in + ppc*|mips*|riscv*|s390*) + ;; + *) myfeatures+=( reqwest-rustls-tls ) + ;; + esac + cargo_src_configure --no-default-features +} + +src_compile() { + export OPENSSL_NO_VENDOR=true + cargo_src_compile +} + +src_install() { + cargo_src_install + einstalldocs + newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo + + 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() { + elog "No rustup toolchains installed by default" + elog "eselect activated system rust toolchain can be added to rustup by running" + elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" + elog "it will create symlinks to system-installed rustup in home directory" + elog "and rustup updates will be managed by portage" + elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" + elog "before running rustup-init-gentoo" +} diff --git a/dev-util/rustup/rustup-1.25.1.ebuild b/dev-util/rustup/rustup-1.25.1.ebuild deleted file mode 100644 index 5f76d5206991..000000000000 --- a/dev-util/rustup/rustup-1.25.1.ebuild +++ /dev/null @@ -1,409 +0,0 @@ -# Copyright 2020-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler-1.0.2 - aead-0.3.2 - aes-0.6.0 - aes-soft-0.6.4 - aesni-0.10.0 - aho-corasick-0.7.18 - ansi_term-0.12.1 - anyhow-1.0.57 - ascii-canvas-3.0.0 - async-compression-0.3.14 - atty-0.2.14 - autocfg-0.1.8 - autocfg-1.1.0 - base64-0.13.0 - bit-set-0.5.2 - bit-vec-0.6.3 - bitflags-1.3.2 - bitvec-0.20.4 - block-buffer-0.9.0 - block-buffer-0.10.2 - block-modes-0.7.0 - block-padding-0.2.1 - blowfish-0.7.0 - bstr-0.2.17 - buffered-reader-1.1.2 - bumpalo-3.10.0 - byteorder-1.4.3 - bytes-1.1.0 - cast5-0.9.0 - cc-1.0.73 - cfg-if-0.1.10 - cfg-if-1.0.0 - chrono-0.4.19 - cipher-0.2.5 - clap-2.34.0 - cmac-0.5.1 - const-oid-0.5.2 - core-foundation-0.9.3 - core-foundation-sys-0.8.3 - cpufeatures-0.2.2 - crc32fast-1.3.2 - crossbeam-channel-0.5.4 - crossbeam-deque-0.8.1 - crossbeam-epoch-0.9.8 - crossbeam-utils-0.8.8 - crunchy-0.2.2 - crypto-common-0.1.3 - crypto-mac-0.10.1 - crypto-mac-0.11.1 - ctr-0.6.0 - curl-0.4.43 - curl-sys-0.4.55+curl-7.83.1 - curve25519-dalek-3.2.1 - dbl-0.3.2 - der-0.3.5 - des-0.6.0 - diff-0.1.12 - digest-0.9.0 - digest-0.10.3 - dirs-next-2.0.0 - dirs-sys-next-0.1.2 - dyn-clone-1.0.5 - eax-0.3.0 - ecdsa-0.11.1 - ed25519-1.5.2 - ed25519-dalek-1.0.1 - effective-limits-0.5.4 - either-1.6.1 - elliptic-curve-0.9.12 - ena-0.14.0 - encoding_rs-0.8.31 - enum-map-2.3.0 - enum-map-derive-0.9.0 - env_proxy-0.4.1 - fastrand-1.7.0 - ff-0.9.0 - filetime-0.2.16 - fixedbitset-0.4.1 - flate2-1.0.24 - fnv-1.0.7 - foreign-types-0.3.2 - foreign-types-shared-0.1.1 - form_urlencoded-1.0.1 - funty-1.1.0 - futures-channel-0.3.21 - futures-core-0.3.21 - futures-io-0.3.21 - futures-sink-0.3.21 - futures-task-0.3.21 - futures-util-0.3.21 - generic-array-0.14.5 - getrandom-0.1.16 - getrandom-0.2.6 - git-testament-0.2.1 - git-testament-derive-0.1.13 - group-0.9.0 - h2-0.3.13 - hashbrown-0.11.2 - hermit-abi-0.1.19 - hmac-0.11.0 - http-0.2.7 - http-body-0.4.5 - httparse-1.7.1 - httpdate-1.0.2 - hyper-0.14.19 - hyper-rustls-0.23.0 - hyper-tls-0.5.0 - idea-0.3.0 - idna-0.2.3 - indexmap-1.8.2 - instant-0.1.12 - ipnet-2.5.0 - itertools-0.10.3 - itoa-1.0.2 - jobserver-0.1.24 - js-sys-0.3.57 - lalrpop-0.19.8 - lalrpop-util-0.19.8 - lazy_static-1.4.0 - libc-0.2.126 - libm-0.2.2 - libz-sys-1.1.8 - lock_api-0.4.7 - log-0.4.17 - lzma-sys-0.1.17 - matches-0.1.9 - md-5-0.9.1 - memchr-2.5.0 - memoffset-0.6.5 - memsec-0.6.2 - mime-0.3.16 - miniz_oxide-0.5.3 - mio-0.8.3 - native-tls-0.2.10 - new_debug_unreachable-1.0.4 - no-std-compat-0.4.1 - num-bigint-0.2.6 - num-bigint-dig-0.6.1 - num-integer-0.1.45 - num-iter-0.1.43 - num-traits-0.2.15 - num_cpus-1.13.1 - num_threads-0.1.6 - once_cell-1.12.0 - opaque-debug-0.3.0 - opener-0.5.0 - openssl-0.10.40 - openssl-macros-0.1.0 - openssl-probe-0.1.5 - openssl-src-111.20.0+1.1.1o - openssl-sys-0.9.74 - p256-0.8.1 - parking_lot-0.12.1 - parking_lot_core-0.9.3 - pem-0.8.3 - percent-encoding-2.1.0 - petgraph-0.6.2 - phf_shared-0.10.0 - pin-project-lite-0.2.9 - pin-utils-0.1.0 - pkcs8-0.6.1 - pkg-config-0.3.25 - ppv-lite86-0.2.16 - precomputed-hash-0.1.1 - proc-macro2-1.0.39 - pulldown-cmark-0.8.0 - quote-1.0.18 - radium-0.6.2 - rand-0.7.3 - rand-0.8.5 - rand_chacha-0.2.2 - rand_chacha-0.3.1 - rand_core-0.5.1 - rand_core-0.6.3 - rand_hc-0.2.0 - rayon-1.5.3 - rayon-core-1.9.3 - redox_syscall-0.2.13 - redox_users-0.4.3 - regex-1.5.6 - regex-automata-0.1.10 - regex-syntax-0.6.26 - remove_dir_all-0.5.3 - remove_dir_all-0.7.0 - reqwest-0.11.10 - retry-1.3.1 - ring-0.16.20 - ripemd160-0.9.1 - rs_tracing-1.0.1 - rsa-0.3.0 - rustls-0.20.6 - rustls-native-certs-0.6.2 - rustls-pemfile-0.3.0 - rustls-pemfile-1.0.0 - rustversion-1.0.6 - ryu-1.0.10 - same-file-1.0.6 - schannel-0.1.20 - scopeguard-1.1.0 - sct-0.7.0 - security-framework-2.6.1 - security-framework-sys-2.6.1 - semver-1.0.9 - sequoia-openpgp-1.9.0 - serde-1.0.137 - serde_derive-1.0.137 - serde_json-1.0.81 - serde_urlencoded-0.7.1 - sha-1-0.9.8 - sha1collisiondetection-0.2.5 - sha2-0.9.9 - sha2-0.10.2 - sharded-slab-0.1.4 - signature-1.3.2 - simple_asn1-0.4.1 - siphasher-0.3.10 - slab-0.4.6 - smallvec-1.8.0 - socket2-0.4.4 - spin-0.5.2 - spki-0.3.0 - string_cache-0.8.4 - strsim-0.8.0 - strsim-0.10.0 - subtle-2.4.1 - syn-1.0.96 - synstructure-0.12.6 - sys-info-0.9.1 - tap-1.0.1 - tar-0.4.38 - tempfile-3.3.0 - term-0.5.1 - term-0.7.0 - textwrap-0.11.0 - thiserror-1.0.31 - thiserror-impl-1.0.31 - threadpool-1.8.1 - time-0.1.43 - time-0.3.9 - time-macros-0.2.4 - tiny-keccak-2.0.2 - tinyvec-1.6.0 - tinyvec_macros-0.1.0 - tokio-1.19.0 - tokio-native-tls-0.3.0 - tokio-rustls-0.23.4 - tokio-socks-0.5.1 - tokio-util-0.6.10 - tokio-util-0.7.2 - toml-0.5.9 - tower-service-0.3.1 - tracing-0.1.34 - tracing-attributes-0.1.21 - tracing-core-0.1.26 - try-lock-0.2.3 - twofish-0.5.0 - typenum-1.15.0 - unicase-2.6.0 - unicode-bidi-0.3.8 - unicode-ident-1.0.0 - unicode-normalization-0.1.19 - unicode-width-0.1.9 - unicode-xid-0.2.3 - untrusted-0.7.1 - url-2.2.2 - vcpkg-0.2.15 - vec_map-0.8.2 - version_check-0.9.4 - wait-timeout-0.2.0 - walkdir-2.3.2 - want-0.3.0 - wasi-0.9.0+wasi-snapshot-preview1 - wasi-0.10.2+wasi-snapshot-preview1 - wasi-0.11.0+wasi-snapshot-preview1 - wasm-bindgen-0.2.80 - wasm-bindgen-backend-0.2.80 - wasm-bindgen-futures-0.4.30 - wasm-bindgen-macro-0.2.80 - wasm-bindgen-macro-support-0.2.80 - wasm-bindgen-shared-0.2.80 - web-sys-0.3.57 - webpki-0.22.0 - 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-sys-0.36.1 - windows_aarch64_msvc-0.36.1 - windows_i686_gnu-0.36.1 - windows_i686_msvc-0.36.1 - windows_x86_64_gnu-0.36.1 - windows_x86_64_msvc-0.36.1 - winreg-0.8.0 - winreg-0.10.1 - wyz-0.2.0 - x25519-dalek-1.2.0 - xattr-0.2.3 - xxhash-rust-0.8.5 - xz2-0.1.6 - zeroize-1.3.0 - zeroize_derive-1.3.2 - zstd-0.11.2+zstd.1.5.2 - zstd-safe-5.0.2+zstd.1.5.2 - zstd-sys-2.0.1+zstd.1.5.2 -" - -inherit bash-completion-r1 cargo prefix - -DESCRIPTION="Rust toolchain installer" -HOMEPAGE="https://rust-lang.github.io/rustup/" - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" -else - HOME_COMMIT="a243ee2fbee6022c57d56f5aa79aefe194eabe53" - SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - https://github.com/rbtcollins/home/archive/${HOME_COMMIT}.tar.gz -> home-${HOME_COMMIT}.tar.gz - $(cargo_crate_uris ${CRATES})" - KEYWORDS="~amd64 ~arm64 ~ppc64" -fi - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 MIT Unlicense ZLIB" -SLOT="0" -IUSE="" - -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_unpack() { - if [[ "${PV}" == *9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - # patch git dep to use pre-fetched tarball - local home_path="home = { path = '"${WORKDIR}/home-${HOME_COMMIT}"' }" - sed -i "s@^home =.*@${home_path}@" "${S}/Cargo.toml" || die - - default -} - -src_configure() { - # modeled after ci/run.bash upstream - # reqwest-rustls-tls requires ring crate, which is not very portable. - local myfeatures=( - no-self-update - curl-backend - reqwest-backend - reqwest-default-tls - ) - case ${ARCH} in - ppc*|mips*|riscv*|s390*) - ;; - *) myfeatures+=( reqwest-rustls-tls ) - ;; - esac - cargo_src_configure --no-default-features -} - -src_compile() { - export OPENSSL_NO_VENDOR=true - cargo_src_compile -} - -src_install() { - cargo_src_install - einstalldocs - newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo - - 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() { - elog "No rustup toolchains installed by default" - elog "eselect activated system rust toolchain can be added to rustup by running" - elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" - elog "it will create symlinks to system-installed rustup in home directory" - elog "and rustup updates will be managed by portage" - elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" - elog "before running rustup-init-gentoo" -} -- cgit v1.2.3-65-gdbad