osrm-backend/third_party/mason/utils/new_boost.sh
2017-01-09 14:26:44 +05:30

55 lines
1.6 KiB
Bash
Executable File

set -eu
set -o pipefail
LAST_VERSION="1.62.0"
NEW_VERSION="1.63.0"
: '
manual intervention:
- change/upgrade icu version used by boost_regex
- new libraries available to build?
'
CLEAN="${CLEAN:-false}"
if [[ ${CLEAN} ]]; then
rm -rf scripts/boost/${NEW_VERSION}
fi
mkdir scripts/boost/${NEW_VERSION}
cp -r scripts/boost/${LAST_VERSION}/. scripts/boost/${NEW_VERSION}/
perl -i -p -e "s/MASON_VERSION=${LAST_VERSION}/MASON_VERSION=${NEW_VERSION}/g;" scripts/boost/${NEW_VERSION}/base.sh
export BOOST_VERSION=${NEW_VERSION//./_}
export CACHE_PATH="mason_packages/.cache"
mkdir -p "${CACHE_PATH}"
if [[ ! -f ${CACHE_PATH}/boost-${NEW_VERSION} ]]; then
curl --retry 3 -f -S -L http://downloads.sourceforge.net/project/boost/boost/${NEW_VERSION}/boost_${BOOST_VERSION}.tar.bz2 -o ${CACHE_PATH}/boost-${NEW_VERSION}
fi
NEW_SHASUM=$(git hash-object ${CACHE_PATH}/boost-${NEW_VERSION})
perl -i -p -e "s/BOOST_SHASUM=(.*)/BOOST_SHASUM=${NEW_SHASUM}/g;" scripts/boost/${NEW_VERSION}/base.sh
for lib in $(find scripts/ -maxdepth 1 -type dir -name 'boost_lib*' -print); do
if [[ -d $lib/${LAST_VERSION} ]]; then
if [[ ${CLEAN} ]]; then
rm -rf $lib/${NEW_VERSION}
fi
mkdir $lib/${NEW_VERSION}
cp -r $lib/${LAST_VERSION}/. $lib/${NEW_VERSION}/
else
echo "skipping creating package for $lib"
fi
done
./mason trigger boost ${NEW_VERSION}
# TODO: this is rate limited so it needs to be run over many hours to avoid travis blocking
for lib in $(find scripts/ -maxdepth 1 -type dir -name 'boost_lib*' -print); do
echo ./mason trigger $(basename $lib) ${NEW_VERSION}
done