before_install:
  - psql --version
  - sudo /etc/init.d/postgresql stop
  - sudo apt-get -y --purge remove postgresql libpq-dev libpq5 postgresql-client-common postgresql-common
  - sudo rm -rf /var/lib/postgresql
  - wget --no-check-certificate  --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  - sudo sh -c "echo deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main $PGVERSION >> /etc/apt/sources.list.d/postgresql.list"
  - sudo apt-get update -qq
  - sudo apt-get -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::="--force-confnew" install postgresql-$PGVERSION postgresql-server-dev-$PGVERSION
  - sudo chmod 777 /etc/postgresql/$PGVERSION/main/pg_hba.conf
  - sudo echo "local   all         postgres                          trust" > /etc/postgresql/$PGVERSION/main/pg_hba.conf
  - sudo echo "local   all         all                               trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf
  - sudo echo "host    all         all         127.0.0.1/32          trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf
  - sudo echo "host    all         all         ::1/128               trust" >> /etc/postgresql/$PGVERSION/main/pg_hba.conf
  - sudo /etc/init.d/postgresql restart
  - sudo apt-get install -y clang-3.5 llvm-3.5-dev libedit-dev
  - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  - sudo apt-get update -qq
  - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8" LD="g++-4.8"; fi
  - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90

before_script:
  - export V=1
  - g++ -v
  - gcc -v
  - pushd ..
  - git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git
  - export PATH="$PATH":`pwd`/depot_tools
  - popd
  - pushd ..
  - fetch v8; cd v8
  - export tag=`git ls-remote |grep tags/$v8 | cut -f 3 -d / | sort  -k 3,3n -k 4,4n -t .|tail -1`
  - git checkout $tag && gclient sync > /dev/null
  - git describe --always
  - make dependencies > /dev/null || true
  - export CXX=clang++
  - export LD=clang++
  - make native library=shared -j8 werror=no snapshot=no i18nsupport=off
  - sudo cp -rf include/* /usr/include
  - sudo cp -rf include /usr/include
  - sudo install -v --mode=0644 out/native/lib.target/* /usr/lib
  - sudo install -v out/native/d8 /usr/bin/
  - sudo install out/native/obj.target/tools/gyp/*.a /usr/lib
  - popd
  - createuser -U postgres -s travis


env:
  matrix:
    - PGVERSION=9.5 v8=4.3
    - PGVERSION=9.5 v8=4.2
    - PGVERSION=9.4 v8=4.3
    - PGVERSION=9.4 v8=4.2
    - PGVERSION=9.3 v8=4.3
    - PGVERSION=9.3 v8=4.2
    - PGVERSION=9.2 v8=4.3
    - PGVERSION=9.2 v8=4.2


language: cpp
compiler:
  - clang
  - gcc

sudo: required
dist: trusty

script:
  - make && sudo make install && make installcheck

after_script:
  - cat regression.diffs || true
  - cat regression.out || true
