blob: 3582ea12a58c0949f6604bbc2963ec85fa24ee74 [file] [log] [blame]
David Reid6b609bb2013-11-06 11:44:15 -08001#!/bin/bash
2
3set -e
4set -x
5
Daniele Sluijtersd1e43832014-06-06 16:34:19 +02006if [[ "$(uname -s)" == 'Darwin' ]]; then
Daniele Sluijters7af3ed02014-06-06 15:49:42 +02007 DARWIN=true
8else
9 DARWIN=false
10fi
11
Paul Kehrer26287be2014-01-12 23:50:42 -050012if [[ "${OPENSSL}" == "0.9.8" ]]; then
Daniele Sluijters2d781b22014-06-06 15:54:54 +020013 if [[ "$DARWIN" = true ]]; then
Paul Kehrer26287be2014-01-12 23:50:42 -050014 # travis has openssl installed via brew already, but let's be sure
15 if [[ "$(brew list | grep openssl)" != "openssl" ]]; then
16 brew install openssl
17 fi
Daniele Sluijters7af3ed02014-06-06 15:49:42 +020018 else
19 sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ lucid main"
20 sudo apt-get -y update
21 sudo apt-get install -y --force-yes libssl-dev/lucid
Paul Kehrer26287be2014-01-12 23:50:42 -050022 fi
David Reid6b609bb2013-11-06 11:44:15 -080023fi
24
Alex Gaynor5278cd92014-02-04 17:24:12 -080025if [[ "${TOX_ENV}" == "docs" ]]; then
Daniele Sluijters7af3ed02014-06-06 15:49:42 +020026 if [[ "$DARWIN" = true ]]; then
Alex Gaynor6a188352014-02-04 17:18:30 -080027 brew update
28 brew install enchant
29 else
30 sudo apt-get -y update
31 sudo apt-get install libenchant-dev
32 fi
Alex Gaynor50e58d42014-01-10 09:59:55 -080033fi
34
Daniele Sluijters7af3ed02014-06-06 15:49:42 +020035if [[ "$DARWIN" = true ]]; then
Paul Kehrer0b06e552014-01-07 21:41:15 -060036 brew update
37 brew install pyenv
38 if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
39 case "${TOX_ENV}" in
40 py26)
Alex Gaynoreecfdfa2014-05-17 12:57:38 -070041 curl -O https://bootstrap.pypa.io/get-pip.py
Alex Gaynordcbc9112014-01-09 10:07:30 -080042 sudo python get-pip.py
Paul Kehrer0b06e552014-01-07 21:41:15 -060043 sudo pip install virtualenv
44 ;;
45 py27)
Alex Gaynoreecfdfa2014-05-17 12:57:38 -070046 curl -O https://bootstrap.pypa.io/get-pip.py
Alex Gaynordcbc9112014-01-09 10:07:30 -080047 sudo python get-pip.py
Paul Kehrer0b06e552014-01-07 21:41:15 -060048 sudo pip install virtualenv
49 ;;
50 pypy)
Alex Gaynor37de4f42014-05-16 12:51:24 -040051 pyenv install pypy-2.3
52 pyenv global pypy-2.3
Paul Kehrer0b06e552014-01-07 21:41:15 -060053 pip install virtualenv
54 ;;
55 py32)
56 pyenv install 3.2.5
57 pyenv global 3.2.5
58 pip install virtualenv
59 ;;
60 py33)
Alex Gaynor483d5932014-03-17 08:20:01 -070061 pyenv install 3.3.5
62 pyenv global 3.3.5
Paul Kehrer0b06e552014-01-07 21:41:15 -060063 pip install virtualenv
64 ;;
Paul Kehrerf855b282014-03-17 11:16:32 -040065 py34)
66 pyenv install 3.4.0
67 pyenv global 3.4.0
68 pip install virtualenv
69 ;;
Alex Gaynor99951452014-02-04 17:37:38 -080070 docs)
Alex Gaynoreecfdfa2014-05-17 12:57:38 -070071 curl -O https://bootstrap.pypa.io/get-pip.py
Alex Gaynor99951452014-02-04 17:37:38 -080072 sudo python get-pip.py
73 sudo pip install virtualenv
74 ;;
Paul Kehrer0b06e552014-01-07 21:41:15 -060075 esac
76 pyenv rehash
77else
78 # add mega-python ppa
79 sudo add-apt-repository -y ppa:fkrull/deadsnakes
80 sudo apt-get -y update
81
82 case "${TOX_ENV}" in
83 py26)
84 sudo apt-get install python2.6 python2.6-dev
85 ;;
86 py32)
87 sudo apt-get install python3.2 python3.2-dev
88 ;;
89 py33)
90 sudo apt-get install python3.3 python3.3-dev
91 ;;
Paul Kehrerf855b282014-03-17 11:16:32 -040092 py34)
93 sudo apt-get install python3.4 python3.4-dev
94 ;;
Paul Kehrer0b06e552014-01-07 21:41:15 -060095 py3pep8)
96 sudo apt-get install python3.3 python3.3-dev
97 ;;
98 pypy)
99 sudo add-apt-repository -y ppa:pypy/ppa
100 sudo apt-get -y update
101 sudo apt-get install -y --force-yes pypy pypy-dev
102 ;;
103 esac
104 sudo pip install virtualenv
105fi
106
107virtualenv ~/.venv
108source ~/.venv/bin/activate
David Reidf0943932013-11-06 13:47:36 -0800109pip install tox coveralls
Paul Kehrer0b06e552014-01-07 21:41:15 -0600110
Daniele Sluijters7af3ed02014-06-06 15:49:42 +0200111if [[ "$DARWIN" = true ]]; then
Paul Kehrer0b06e552014-01-07 21:41:15 -0600112 pyenv rehash
113fi