summaryrefslogtreecommitdiff
path: root/dev-lang/rust-bin/rust-bin-1.25.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/rust-bin/rust-bin-1.25.0.ebuild')
-rw-r--r--dev-lang/rust-bin/rust-bin-1.25.0.ebuild22
1 files changed, 21 insertions, 1 deletions
diff --git a/dev-lang/rust-bin/rust-bin-1.25.0.ebuild b/dev-lang/rust-bin/rust-bin-1.25.0.ebuild
index 056d9f3f6c27..edd1c8706d66 100644
--- a/dev-lang/rust-bin/rust-bin-1.25.0.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.25.0.ebuild
@@ -3,13 +3,18 @@
EAPI=5
-inherit eutils bash-completion-r1
+inherit eutils bash-completion-r1 toolchain-funcs
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 )
+ arm? (
+ http://static.rust-lang.org/dist/${MY_P}-arm-unknown-linux-gnueabi.tar.gz
+ http://static.rust-lang.org/dist/${MY_P}-arm-unknown-linux-gnueabihf.tar.gz
+ http://static.rust-lang.org/dist/${MY_P}-armv7-unknown-linux-gnueabihf.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"
@@ -30,11 +35,26 @@ QA_PREBUILT="
opt/${P}/lib/rustlib/*/lib/*.rlib*
"
+pkg_pretend () {
+ if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+ die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
+ fi
+}
+
src_unpack() {
default
local postfix
use amd64 && postfix=x86_64-unknown-linux-gnu
+
+ if use arm && [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv6* ]]; then
+ postfix=arm-unknown-linux-gnueabi
+ elif use arm && [[ ${CHOST} == armv6*h* ]]; then
+ postfix=arm-unknown-linux-gnueabihf
+ elif use arm && [[ ${CHOST} == armv7*h* ]]; then
+ postfix=armv7-unknown-linux-gnueabihf
+ fi
+
use x86 && postfix=i686-unknown-linux-gnu
mv "${WORKDIR}/${MY_P}-${postfix}" "${S}" || die
}