diff --git a/scripts/install.sh b/scripts/install.sh index 4c7bf7b7..ba2d2dd6 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -4,10 +4,12 @@ set -e Z3_URL='https://github.com/Z3Prover/z3/releases/download/z3-4.8.10/z3-4.8.10-x64-ubuntu-18.04.zip' YICES_URL='https://yices.csl.sri.com/releases/2.6.2/yices-2.6.2-x86_64-pc-linux-gnu-static-gmp.tar.gz' -ABC_URL='https://saw.galois.com/builds/abc/abc-c78ee311-Linux.tar.gz' +#ABC_URL='https://saw.galois.com/builds/abc/abc-c78ee311-Linux.tar.gz' +WHAT4_SOLVERS_URL='https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20241119/ubuntu-20.04-X64-bin.zip' if [ $# -ne 0 ] && [ "$1" = "--latest" ]; then # Determine the URL of the latest SAW and Cryptol nightly + # XXX: this will not work any more ######################################################### SAW_DATE=$(curl -s https://saw.galois.com/builds/nightly/ | grep saw | grep -o "[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}" | sort | tail -n 1) # `grep -o` says print only the matched substring SAW_NIGHTLY=$(curl -s https://saw.galois.com/builds/nightly/ | grep -oP "saw.*?${SAW_DATE}-Linux.*?\.tar\.gz" | head -n 1) # `curl -s` means silent; `grep -o` says print only the matched substring; `grep -P` says Perl syntax, which we use to get a lazy match (shortest) with .*? @@ -17,7 +19,8 @@ if [ $# -ne 0 ] && [ "$1" = "--latest" ]; then CRYPTOL_NIGHTLY=$(curl -s https://cryptol.net/builds/nightly/ | grep -oP "cryptol.*?${CRYPTOL_DATE}-Ubuntu.*?\.tar\.gz" | head -n 1) # `curl -s` means silent; `grep -o` says print only the matched substring; `grep -P` says Perl syntax, which we use to get a lazy match (shortest) with .*? CRYPTOL_URL="https://cryptol.net/builds/nightly/${CRYPTOL_NIGHTLY}" else - SAW_URL="https://saw.galois.com/builds/nightly/saw-0.8.0.99-2021-12-06-Linux-x86_64.tar.gz" + #SAW_URL="https://saw.galois.com/builds/nightly/saw-0.8.0.99-2021-12-06-Linux-x86_64.tar.gz" + SAW_URL='https://github.com/GaloisInc/saw-script/releases/download/v1.2/saw-1.2-ubuntu-20.04-X64.tar.gz' CRYPTOL_URL="https://github.com/GaloisInc/cryptol/releases/download/2.11.0/cryptol-2.11.0-Linux-x86_64.tar.gz" fi @@ -46,17 +49,21 @@ then cp deps/yices/*/bin/yices-smt2 bin/yices-smt2 fi -# fetch ABC +# fetch ABC from what4_solvers if [ ! -f bin/abc ] then mkdir -p deps/abc - wget $ABC_URL -O deps/abc.tar.gz - tar -x -f deps/abc.tar.gz --one-top-level=deps/abc - cp deps/abc/*/bin/abc bin/abc + wget $WHAT4_SOLVERS_URL -O deps/what4-solvers.zip + #tar -x -f deps/abc.tar.gz --one-top-level=deps/abc + #cp deps/abc/*/bin/abc bin/abc + unzip -d deps/abc deps/what4-solvers.zip + cp deps/abc/abc bin/abc + # just in case, zip files aren't always good at unix perms + chmod 755 bin/abc fi # fetch SAW -if [ ! -f bin/saw ] +if [ ! -f bin/saw ] && [ ${IN_SAW_CI:-no} != yes ] then mkdir -p deps/saw wget $SAW_URL -O deps/saw.tar.gz @@ -66,7 +73,7 @@ then fi # fetch Cryptol -if [ ! -f bin/cryptol ] +if [ ! -f bin/cryptol ] && [ ${IN_SAW_CI:-no} != yes ] then mkdir -p deps/cryptol wget $CRYPTOL_URL -O deps/cryptol.tar.gz