if (( ! ${+commands[packagesbuild]} )) {
  autoload -Uz log_group 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+=(--show-error --silent)
  } else {
    curl_opts+=(--progress-bar)
  }
  curl_opts+=(--location -O)

  log_group 'Installing Packages.app...'

  local version
  local base_url
  local hash
  IFS=';' read -r version base_url hash <<< \
    "$(jq -r '.tools.packages | {version, baseUrl, hash} | join(";")' buildspec.json)"

  mkdir -p ${project_root}/.deps && pushd ${project_root}/.deps
  curl ${curl_opts} "${base_url}/Packages.dmg"

  local checksum="$(sha256sum Packages.dmg | cut -d " " -f 1)"

  if [[ ${hash} != ${checksum} ]] {
    log_error "Checksum mismatch of Packages.dmg download.
Expected : ${hash}
Actual   : ${checksum}"
    return 2
  }

  hdiutil attach -readonly -noverify -noautoopen -plist Packages.dmg > .result.plist
  local -i num_entities=$(( $(plutil -extract system-entities raw -- .result.plist) - 1 ))
  local keys
  local mount_point
  for i ({0..${num_entities}}) {
    keys=($(plutil -extract system-entities.${i} raw -- .result.plist))
    if [[ ${keys} == *mount-point* ]] {
      mount_point=$(plutil -extract system-entities.${i}.mount-point raw -- .result.plist)
      break
    }
  }
  rm .result.plist

  log_status 'Installing Packages.app requires elevated privileges!'

  sudo installer -pkg ${mount_point}/packages/Packages.pkg -target / && rehash
  hdiutil detach ${mount_point} &> /dev/null && log_status 'Packages.dmg image unmounted.'
  popd

  log_group
}
