ligo/scripts/install_build_deps.sh

67 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/sh
2016-09-08 21:13:10 +04:00
if ! [ -f 'src/tezos-deps.opam' ]; then
echo
echo " Please run from the project's root directory. Aborting."
echo
exit 1
fi
ocaml_version=4.03.0
if [ "$(ocaml -vnum)" != "$ocaml_version" ]; then
echo
echo " Unexpected compiler version ($(ocaml -vnum))"
echo " You should use ocaml-$ocaml_version."
echo
exit 1
2016-09-08 21:13:10 +04:00
fi
cmd="$1"
if [ -z "$cmd" ]; then cmd=all; fi
2016-09-08 21:13:10 +04:00
case "$cmd" in
2016-09-08 21:13:10 +04:00
pin)
pin=yes
;;
2016-09-08 21:13:10 +04:00
depext)
depext=yes
;;
2016-09-08 21:13:10 +04:00
install)
install=yes
;;
2016-09-08 21:13:10 +04:00
all)
pin=yes
depext=yes
install=yes
;;
2016-09-08 21:13:10 +04:00
*)
echo "Unknown command '$cmd'."
echo "Usage: $0 [pin|depext|install|all|]"
exit 1
2016-09-08 21:13:10 +04:00
esac
set -e
set -x
if ! [ -z "$pin" ]; then
2016-09-08 21:13:10 +04:00
opam pin --yes remove --no-action --dev-repo ocplib-resto || true
opam pin --yes add --no-action --dev-repo sodium
opam pin --yes add --no-action --dev-repo ocp-ocamlres
2016-11-09 14:40:01 +04:00
opam pin --yes add --no-action --dev-repo ocplib-json-typed
2016-09-08 21:13:10 +04:00
opam pin --yes add --no-action --dev-repo ocplib-resto
## Force opam to take account of the new `tezos-deps.opam`
opam pin --yes remove tezos-deps
2016-09-08 21:13:10 +04:00
opam pin --yes add --no-action tezos-deps src
fi
if ! [ -z "$depext" ]; then
## In our CI, this rule is executed as user 'root'
## The other rules are executed as user 'opam'.
2016-09-08 21:13:10 +04:00
opam list --installed depext || opam install depext
opam depext tezos-deps
2016-09-08 21:13:10 +04:00
fi
if ! [ -z "$install" ]; then
opam install --build-test tezos-deps
2016-09-08 21:13:10 +04:00
fi