language: cpp compiler: - clang - gcc env: matrix: - DEBUG=True ENABLE_LOG=True DEFAULT_LOG_SEVERITY=debug XMLPARSER="libxml2" DEMO=False BENCHMARK=False CUSTOM_CXXFLAGS="" CUSTOM_LDFLAGS="" - DEBUG=False ENABLE_LOG=False DEFAULT_LOG_SEVERITY=none XMLPARSER="ptree" DEMO=False BENCHMARK=False CUSTOM_CXXFLAGS="" CUSTOM_LDFLAGS="" # travis + ubuntugis with gdal and postggis leads to many potential dead-end conflicts # the below is thanks to https://github.com/CartoDB/Windshaft/blob/d82fe08b32fc7907bbe907ab290f8a082215ae26/.travis.yml#L1 before_install: - export PGUSER=postgres - sudo mv /etc/apt/sources.list.d/pgdg-source.list* /tmp - sudo apt-get -qq purge postgis* postgresql* - sudo apt-add-repository -y ppa:cartodb/postgresql-9.3 - sudo apt-add-repository -y ppa:cartodb/gis # we need at least g++-4.7 for c++11 features - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test # upgrade boost - sudo add-apt-repository -y ppa:boost-latest/ppa - sudo rm -Rf /var/lib/postgresql /etc/postgresql - sudo apt-get update -qq - sudo apt-get install -q postgresql-9.3-postgis-2.1 - sudo apt-get install -q postgresql-contrib-9.3 - sudo apt-get install -q gdal-bin libgdal-dev - echo -e "local\tall\tall\ttrust\nhost\tall\tall\t127.0.0.1/32\ttrust\nhost\tall\tall\t::1/128\ttrust" |sudo tee /etc/postgresql/9.3/main/pg_hba.conf - sudo service postgresql restart install: #- sudo apt-get install -y libboost-python1.48-dev libboost-thread1.48-dev libboost-filesystem1.48-dev libboost-regex1.48-dev libboost-program-options1.48-dev - sudo apt-get install -y boost1.55 - sudo apt-get install -y ttf-wqy-microhei make libstdc++6 libstdc++-4.8-dev valgrind python-nose libicu-dev libproj-dev libcairo-dev python-cairo-dev libcairo-dev python-cairo-dev libpng-dev libjpeg-dev libtiff-dev libwebp-dev libz-dev libfreetype6-dev libxml2-dev libsqlite3-dev before_script: - psql -U postgres -c 'create database template_postgis' - psql -U postgres -c 'create extension postgis' -d template_postgis - if [[ "${CXX}" == 'g++' ]]; then export JOBS=4; sudo apt-get install gcc-4.8 g++-4.8; export CXX="$(which g++-4.8)"; export CC="$(which gcc-4.8)"; fi; - if [[ "${CXX}" == 'clang++' ]]; then export JOBS=6; export CXX="$(which clang++)"; export CC="$(which clang)"; fi; - wget http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.35.tar.bz2 - tar xf harfbuzz-0.9.35.tar.bz2 - cd harfbuzz-0.9.35 - ./configure --prefix=/usr --with-icu --with-cairo=no --with-glib=no --with-gobject=no --with-graphite2=no --with-freetype --with-uniscribe=no --with-coretext=no && make -j2 && sudo make -j2 install - cd ../ script: - ./configure CXX="${CXX}" CC="${CC}" CUSTOM_CXXFLAGS="${CUSTOM_CXXFLAGS}" CUSTOM_LDFLAGS="${CUSTOM_LDFLAGS}" XML_PARSER="${XML_PARSER}" ENABLE_LOG="${ENABLE_LOG}" DEBUG="${DEBUG}" DEMO="${DEMO}" BENCHMARK="${BENCHMARK}" CPP_TESTS=True CAIRO=True FAST=True || cat config.log - echo $JOBS - if [[ "${DEBUG}" == True ]]; then export JOBS=$((JOBS/2)); fi; - echo $JOBS - make - git clone https://github.com/mapbox/mapnik-test-data tests/data/mapnik-test-data - make test - source localize.sh && make grind - if [[ ${BENCHMARK} != False ]]; then make bench; fi;