summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml87
-rwxr-xr-xtools/travis-before_install.sh16
-rwxr-xr-xtools/travis-install.sh22
3 files changed, 29 insertions, 96 deletions
diff --git a/.travis.yml b/.travis.yml
index 59ec77b2..ae2ff727 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,51 +5,22 @@
language: cpp
compiler:
- gcc
- - clang
os:
- linux
- - osx
sudo: false
cache:
apt: true
env:
global:
- # Boost version to use:
- # _MIN is used when building the master branch
- # _MAX is used when building any other branch
- - BOOST_VERSION_MIN="1.49.0"
- - BOOST_VERSION_MAX="1.61.0"
# List of required boost libraries to build
- BOOST_LIBS="date_time,filesystem,iostreams,python,regex,system,test"
- # List of required Homebrew formulae to install
- - BREWS="gmp,mpfr"
# Encrypted COVERITY_SCAN_TOKEN
- secure: "mYNxD1B8WNSvUeKzInehZ7syi2g1jH2ymeSQxoeKKD2duq3pvNWPdZdc4o9MlWQcAqcz58rhFZRIpuEWCnP0LbbJaG+MyuemMn9uAmg9Y4gFpMsBPHuTdf8pO3rDex+tkrr9puEJFgL+QV/TehxO6NDDpx7UdYvJb+4aZD/auYI="
-
-matrix:
- exclude:
- - os: linux
- compiler: clang
- # Compiling ledger on Linux with clang
- # either crashes clang or results in a ledger binary that crashes with SIGSEGV.
- - os: osx
- compiler: gcc
- # On macOS building ledger with GNU GCC 4.8 fails due to
- # undefined symbols, maybe because boost was not being built with g++-4.8.
- # Undefined symbols for architecture x86_64:
- # "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)", referenced from:
- # boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in main.cc.o
- # boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::perl_matcher(char const*, char const*, boost::match_results<char const*, std::allocator<boost::sub_match<char const*> > >&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags, char const*) in global.cc.o
- # "boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::find()", referenced from:
- # bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in main.cc.o
- # bool boost::regex_search<char const*, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(char const*, char const*, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags) in global.cc.o
- - os: osx
- compiler: clang
- # On macOS building ledger with clang fails due to
- # dyld: Library not loaded: libboost_python.dylib
- # Referenced from: /Users/travis/build/ledger/ledger/ledger
- # Reason: image not found
+ matrix:
+ # Boost version to build against; an empty string means the
+ # distribution's default.
+ - BOOST_VERSION="1.61.0"
addons:
coverity_scan:
@@ -60,33 +31,39 @@ addons:
build_command: "make"
branch_pattern: coverity
apt:
- sources:
- #- boost-latest
packages:
- libgmp-dev
- libmpfr-dev
- libedit-dev
- #- libboost1.55-dev
- #- libboost-test1.55-dev
- #- libboost-regex1.55-dev
- #- libboost-python1.55-dev
- #- libboost-system1.55-dev
- #- libboost-date-time1.55-dev
- #- libboost-iostreams1.55-dev
- #- libboost-filesystem1.55-dev
- #- libboost-serialization1.55-dev
+ - libboost-dev
+ - libboost-test-dev
+ - libboost-regex-dev
+ - libboost-python-dev
+ - libboost-system-dev
+ - libboost-date-time-dev
+ - libboost-iostreams-dev
+ - libboost-filesystem-dev
+ - libboost-serialization-dev
before_install:
- # - if [ "${TRAVIS_BRANCH}" = "master" ]; then export BOOST_VERSION="${BOOST_VERSION_MIN}"; else export BOOST_VERSION="${BOOST_VERSION_MAX}"; fi
- - export BOOST_VERSION="${BOOST_VERSION_MAX}"
- - if [ -n "${BOOST_VERSION}" ]; then export BOOST_ROOT="${TRAVIS_BUILD_DIR}/../boost-trunk"; export CMAKE_MODULE_PATH="${BOOST_ROOT}"; fi
- - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${BOOST_ROOT}/lib"; fi
- # c++ is a symlink to clang++, but the compiler behaves differently when invoked as c++
- - if [ "${TRAVIS_OS_NAME}" = "osx" -a "${CXX}" = "clang++" ]; then export CXX="$(which c++)"; export CC="$(which cc)"; fi
- - tools/travis-before_install.sh
+ - |
+ if [ -n "${BOOST_VERSION}" ]; then
+ BOOST_SOURCE="$(mktemp -d)"
+ BOOST_SOURCE_URL="https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download"
+ curl -Ls "$BOOST_SOURCE_URL" |
+ tar jx -C "${BOOST_SOURCE}" --strip-components 1
+ fi
install:
- - tools/travis-install.sh
+ - |
+ if [ -n "${BOOST_VERSION}" ]; then
+ export BOOST_ROOT="${HOME}/boost"
+ pushd "${BOOST_SOURCE}"
+ ./bootstrap.sh --with-libraries="${BOOST_LIBS}"
+ ./b2 threading=multi -d0 --prefix="${BOOST_ROOT}" install
+ popd
+ rm -Rf "${BOOST_SOURCE}"
+ fi
before_script:
- cmake . -DUSE_PYTHON=ON -DBUILD_DEBUG=ON
@@ -96,12 +73,6 @@ script:
- ctest --output-on-failure
- PYTHONPATH=. python python/demo.py
-after_script:
- # These scripts are run for informational purposes and
- # should be reintegrated into CTest once they reliably verify the documentation.
- - python test/CheckTexinfo.py -l ledger -s .
- - python test/CheckManpage.py -l ledger -s .
-
notifications:
email:
on_success: change
diff --git a/tools/travis-before_install.sh b/tools/travis-before_install.sh
deleted file mode 100755
index fe010945..00000000
--- a/tools/travis-before_install.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-#set -x
-set -e
-set -o pipefail
-
-if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
- brew update
-fi
-
-if [ -n "${BOOST_VERSION}" ]; then
- mkdir -p $BOOST_ROOT
- wget --no-verbose --output-document=- \
- http://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/boost_${BOOST_VERSION//./_}.tar.bz2/download \
- | tar jxf - --strip-components=1 -C "${BOOST_ROOT}"
-fi
diff --git a/tools/travis-install.sh b/tools/travis-install.sh
deleted file mode 100755
index 4e8bdc48..00000000
--- a/tools/travis-install.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-#set -x
-set -e
-set -o pipefail
-
-if [ "${TRAVIS_OS_NAME}" = "osx" ]; then
- for formula in $(echo "${BREWS//,/ }"); do
- echo "Checking ${formula} formula"
- brew outdated "${formula}" \
- || (brew unlink "${formula}"
- brew install "${formula}"
- )
- done
-fi
-
-if [ -d "${BOOST_ROOT}" ]; then
- (cd "${BOOST_ROOT}"
- ./bootstrap.sh --with-libraries="${BOOST_LIBS}"
- ./b2 threading=multi --prefix="${BOOST_ROOT}" -d0 install
- )
-fi