diff --git a/.travis.yml b/.travis.yml index 1e36da6c9..721c0be7d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,7 +36,8 @@ notifications: cache: ccache: true directories: - - $HOME/hombebrew_cache + - $HOME/travis/deb + - $HOME/travis/brew addons: coverity_scan: @@ -128,13 +129,46 @@ install: ccache -V && ccache --show-stats && ccache --zero-stats fi - | - # build libtorrent from source - if [ "$libt_branch" = "RC_1_2" ]; then - cd "$HOME" - git clone --depth 1 https://github.com/arvidn/libtorrent.git --branch $libt_branch - cd libtorrent && mkdir _build && cd _build - CXXFLAGS="$CXXFLAGS -std=c++14" cmake -Ddeprecated-functions=OFF -DOPENSSL_ROOT_DIR="$openssl_root_path" ../ - make && sudo make install + if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then + wget https://builds.shiki.hu/travis/deb/version + if ! cmp --quiet "version" "$HOME/travis/deb/version" ; then + echo "Cached files are different from server. Downloading new ones." + # First delete old files + rm -r "$HOME/travis/deb" + mkdir "$HOME/travis/deb" + cp "version" $HOME/travis/deb + cd "$HOME/travis/deb" + wget https://builds.shiki.hu/travis/deb/libtorrent-rasterbar-dev_1.2.x_amd64.deb + wget https://builds.shiki.hu/travis/deb/libtorrent-rasterbar10_1.2.x_amd64.deb + fi + + sudo dpkg -i "$HOME/travis/deb/libtorrent-rasterbar-dev_1.2.x_amd64.deb" "$HOME/travis/deb/libtorrent-rasterbar10_1.2.x_amd64.deb" + fi + - | + if [ "$libt_branch" = "RC_1_2" ] && [ "$TRAVIS_OS_NAME" = "osx" ]; then + wget https://builds.shiki.hu/travis/brew/version + if ! cmp --quiet "version" "$HOME/travis/brew/version" ; then + echo "Cached files are different from server. Downloading new ones." + # First delete old files + rm -r "$HOME/travis/brew" + mkdir "$HOME/travis/brew" + cp "version" $HOME/travis/brew + cd "$HOME/travis/brew" + wget https://builds.shiki.hu/travis/brew/libtorrent-rasterbar.rb + wget https://builds.shiki.hu/travis/brew/6e4eb13f70df35e8fc7ff41883fef3e5c7b535dd55c78cd2ce1eae3fb4288e21--libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz + fi + # Copy custom libtorrent bottle to homebrew's download cache so it can find and install it + # Also install our custom libtorrent formula by passing the local path to it + # These 2 files are restored from Travis' cache. + cp "$HOME/travis/brew/6e4eb13f70df35e8fc7ff41883fef3e5c7b535dd55c78cd2ce1eae3fb4288e21--libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz" "$(brew --cache)/downloads" + brew uninstall libtorrent-rasterbar + brew install "$HOME/travis/brew/libtorrent-rasterbar.rb" + + # NOTE about the bottle name + # The part before the "--" characters is a sha256 hash of the string + # of the URL homebrew itself would use to download the bottle. + # In this case the URL is the following: + # http://127.0.0.1/libtorrent-rasterbar-1.2.0.high_sierra.bottle.tar.gz fi script: