if (( ! ${+commands[packagesbuild]} )) { autoload -Uz log_info log_status mkcd if (( ! ${+commands[curl]} )) { log_error 'curl not found. Please install curl.' return 2 } if (( ! ${+project_root} )) { log_error "'project_root' not set. Please set before running ${0}." return 2 } local -a curl_opts=() if (( ! ${+CI} )) { curl_opts+=(--progress-bar) } else { curl_opts+=(--show-error --silent) } curl_opts+=(--location -O ${@}) log_info 'Installing Packages.app...' pushd mkcd ${project_root:h}/obs-build-dependencies local packages_url='http://s.sudre.free.fr/Software/files/Packages.dmg' local packages_hash='6afdd25386295974dad8f078b8f1e41cabebd08e72d970bf92f707c7e48b16c9' if [[ ! -f Packages.dmg ]] { log_status 'Download Packages.app' curl ${curl_opts} ${packages_url} } local image_checksum read -r image_checksum _ <<< "$(sha256sum Packages.dmg)" if [[ ${packages_hash} != ${image_checksum} ]] { log_error "Checksum mismatch of Packages.app download. Expected : ${packages_hash} Actual : ${image_checksum}" return 2 } hdiutil attach -noverify Packages.dmg &> /dev/null && log_status 'Packages.dmg image mounted.' log_info 'Installing Packages.app...' packages_volume=$(hdiutil info -plist | grep '/Volumes/Packages' | sed 's/.*\(\/Volumes\/[^<]*\)<\/string>/\1/') sudo installer -pkg "${packages_volume}/packages/Packages.pkg" -target / && rehash hdiutil detach ${packages_volume} &> /dev/null && log_status 'Packages.dmg image unmounted.' }