blob: 17de8dc63195b886d79b462d415483363c33ee82 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CRATES=""
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
SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
$(cargo_crate_uris ${CRATES})"
KEYWORDS="~amd64 ~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_compile() {
export OPENSSL_NO_VENDOR=true
cargo_src_compile --features no-self-update
}
src_install() {
cargo_src_install --features no-self-update
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"
}
src_test() {
cargo_src_test --features no-self-update
}
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"
}
|