diff --git a/zcutil/fetch-params.sh b/zcutil/fetch-params.sh index 10bade7cb..9eb52bec1 100755 --- a/zcutil/fetch-params.sh +++ b/zcutil/fetch-params.sh @@ -2,7 +2,11 @@ set -eu -PARAMS_DIR="$HOME/.zcash-params" +if [[ "$OSTYPE" == "darwin"* ]]; then + PARAMS_DIR="$HOME/Library/Application Support/ZcashParams" +else + PARAMS_DIR="$HOME/.zcash-params" +fi SPROUT_PKEY_NAME='sprout-proving.key' SPROUT_VKEY_NAME='sprout-verifying.key' @@ -14,10 +18,12 @@ SHA256ARGS="$(command -v sha256sum >/dev/null || echo '-a 256')" WGETCMD="$(command -v wget || echo '')" IPFSCMD="$(command -v ipfs || echo '')" +CURLCMD="$(command -v curl || echo '')" # fetch methods can be disabled with ZC_DISABLE_SOMETHING=1 ZC_DISABLE_WGET="${ZC_DISABLE_WGET:-}" ZC_DISABLE_IPFS="${ZC_DISABLE_IPFS:-}" +ZC_DISABLE_CURL="${ZC_DISABLE_CURL:-}" function fetch_wget { if [ -z "$WGETCMD" ] || ! [ -z "$ZC_DISABLE_WGET" ]; then @@ -56,6 +62,26 @@ EOF ipfs get --output "$dlname" "$SPROUT_IPFS/$filename" } +function fetch_curl { + if [ -z "$CURLCMD" ] || ! [ -z "$ZC_DISABLE_CURL" ]; then + return 1 + fi + + local filename="$1" + local dlname="$2" + + cat <&2 </$lockfile" - # acquire the lock - flock -n 200 \ - && return 0 \ - || return 1 + if [[ "$OSTYPE" == "darwin"* ]]; then + if shlock -f ${lockfile} -p $$; then + return 0 + else + return 1 + fi + else + # create lock file + eval "exec 200>/$lockfile" + # acquire the lock + flock -n 200 \ + && return 0 \ + || return 1 + fi } function exit_locked_error {