ligo/scripts/install_build_deps.sh
Grégoire Henry f7f5f21e46 Fix make build-deps
The amended script is now able to handle new dependency in the opam file.
It also abloe to handle `test` attributes.
2016-12-08 16:33:01 +01:00

61 lines
1.3 KiB
Bash
Executable File

#! /bin/sh
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;
fi
cmd=$1
if [ -z "$cmd" ] ; then cmd=all ; fi
case $cmd in
pin)
pin=yes
;;
depext)
depext=yes
;;
install)
install=yes
;;
all)
pin=yes
depext=yes
install=yes
;;
*)
echo "Unknown command '$cmd'."
echo "Usage: $0 [pin|depext|install|all]"
exit 1
esac
set -e
set -x
if [ ! -z "$pin" ] ; then
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
opam pin --yes add --no-action --dev-repo ocplib-json-typed
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
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'.
opam list --installed depext || opam install depext
opam depext ${DEPEXTOPT} tezos-deps
fi
if [ ! -z "$install" ] ; then
opam install --build-test tezos-deps
fi