language: python

cache:
    apt
    pip
python:
  - 2.7
  - 3.5
  - pypy
env:
    - ZMQ=
    - ZMQ=bundled
before_install:
  - sudo add-apt-repository -y ppa:shnatsel/dnscrypt
  - sudo apt-get update
  - 'if [[ $ZMQ != bundled ]]; then sudo apt-get install -qq libzmq3-dev libsodium-dev; fi'
  - 'if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then wget https://github.com/minrk/travis-wheels/archive/master.zip -O wheels.zip && unzip wheels.zip; fi'
  - 'if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install -q -f travis-wheels-master/wheelhouse cython; fi'
  - 'if [[ ! -z "$ZMQ" && $ZMQ != bundled ]]; then wget https://github.com/zeromq/$ZMQ/archive/master.zip -O libzmq.zip && unzip libzmq.zip; fi'
  - 'if [[ ! -z "$ZMQ" && $ZMQ != bundled ]]; then sh -c "set -x; cd $ZMQ-master; sh autogen.sh; ./configure; make -j; sudo make install; sudo ldconfig"; fi'
  - 'if [[ $TRAVIS_PYTHON_VERSION = 2.7 ]]; then pip install -q -f travis-wheels-master/wheelhouse gevent; fi'
  - pip install -q -f file://travis-wheels-master/wheelhouse nose tornado

install:
  - 'if [[ ! -z "$ZMQ" && $ZMQ != bundled ]]; then export ZMQ=/usr/local; fi'
  - python setup.py build_ext --inplace --zmq=$ZMQ

matrix:
  include:
    - python: 3.5
      env: ZMQ=libzmq
    - python: 3.4
      env: ZMQ=zeromq4-x
    - python: 3.4
      env: ZMQ=zeromq4-1
    - python: 3.4
      env: ZMQ=zeromq3-x
    - python: 2.6
      env: ZMQ=
    - python: 3.2
      env: ZMQ=
    - python: 3.3
      env: ZMQ=
    - python: pypy3
      env: ZMQ=
    - python: nightly
      env: ZMQ=
    - python: nightly
      env: ZMQ=bundled
  allow_failures:
    - env: ZMQ=libzmq
    - python: nightly

script: python setup.py test
