Merge branch 'bug27738-034-merged' into bug27738-master-merged

This commit is contained in:
Taylor Yu 2018-10-10 15:17:47 -05:00
commit bfab1dda2b
2 changed files with 34 additions and 21 deletions

View File

@ -108,12 +108,15 @@ sudo:
## (Linux only) Use the latest Linux image (Ubuntu Trusty) ## (Linux only) Use the latest Linux image (Ubuntu Trusty)
dist: trusty dist: trusty
## (Linux only) Download our dependencies ## Download our dependencies
addons: addons:
## (Linux only)
apt: apt:
packages: packages:
## Required dependencies ## Required dependencies
- libevent-dev - libevent-dev
## Ubuntu comes with OpenSSL by default
#- libssl-dev
- zlib1g-dev - zlib1g-dev
## Optional dependencies ## Optional dependencies
- libcap-dev - libcap-dev
@ -122,12 +125,35 @@ addons:
- libseccomp-dev - libseccomp-dev
## zstd doesn't exist in Ubuntu Trusty ## zstd doesn't exist in Ubuntu Trusty
#- libzstd #- libzstd
## Conditional dependencies ## Conditional build dependencies
## Always installed, so we don't need sudo ## Always installed, so we don't need sudo
- asciidoc - asciidoc
- docbook-xsl - docbook-xsl
- docbook-xml - docbook-xml
- xmlto - xmlto
## (OSX only)
homebrew:
packages:
## Required dependencies
- libevent
## The OSX version of OpenSSL is way too old
- openssl
## OSX comes with zlib by default
## to use a newer zlib, pass the keg path to configure (like OpenSSL)
#- zlib
## Optional dependencies
- libscrypt
- xz
- zstd
## Required build dependencies
## Tor needs pkg-config to find some dependencies at build time
- pkg-config
## Optional build dependencies
- ccache
## Conditional build dependencies
## Always installed, because manual brew installs are hard to get right
- asciidoc
- xmlto
## (OSX only) Use the default OSX image ## (OSX only) Use the default OSX image
## See https://docs.travis-ci.com/user/reference/osx#os-x-version ## See https://docs.travis-ci.com/user/reference/osx#os-x-version
@ -135,35 +161,18 @@ addons:
#osx_image: xcode9.4 #osx_image: xcode9.4
before_install: before_install:
## If we're on OSX, homebrew usually needs to be updated first
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
## We might be upgrading some useless packages, but that's better than missing an upgrade
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade; fi
## Create empty rust directories for non-Rust builds, so caching succeeds ## Create empty rust directories for non-Rust builds, so caching succeeds
- if [[ "$RUST_OPTIONS" == "" ]]; then mkdir -p $HOME/.cargo $TRAVIS_BUILD_DIR/src/rust/target; fi - if [[ "$RUST_OPTIONS" == "" ]]; then mkdir -p $HOME/.cargo $TRAVIS_BUILD_DIR/src/rust/target; fi
install: install:
## If we're on OSX use brew to install ccache (ccache is automatically installed on Linux) ## If we're on OSX, configure ccache (ccache is automatically installed and configured on Linux)
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PATH="/usr/local/opt/ccache/libexec:$PATH"; fi
## If we're on OSX use brew to install required dependencies (for Linux, see the "apt:" section above)
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libevent; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install pkg-config; fi
## macOS comes with zlib by default, so the homebrew install is keg-only
# - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install zlib; fi
## If we're on OSX also install the optional dependencies
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install libscrypt; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install xz; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install zstd; fi
## If we're on OSX, OpenSSL is keg-only, so tor 0.2.9 and later need to be configured --with-openssl-dir= to build ## If we're on OSX, OpenSSL is keg-only, so tor 0.2.9 and later need to be configured --with-openssl-dir= to build
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then OPENSSL_OPTIONS=--with-openssl-dir=`brew --prefix openssl`; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then OPENSSL_OPTIONS=--with-openssl-dir=`brew --prefix openssl`; fi
## Install conditional features ## Install conditional features
## Install coveralls ## Install coveralls
- if [[ "$COVERAGE_OPTIONS" != "" ]]; then pip install --user cpp-coveralls; fi - if [[ "$COVERAGE_OPTIONS" != "" ]]; then pip install --user cpp-coveralls; fi
## If we're on OSX, and using asciidoc, install asciidoc ## If we're on OSX, and using asciidoc, configure asciidoc
- if [[ "$ASCIIDOC_OPTIONS" == "" ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install asciidoc; fi
- if [[ "$ASCIIDOC_OPTIONS" == "" ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install xmlto; fi
- if [[ "$ASCIIDOC_OPTIONS" == "" ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"; fi - if [[ "$ASCIIDOC_OPTIONS" == "" ]] && [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"; fi
## If we're using Rust, download rustup ## If we're using Rust, download rustup
- if [[ "$RUST_OPTIONS" != "" ]]; then curl -Ssf -o rustup.sh https://sh.rustup.rs; fi - if [[ "$RUST_OPTIONS" != "" ]]; then curl -Ssf -o rustup.sh https://sh.rustup.rs; fi

4
changes/ticket27738 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (continuous integration):
- Use the Travis Homebrew addon to install packages on macOS. The package
list is the same, but the Homebrew addon does not do a `brew update` by
default. Implements ticket 27738.