[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/HydroModPy/HydroModPy/dev/install/setup_wsl_dev.sh [Back]  [Original]

#!/usr/bin/env bash
set -euo pipefail

usage() {
  cat &2
      exit 2
      ;;
  esac
done

SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)"

if [[ ! -f "${SCRIPT_DIR}/${ENV_FILE}" ]]; then
  echo "Environment file not found: ${SCRIPT_DIR}/${ENV_FILE}" >&2
  exit 1
fi

if ! command -v conda >/dev/null 2>&1; then
  cat >&2 &1; then
  APT_PREFIX=""
  if command -v sudo >/dev/null 2>&1; then
    APT_PREFIX="sudo"
  fi
  ${APT_PREFIX} apt-get update
  ${APT_PREFIX} apt-get install -y libglu1-mesa
fi

pushd "${SCRIPT_DIR}" >/dev/null
if ! conda env create -n "${ENV_NAME}" -f "${ENV_FILE}"; then
  conda env update -n "${ENV_NAME}" -f "${ENV_FILE}" --prune
fi
popd >/dev/null

# gmsh wheels on Linux can require libXft at runtime. Installing the conda
# package keeps the fix inside the environment and avoids an extra system
# dependency beyond libglu1-mesa.
conda install -n "${ENV_NAME}" -c conda-forge -y xorg-libxft

if [[ "${WITH_PETSC}" -eq 1 ]]; then
  conda install -n "${ENV_NAME}" -c conda-forge -y petsc petsc4py mpi4py mpich
  conda run -n "${ENV_NAME}" python -c "from petsc4py import PETSc; print('PETSc', PETSc.Sys.getVersion())"
fi

conda run -n "${ENV_NAME}" python "${SCRIPT_DIR}/verify_dev_env.py" \
  --dist-name hydromodpy \
  --expected-editable-root "${REPO_ROOT}" \
  --require-docs \
  --require-tests

cat 

Web Proxy Viewer  |  New URL  |  Original Page