123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- # Copyright 1999-2017 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- EAPI=5
- inherit eutils bash-completion-r1
- MY_P="rust-${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="doc"
- DEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
- !dev-lang/rust:0
- "
- RDEPEND="${DEPEND}"
- QA_PREBUILT="
- opt/${P}/bin/rustc-bin-${PV}
- opt/${P}/bin/rustdoc-bin-${PV}
- opt/${P}/lib/*.so
- opt/${P}/lib/rustlib/*/lib/*.so
- "
- 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 std=$(grep 'std' ./components)
- local components="rustc,${std}"
- use doc && components="${components},rust-docs"
- ./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-vim 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
- }
|