Skip to content

Commit c82c1ba

Browse files
committed
Use opam2
1 parent 61c392d commit c82c1ba

File tree

2 files changed

+92
-41
lines changed

2 files changed

+92
-41
lines changed

.travis-docker.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ echo POST_INSTALL_HOOK="$POST_INSTALL_HOOK" >> env.list
2424
echo $EXTRA_ENV >> env.list
2525

2626
# build a local image to trigger any ONBUILDs
27-
echo FROM ${hub_user}/opam:${DISTRO}_ocaml-${OCAML_VERSION} > Dockerfile
27+
echo FROM ${hub_user}/opam2:${DISTRO} > Dockerfile
2828
echo WORKDIR /home/opam/opam-repository >> Dockerfile
2929

3030
if [ -n "$BASE_REMOTE" ]; then
@@ -42,6 +42,7 @@ if [ $fork_user != $default_user -o $fork_branch != $default_branch ]; then
4242
>> Dockerfile
4343
fi
4444

45+
echo EXPORT OPAMYES=1
4546
echo RUN opam update -u -y >> Dockerfile
4647
echo RUN opam depext -ui travis-opam >> Dockerfile
4748
echo RUN cp '~/.opam/$(opam switch show)/bin/ci-opam' "~/" >> Dockerfile

.travis-ocaml.sh

+90-40
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fi
2828

2929
# the ocaml version to test
3030
OCAML_VERSION=${OCAML_VERSION:-latest}
31-
OPAM_VERSION=${OPAM_VERSION:-1.2.2}
31+
OPAM_VERSION=${OPAM_VERSION:-2.0.0}
3232
OPAM_INIT=${OPAM_INIT:-true}
3333

3434
# the base opam repository to use for bootstrapping and catch-all namespace
@@ -43,42 +43,12 @@ UBUNTU_TRUSTY=${UBUNTU_TRUSTY:-"0"}
4343
# Install XQuartz on OSX
4444
INSTALL_XQUARTZ=${INSTALL_XQUARTZ:-"true"}
4545

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
46+
install_opam2 () {
47+
sudo wget https://github.com/ocaml/opam/releases/download/2.0.0-rc3/opam-2.0.0-rc3-x86_64-linux -O /usr/local/bin/opam ;;
48+
}
8149

50+
install_ppa () {
51+
ppa=$1
8252
sudo add-apt-repository --yes ppa:${ppa}
8353
sudo apt-get update -qq
8454
if [ "${INSTALL_LOCAL:=0}" = 0 ] ; then
@@ -96,6 +66,78 @@ install_on_linux () {
9666
else
9767
sudo apt-get install -y opam
9868
fi
69+
}
70+
71+
install_on_linux () {
72+
case "$OCAML_VERSION,$OPAM_VERSION" in
73+
3.12,1.2.2)
74+
install_ppa avsm/ocaml42+opam12
75+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=3.12.1 ;;
76+
3.12,2.0.0)
77+
install_opam2 ()
78+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=3.12.1 ;;
79+
4.00,1.2.2)
80+
install_pp avsm/ocaml42+opam12
81+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.00.1 ;;
82+
4.00,2.0.0)
83+
install_opam2 ()
84+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.00.1 ;;
85+
4.01,1.2.2)
86+
install_ppa avsm/ocaml42+opam12
87+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.01.0 ;;
88+
4.02,2.0.0)
89+
install_opam2 ()
90+
OCAML_FULL_VERSION=4.01.0 OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
91+
4.02,1.1.2)
92+
install_ppa avsm/ocaml42+opam11
93+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
94+
4.02,1.2.0)
95+
install_ppa avsm/ocaml42+opam120
96+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
97+
4.02,1.2.1)
98+
install_ppa avsm/ocaml42+opam121
99+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
100+
4.02,1.2.2)
101+
install_ppa avsm/ocaml42+opam12
102+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
103+
4.02,2.0.0)
104+
install_opam2 ()
105+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.02.3 ;;
106+
4.03,1.2.2)
107+
install_ppa avsm/ocaml42+opam12
108+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.03.0 ;;
109+
4.03,2.0.0)
110+
install_opam2 ()
111+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.03.0 ;;
112+
4.04,1.2.2)
113+
install_ppa avsm/ocaml42+opam12
114+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.04.2 ;;
115+
4.04,2.0.0)
116+
install_opam2 ()
117+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.04.2 ;;
118+
4.05,1.2.2)
119+
install_ppa avsm/ocaml42+opam12
120+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.05.0 ;;
121+
4.05,2.0.0)
122+
install_opam2 ()
123+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.05.0 ;;
124+
4.06,1.2.2)
125+
install_ppa avsm/ocaml42+opam12
126+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.06.1 ;;
127+
4.06,2.0.0)
128+
install_opam2 ()
129+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.06.1 ;;
130+
4.07,1.2.2)
131+
install_ppa avsm/ocaml42+opam12
132+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.07.0 ;;
133+
4.07,2.0.0)
134+
install_opam2 ()
135+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.07.0 ;;
136+
*) echo "Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION"
137+
echo "(An unset OCAML_VERSION used to default to \"latest\", but you must now specify it."
138+
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 )"
139+
exit 1 ;;
140+
esac
99141

100142
TRUSTY="deb mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe"
101143

@@ -141,23 +183,31 @@ install_on_osx () {
141183
brew upgrade python || true
142184
case "$OCAML_VERSION,$OPAM_VERSION" in
143185
3.12,1.2.2) OCAML_FULL_VERSION=3.12.1; brew install opam ;;
186+
3.12,2.0.0) OCAML_FULL_VERSION=3.12.1; brew install opam@2 ;;
144187
4.00,1.2.2) OCAML_FULL_VERSION=4.00.1; brew install opam ;;
188+
4.00,2.0.0) OCAML_FULL_VERSION=4.00.1; brew install opam@2 ;;
145189
4.01,1.2.2) OCAML_FULL_VERSION=4.01.0; brew install opam ;;
190+
4.01,2.0.0) OCAML_FULL_VERSION=4.01.0; brew install opam@2 ;;
146191
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 ;;
192+
4.02,2.0.0) OCAML_FULL_VERSION=4.02.3; brew install opam@2 ;;
148193
4.03,1.2.2) OCAML_FULL_VERSION=4.03.0; brew install opam ;;
194+
4.03,2.0.0) OCAML_FULL_VERSION=4.03.0; brew install opam@2 ;;
149195
4.04,1.2.2) OCAML_FULL_VERSION=4.04.2; brew install opam ;;
196+
4.04,2.0.0) OCAML_FULL_VERSION=4.04.2; brew install opam@2 ;;
150197
4.05,1.2.2) OCAML_FULL_VERSION=4.05.0; brew install opam ;;
198+
4.05,2.0.0) OCAML_FULL_VERSION=4.05.0; brew install opam@2 ;;
151199
4.06,1.2.2) OCAML_FULL_VERSION=4.06.1; brew install opam ;;
200+
4.06,2.0.0) OCAML_FULL_VERSION=4.06.1; brew install opam@2 ;;
152201
4.07,1.2.2) OCAML_FULL_VERSION=4.07.0; OPAM_SWITCH=${OPAM_SWITCH:-system}; brew install ocaml; brew install opam ;;
202+
4.07,2.0.0) OCAML_FULL_VERSION=4.07.0; OPAM_SWITCH=${OPAM_SWITCH:-system}; brew install ocaml; brew install opam@2 ;;
153203
*) echo "Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION"
154204
exit 1 ;;
155205
esac
156206
}
157207

158-
case $TRAVIS_OS_NAME in
159-
osx) install_on_osx ;;
160-
linux) install_on_linux ;;
208+
case $TRAVIS_OS_NAME with
209+
osx) install_on_osx ;;
210+
linux) install_on_linux ;;
161211
esac
162212

163213
OPAM_SWITCH=${OPAM_SWITCH:-$OCAML_FULL_VERSION}

0 commit comments

Comments
 (0)