language: cpp

before_script:
  - $PYTHON -m pip download --no-deps https://github.com/libvips/pyvips/archive/$PYVIPS_VERSION.tar.gz
  - tar xf $PYVIPS_VERSION.tar.gz
  - $PYTHON -m pip install --user --upgrade pyvips-$PYVIPS_VERSION/[test]
  - ./autogen.sh
    --disable-dependency-tracking
    --with-jpeg-includes=$JPEG/include
    --with-jpeg-libraries=$JPEG/lib
  - make -j$JOBS -s 
script:
  - make -Ctest -j$JOBS -s V=0 VERBOSE=1 check
  - LD_LIBRARY_PATH=$PWD/libvips/.libs
    DYLD_LIBRARY_PATH=$PWD/libvips/.libs
    $PYTHON -m pytest -v test/test-suite

matrix:
  allow_failures:
    - os: osx
  fast_finish: true
  include:
    - os: linux
      sudo: required
      dist: xenial
      env:
        - PYTHON=python2
        - PYVIPS_VERSION=master
        - JPEG=/usr
        - JOBS=`nproc`
      cache: ccache

    - os: osx
      osx_image: xcode10.1
      env:
        - PYTHON=python2
        - PYVIPS_VERSION=master
        - JPEG=/usr/local
        - JOBS="`sysctl -n hw.ncpu`"
        - PATH="/usr/local/opt/ccache/libexec:$PATH"
        - HOMEBREW_NO_AUTO_UPDATE=1
      cache: ccache

addons:
  apt:
    update: true
    sources:
      # use imagemagick 6.9.7-4 instead than 6.8.9-9
      - sourceline: 'ppa:opencpu/imagemagick'
    packages:
      - automake 
      - gtk-doc-tools 
      - gobject-introspection
      - libfftw3-dev 
      - libexif-dev 
      - libjpeg-turbo8-dev
      - libpng12-dev 
      - libwebp-dev
      # missing on xenial, unfortunately
      # - libwebpmux2
      - libtiff5-dev 
      - libexpat1-dev
      - swig 
      - libmagick++-dev 
      - bc
      - libcfitsio3-dev
      - libgsl0-dev 
      - libmatio-dev
      - liborc-0.4-dev
      - liblcms2-dev
      - libpoppler-glib-dev
      - librsvg2-dev 
      - libgif-dev
      - libopenexr-dev
      - libpango1.0-dev 
      - libgsf-1-dev 
      - libopenslide-dev
      - libffi-dev
  homebrew:
    packages:
      - ccache
      - gtk-doc
      - gobject-introspection
      - fftw
      - libexif
      - webp
      - swig
      - imagemagick
      - cfitsio
      - gsl
      - libmatio
      - orc
      - little-cms2
      - poppler
      - librsvg
      - openexr
      - pango
      - libgsf
      - openslide