#!/bin/sh set -e # This script installs opam for the user. It should NOT be included in any makefiles/etc. if [ -n "`which opam`" ] then if [ -n "`opam --version | grep -P "2\..\.."`" ] then echo "Opam 2.x seems to already exist, exiting..." exit 1 else read -p "This script will upgrade opam to the 2.x series, are you okay with that? (y/n)" choice1 case "$choice1" in y|Y ) : ;; n|N ) exit ;; esac fi fi echo "Installing dependencies.." if [ -n "`uname -a | grep -i arch`" ] then sudo pacman -Sy --noconfirm \ rakudo \ make \ m4 \ gcc \ patch \ bubblewrap \ rsync \ curl fi if [ -n "`uname -a | grep -i ubuntu`" ] then sudo apt-get install -y make \ perl6 \ make \ m4 \ gcc \ patch \ bubblewrap \ rsync \ curl fi if [ -n "`uname -a | grep -i ubuntu`" ] then echo "ubuntu" sudo add-apt-repository -y ppa:avsm/ppa sudo apt-get update sudo apt-get install opam else if [ -n "`uname -a | grep -i arch`" ] then echo "arch" sudo pacman -Sy --noconfirm opam else echo "unknown distro" #I'm going to assume here that we're on x86_64, 32-bit users should be basically #extinct at this point right? curl -L https://github.com/ocaml/opam/releases/download/2.0.4/opam-2.0.4-x86_64-linux \ --output opam_temp_version_2_0_4.bin if [ "`openssl sha256 -r opam_temp_version_2_0_4.bin`" = "373e34f92f282273d482537f8103caad0d17b6f2699ff504bed77f474cb0c951 *opam_temp_version_2_0_4.bin" ] then # Stay paranoid, in case other checks fail don't want to overrwrite # user's opam on accident chmod +x opam_temp_version_2_0_4.bin # Set execute so we can get version if [ -e /usr/local/bin/opam ] then opam_old_v=`/usr/local/bin/opam --version` opam_new_v=`opam_temp_version_2_0_4.bin --version` read -p "This will overrwrite the opam you have in /usr/local/bin (version $opam_old_v) with version $opam_new_v, do you actually want to do that? Type yes. (yes/n)" choice2 else choice2="yes" fi if [ $choice2 = "yes" ] then sudo mv opam_temp_version_2_0_4.bin /usr/local/bin/opam else rm opam_temp_version_2_0_4.bin exit fi else echo "opam file hash doesn't match what was recorded at time of signature verification!" echo "(If you actually get this message, you should probably file an issue)" echo "https://gitlab.com/ligolang/ligo/issues" exit 1 fi fi fi opam init -a --bare