28
28
29
29
# the ocaml version to test
30
30
OCAML_VERSION=${OCAML_VERSION:- latest}
31
- OPAM_VERSION=${OPAM_VERSION:- 1.2.2 }
31
+ OPAM_VERSION=${OPAM_VERSION:- 2.0.0 }
32
32
OPAM_INIT=${OPAM_INIT:- true}
33
33
34
34
# the base opam repository to use for bootstrapping and catch-all namespace
35
- BASE_REMOTE=${BASE_REMOTE:- git:// github.com/ ocaml/ opam-repository}
35
+ case $OPAM_VERSION in
36
+ 2.0.0) BASE_REMOTE=${BASE_REMOTE:- git:// github.com/ ocaml/ opam-repository# 2.0.0} ;;
37
+ * ) BASE_REMOTE=${BASE_REMOTE:- git:// github.com/ ocaml/ opam-repository} ;;
38
+ esac
36
39
37
40
# whether we need a new gcc and binutils
38
41
UPDATE_GCC_BINUTILS=${UPDATE_GCC_BINUTILS:- " 0" }
@@ -41,44 +44,24 @@ UPDATE_GCC_BINUTILS=${UPDATE_GCC_BINUTILS:-"0"}
41
44
UBUNTU_TRUSTY=${UBUNTU_TRUSTY:- " 0" }
42
45
43
46
# Install XQuartz on OSX
44
- INSTALL_XQUARTZ=${INSTALL_XQUARTZ:- " true" }
45
-
46
- install_on_linux () {
47
- case " $OCAML_VERSION ,$OPAM_VERSION " in
48
- 3.12,1.2.2)
49
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=3.12.1
50
- ppa=avsm/ocaml42+opam12 ;;
51
- 4.00,1.2.2)
52
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.00.1
53
- ppa=avsm/ocaml42+opam12 ;;
54
- 4.01,1.2.2)
55
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.01.0
56
- ppa=avsm/ocaml42+opam12 ;;
57
- 4.02,1.1.2) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ; ppa=avsm/ocaml42+opam11 ;;
58
- 4.02,1.2.0) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ; ppa=avsm/ocaml42+opam120 ;;
59
- 4.02,1.2.1) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ; ppa=avsm/ocaml42+opam121 ;;
60
- 4.02,1.2.2) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ; ppa=avsm/ocaml42+opam12 ;;
61
- 4.03,1.2.2)
62
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.03.0
63
- ppa=avsm/ocaml42+opam12 ;;
64
- 4.04,1.2.2)
65
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.04.2
66
- ppa=avsm/ocaml42+opam12 ;;
67
- 4.05,1.2.2)
68
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.05.0
69
- ppa=avsm/ocaml42+opam12 ;;
70
- 4.06,1.2.2)
71
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.06.1
72
- ppa=avsm/ocaml42+opam12 ;;
73
- 4.07,1.2.2)
74
- OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.07.0
75
- ppa=avsm/ocaml42+opam12 ;;
76
- * ) echo " Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION "
77
- echo " (An unset OCAML_VERSION used to default to \" latest\" , but you must now specify it."
78
- echo " Try something like \" OCAML_VERSION=3.12\" , \" OCAML_VERSION=4.07\" , or see README-travis.md at https://github.com/ocaml/ocaml-ci-scripts )"
79
- exit 1 ;;
80
- esac
47
+ INSTALL_XQUARTZ=${INSTALL_XQUARTZ:- " false" }
48
+
49
+ install_opam2 () {
50
+ case $TRAVIS_OS_NAME in
51
+ linux)
52
+ sudo add-apt-repository --yes ppa:ansible/bubblewrap
53
+ sudo apt-get update -qq
54
+ sudo apt-get install -y bubblewrap
55
+ sudo wget https://github.com/ocaml/opam/releases/download/2.0.0-rc4/opam-2.0.0-rc4-x86_64-linux -O /usr/local/bin/opam
56
+ sudo chmod +x /usr/local/bin/opam ;;
57
+ osx)
58
+ sudo curl -sL https://github.com/ocaml/opam/releases/download/2.0.0-rc4/opam-2.0.0-rc4-x86_64-darwin -o /usr/local/bin/opam
59
+ sudo chmod +x /usr/local/bin/opam ;;
60
+ esac
61
+ }
81
62
63
+ install_ppa () {
64
+ ppa=$1
82
65
sudo add-apt-repository --yes ppa:${ppa}
83
66
sudo apt-get update -qq
84
67
if [ " ${INSTALL_LOCAL:= 0} " = 0 ] ; then
@@ -96,6 +79,78 @@ install_on_linux () {
96
79
else
97
80
sudo apt-get install -y opam
98
81
fi
82
+ }
83
+
84
+ install_on_linux () {
85
+ case " $OCAML_VERSION ,$OPAM_VERSION " in
86
+ 3.12,1.2.2)
87
+ install_ppa avsm/ocaml42+opam12
88
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=3.12.1 ;;
89
+ 3.12,2.0.0)
90
+ install_opam2
91
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=3.12.1 ;;
92
+ 4.00,1.2.2)
93
+ install_ppa avsm/ocaml42+opam12
94
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.00.1 ;;
95
+ 4.00,2.0.0)
96
+ install_opam2
97
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.00.1 ;;
98
+ 4.01,1.2.2)
99
+ install_ppa avsm/ocaml42+opam12
100
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.01.0 ;;
101
+ 4.01,2.0.0)
102
+ install_opam2
103
+ OCAML_FULL_VERSION=4.01.0 OPAM_SWITCH=${OPAM_SWITCH:- ocaml-system} ;;
104
+ 4.02,1.1.2)
105
+ install_ppa avsm/ocaml42+opam11
106
+ OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ;;
107
+ 4.02,1.2.0)
108
+ install_ppa avsm/ocaml42+opam120
109
+ OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ;;
110
+ 4.02,1.2.1)
111
+ install_ppa avsm/ocaml42+opam121
112
+ OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ;;
113
+ 4.02,1.2.2)
114
+ install_ppa avsm/ocaml42+opam12
115
+ OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:- system} ;;
116
+ 4.02,2.0.0)
117
+ install_opam2
118
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.02.3 ;;
119
+ 4.03,1.2.2)
120
+ install_ppa avsm/ocaml42+opam12
121
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.03.0 ;;
122
+ 4.03,2.0.0)
123
+ install_opam2
124
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.03.0 ;;
125
+ 4.04,1.2.2)
126
+ install_ppa avsm/ocaml42+opam12
127
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.04.2 ;;
128
+ 4.04,2.0.0)
129
+ install_opam2
130
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.04.2 ;;
131
+ 4.05,1.2.2)
132
+ install_ppa avsm/ocaml42+opam12
133
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.05.0 ;;
134
+ 4.05,2.0.0)
135
+ install_opam2
136
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.05.0 ;;
137
+ 4.06,1.2.2)
138
+ install_ppa avsm/ocaml42+opam12
139
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.06.1 ;;
140
+ 4.06,2.0.0)
141
+ install_opam2
142
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.06.1 ;;
143
+ 4.07,1.2.2)
144
+ install_ppa avsm/ocaml42+opam12
145
+ OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.07.0 ;;
146
+ 4.07,2.0.0)
147
+ install_opam2
148
+ OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.07.0 ;;
149
+ * ) echo " Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION "
150
+ echo " (An unset OCAML_VERSION used to default to \" latest\" , but you must now specify it."
151
+ echo " Try something like \" OCAML_VERSION=3.12\" , \" OCAML_VERSION=4.07\" , or see README-travis.md at https://github.com/ocaml/ocaml-ci-scripts )"
152
+ exit 1 ;;
153
+ esac
99
154
100
155
TRUSTY=" deb mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe"
101
156
@@ -115,7 +170,7 @@ install_on_linux () {
115
170
sudo apt-get -qq update
116
171
fi
117
172
118
- if [ " $INSTALL_LOCAL " != 0 ] ; then
173
+ if [ " ${ INSTALL_LOCAL:= 0} " != 0 ] ; then
119
174
echo -en " travis_fold:start:build.ocaml\r"
120
175
echo " Building a local OCaml; this may take a few minutes..."
121
176
wget " http://caml.inria.fr/pub/distrib/ocaml-${OCAML_FULL_VERSION% .* } /ocaml-$OCAML_FULL_VERSION .tar.gz"
@@ -141,15 +196,28 @@ install_on_osx () {
141
196
brew upgrade python || true
142
197
case " $OCAML_VERSION ,$OPAM_VERSION " in
143
198
3.12,1.2.2) OCAML_FULL_VERSION=3.12.1; brew install opam ;;
199
+ 3.12,2.0.0) OCAML_FULL_VERSION=3.12.1; install_opam2 ;;
144
200
4.00,1.2.2) OCAML_FULL_VERSION=4.00.1; brew install opam ;;
201
+ 4.00,2.0.0) OCAML_FULL_VERSION=4.00.1; install_opam2 ;;
145
202
4.01,1.2.2) OCAML_FULL_VERSION=4.01.0; brew install opam ;;
203
+ 4.01,2.0.0) OCAML_FULL_VERSION=4.01.0; install_opam2 ;;
146
204
4.02,1.2.2) OCAML_FULL_VERSION=4.02.3; brew install opam ;;
147
- 4.02,1.3 .0) OCAML_FULL_VERSION=4.02.3; brew install opam --HEAD ;;
205
+ 4.02,2.0 .0) OCAML_FULL_VERSION=4.02.3; install_opam2 ;;
148
206
4.03,1.2.2) OCAML_FULL_VERSION=4.03.0; brew install opam ;;
207
+ 4.03,2.0.0) OCAML_FULL_VERSION=4.03.0; install_opam2 ;;
149
208
4.04,1.2.2) OCAML_FULL_VERSION=4.04.2; brew install opam ;;
209
+ 4.04,2.0.0) OCAML_FULL_VERSION=4.04.2; install_opam2 ;;
150
210
4.05,1.2.2) OCAML_FULL_VERSION=4.05.0; brew install opam ;;
211
+ 4.05,2.0.0) OCAML_FULL_VERSION=4.05.0; install_opam2 ;;
151
212
4.06,1.2.2) OCAML_FULL_VERSION=4.06.1; brew install opam ;;
152
- 4.07,1.2.2) OCAML_FULL_VERSION=4.07.0; OPAM_SWITCH=${OPAM_SWITCH:- system} ; brew install ocaml; brew install opam ;;
213
+ 4.06,2.0.0) OCAML_FULL_VERSION=4.06.1; install_opam2 ;;
214
+ 4.07,1.2.2) OCAML_FULL_VERSION=4.07.0;
215
+ OPAM_SWITCH=${OPAM_SWITCH:- system} ;
216
+ brew install ocaml; brew install opam ;;
217
+ 4.07,2.0.0) OCAML_FULL_VERSION=4.07.0;
218
+ OPAM_SWITCH=${OPAM_SWITCH:- ocaml-system} ;
219
+ brew install ocaml;
220
+ install_opam2 ;;
153
221
* ) echo " Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION "
154
222
exit 1 ;;
155
223
esac
0 commit comments