| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| inherit eutils bash-completion-r1 |
| |
| MY_P="rustc-${PV}" |
| |
| DESCRIPTION="Systems programming language from Mozilla" |
| HOMEPAGE="http://www.rust-lang.org/" |
| SRC_URI="amd64? ( http://static.rust-lang.org/dist/${MY_P}-x86_64-unknown-linux-gnu.tar.gz ) |
| x86? ( http://static.rust-lang.org/dist/${MY_P}-i686-unknown-linux-gnu.tar.gz )" |
| |
| LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" |
| SLOT="stable" |
| KEYWORDS="~amd64 ~x86" |
| IUSE="" |
| |
| DEPEND=">=app-eselect/eselect-rust-0.3_pre20150425 |
| !dev-lang/rust:0 |
| " |
| RDEPEND="${DEPEND}" |
| |
| src_unpack() { |
| default |
| |
| local postfix |
| use amd64 && postfix=x86_64-unknown-linux-gnu |
| use x86 && postfix=i686-unknown-linux-gnu |
| mv "${WORKDIR}/${MY_P}-${postfix}" "${S}" || die |
| } |
| |
| src_install() { |
| local components=rustc |
| ./install.sh \ |
| --components="${components}" \ |
| --disable-verify \ |
| --prefix="${D}/opt/${P}" \ |
| --mandir="${D}/usr/share/${P}/man" \ |
| --disable-ldconfig \ |
| || die |
| |
| local rustc=rustc-bin-${PV} |
| local rustdoc=rustdoc-bin-${PV} |
| local rustgdb=rust-gdb-bin-${PV} |
| |
| mv "${D}/opt/${P}/bin/rustc" "${D}/opt/${P}/bin/${rustc}" || die |
| mv "${D}/opt/${P}/bin/rustdoc" "${D}/opt/${P}/bin/${rustdoc}" || die |
| mv "${D}/opt/${P}/bin/rust-gdb" "${D}/opt/${P}/bin/${rustgdb}" || die |
| |
| dosym "/opt/${P}/bin/${rustc}" "/usr/bin/${rustc}" |
| dosym "/opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}" |
| dosym "/opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}" |
| |
| cat <<-EOF > "${T}"/50${P} |
| LDPATH="/opt/${P}/lib" |
| MANPATH="/usr/share/${P}/man" |
| EOF |
| doenvd "${T}"/50${P} |
| |
| cat <<-EOF > "${T}/provider-${P}" |
| /usr/bin/rustdoc |
| /usr/bin/rust-gdb |
| EOF |
| dodir /etc/env.d/rust |
| insinto /etc/env.d/rust |
| doins "${T}/provider-${P}" |
| } |
| |
| pkg_postinst() { |
| eselect rust update --if-unset |
| |
| elog "Rust installs a helper script for calling GDB now," |
| elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}," |
| |
| if has_version app-editors/emacs || has_version app-editors/emacs-vcs; then |
| elog "install app-emacs/rust-mode to get emacs support for rust." |
| fi |
| |
| if has_version app-editors/gvim || has_version app-editors/vim; then |
| elog "install app-vim/rust-mode to get vim support for rust." |
| fi |
| |
| if has_version 'app-shells/zsh'; then |
| elog "install app-shells/rust-zshcomp to get zsh completion for rust." |
| fi |
| } |
| |
| pkg_postrm() { |
| eselect rust unset --if-invalid |
| } |