diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-09-22 19:38:33 -0700 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2020-09-22 19:38:33 -0700 |
commit | 3498f32e4906a6952c4f0853a6fb8e4f01fc2457 (patch) | |
tree | 1db57281fcec6d86b4aeaabf3240a03bb738d7a1 /dev-util/rustup/rustup-9999.ebuild | |
parent | app-emulation/crun: add ~ppc64 keyword (diff) | |
download | gentoo-3498f32e4906a6952c4f0853a6fb8e4f01fc2457.tar.gz gentoo-3498f32e4906a6952c4f0853a6fb8e4f01fc2457.tar.bz2 gentoo-3498f32e4906a6952c4f0853a6fb8e4f01fc2457.zip |
dev-util/rustup: add live ebuild
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-util/rustup/rustup-9999.ebuild')
-rw-r--r-- | dev-util/rustup/rustup-9999.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-util/rustup/rustup-9999.ebuild b/dev-util/rustup/rustup-9999.ebuild new file mode 100644 index 000000000000..17de8dc63195 --- /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" +} |