klipper/scripts/travis-install.sh

66 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Build setup script for travis-ci.org continuous integration testing.
# See travis-build.sh for the actual test steps.
# Stop script early on any error; check variables; be verbose
set -eux
MAIN_DIR=${PWD}
BUILD_DIR=${PWD}/travis_build
CACHE_DIR=${PWD}/travis_cache
mkdir -p ${BUILD_DIR} ${CACHE_DIR}
######################################################################
# Install embedded arm gcc
######################################################################
echo "=============== Install embedded arm gcc"
GCC_ARM_URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"
GCC_ARM_SHA="96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2"
GCC_ARM_FILE="$(basename ${GCC_ARM_URL})"
cd ${CACHE_DIR}
if [ ! -f ${GCC_ARM_FILE} ]; then
wget "$GCC_ARM_URL"
fi
FOUND_SHA=`sha256sum "$GCC_ARM_FILE"`
if [ "$FOUND_SHA" != "$GCC_ARM_SHA" ]; then
echo "ERROR: Mismatch on gcc arm sha256"
exit -1
fi
cd ${BUILD_DIR}
tar xf "${CACHE_DIR}/${GCC_ARM_FILE}"
######################################################################
# Install (or build) pru gcc
######################################################################
PRU_FILE=${CACHE_DIR}/gnupru.tar.gz
PRU_DIR=${BUILD_DIR}/pru-gcc
if [ ! -f ${PRU_FILE} ]; then
cd ${BUILD_DIR}
git clone https://github.com/dinuxbg/gnupru -b 2018.03-beta-rc3
cd gnupru
export PREFIX=${PRU_DIR}
./download-and-patch.sh 2>&1 | pv -nli 30 > ${BUILD_DIR}/gnupru-build.log
./build.sh 2>&1 | pv -nli 30 >> ${BUILD_DIR}/gnupru-build.log
cd ${BUILD_DIR}
tar cfz ${PRU_FILE} pru-gcc/
else
cd ${BUILD_DIR}
tar xfz ${PRU_FILE}
fi
######################################################################
# Create python virtualenv environment
######################################################################
echo "=============== Install python virtualenv"
cd ${MAIN_DIR}
virtualenv ${BUILD_DIR}/python-env
${BUILD_DIR}/python-env/bin/pip install cffi==1.6.0 pyserial==3.2.1 greenlet==0.4.10