diff --git a/prepare-opam.sh b/prepare-opam.sh index 7b061649c78c7387da167ffa5c135f69a4ca36b9..75b0808142b2965bba4d8cfe1bef5449adb5a77a 100644 --- a/prepare-opam.sh +++ b/prepare-opam.sh @@ -5,13 +5,19 @@ export OPAMROOT="$(pwd)/opamroot" export OPAMJOBS="$((2*$CPU_CORES))" export OPAM_EDITOR="$(which false)" +# Delete OPAM 1.2 root, if that's what we got +if fgrep 'opam-version: "1.2"' "$OPAMROOT/config" > /dev/null; then + echo_color "$BOLDYELLOW" "[prepare-opam] Deleting opam 1.2 root" + rm -rf "$OPAMROOT" +fi + # Make sure we got a good OPAM. if test -d "$OPAMROOT"; then echo_color "$BOLDGREEN" "[prepare-opam] Re-using cached opam root" else echo_color "$BOLDYELLOW" "[prepare-opam] Creating new opam root" mkdir "$OPAMROOT" - opam init --no-setup -y + opam init --no-setup --disable-sandboxing -y FRESH_OPAM=yes fi eval `opam conf env` @@ -28,15 +34,15 @@ fi # Make sure we got the right set of repositories registered if echo "$@" | egrep "(dev|beta)" > /dev/null; then # We are compiling against a dev version of something. Get ourselves the dev repositories. - test -d "$OPAMROOT/repo/coq-extra-dev" || opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev -p 0 - test -d "$OPAMROOT/repo/coq-core-dev" || opam repo add coq-core-dev https://coq.inria.fr/opam/core-dev -p 5 + test -d "$OPAMROOT/repo/coq-extra-dev" || opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev --rank 0 + test -d "$OPAMROOT/repo/coq-core-dev" || opam repo add coq-core-dev https://coq.inria.fr/opam/core-dev --rank 5 else # No dev version, make sure we do not have the dev repositories. test -d "$OPAMROOT/repo/coq-extra-dev" && opam repo remove coq-extra-dev test -d "$OPAMROOT/repo/coq-core-dev" && opam repo remove coq-core-dev fi -test -d "$OPAMROOT/repo/coq-released" || opam repo add coq-released https://coq.inria.fr/opam/released -p 10 -test -d "$OPAMROOT/repo/iris-dev" || opam repo add iris-dev https://gitlab.mpi-sws.org/FP/opam-dev.git -p 20 +test -d "$OPAMROOT/repo/coq-released" || opam repo add coq-released https://coq.inria.fr/opam/released --rank 10 +test -d "$OPAMROOT/repo/iris-dev" || opam repo add iris-dev https://gitlab.mpi-sws.org/FP/opam-dev.git --rank 20 echo # We really want to run all of the following in one opam transaction, but due to opam limitations, @@ -64,7 +70,7 @@ echo if [[ -z "$FRESH_OPAM" ]]; then # skip if this is a fresh opam root # Upgrade cached things echo_color "$BOLDGREEN" "[prepare-opam] Upgrading packages" - opam upgrade -y --fixup && opam upgrade -y + opam upgrade -y echo fi