commit:     3498f32e4906a6952c4f0853a6fb8e4f01fc2457
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 23 02:38:33 2020 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Wed Sep 23 02:38:33 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3498f32e

dev-util/rustup: add live ebuild

Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-util/rustup/rustup-9999.ebuild | 80 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

diff --git a/dev-util/rustup/rustup-9999.ebuild 
b/dev-util/rustup/rustup-9999.ebuild
new file mode 100644
index 00000000000..17de8dc6319
--- /dev/null
+++ b/dev-util/rustup/rustup-9999.ebuild
@@ -0,0 +1,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"
+}

Reply via email to