install.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. set -ex
  2. . $(dirname $0)/env.sh
  3. install_qemu() {
  4. if [[ $TRAVIS_OS_NAME = "linux" ]]; then
  5. apt-get update
  6. apt-get install -y --no-install-recommends \
  7. binfmt-support qemu-user-static
  8. fi
  9. }
  10. install_gist() {
  11. gem install gist
  12. }
  13. install_binutils() {
  14. if [[ $TRAVIS_OS_NAME == "osx" ]]; then
  15. brew install binutils
  16. fi
  17. }
  18. install_rust() {
  19. if [[ $TRAVIS_OS_NAME == "osx" ]]; then
  20. curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=nightly
  21. else
  22. rustup default nightly
  23. fi
  24. rustc -V
  25. cargo -V
  26. }
  27. add_rustup_target() {
  28. if [[ $TARGET != $HOST && ${CARGO:-cargo} == "cargo" ]]; then
  29. rustup target add $TARGET
  30. fi
  31. }
  32. install_xargo() {
  33. if [[ $CARGO == "xargo" ]]; then
  34. curl -sf "https://raw.githubusercontent.com/japaric/rust-everywhere/master/install.sh" | \
  35. bash -s -- --from japaric/xargo --at /root/.cargo/bin
  36. fi
  37. }
  38. main() {
  39. if [[ $TRAVIS_OS_NAME == "osx" || ${IN_DOCKER_CONTAINER:-n} == "y" ]]; then
  40. install_qemu
  41. install_gist
  42. install_binutils
  43. install_rust
  44. add_rustup_target
  45. install_xargo
  46. fi
  47. }
  48. main