From 9d89dba292c2690771aa006caac1cd25811e7391 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Mon, 10 Oct 2022 16:25:37 -0700 Subject: [PATCH] Docs: Getting Started Dependencies (#32480) * Docs: Getting Started Dependencies Finally document what one needs to install to use Spack on Linux and Mac :-) With <3 for minimal container users and my colleagues with their fancy Macs. * Debian Update Packages: GCC, Python - build-essential: includes gcc, g++ (thx Cory) - Python: add python3-venv, python3-distutils (thx Pradyun) * Add RHEL8 Dependencies --- lib/spack/docs/conf.py | 1 + lib/spack/docs/getting_started.rst | 32 ++++++++++++++++++++++++++++-- lib/spack/docs/requirements.txt | 1 + lib/spack/docs/spack.yaml | 1 + 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py index 1108f93ff9..30123635eb 100644 --- a/lib/spack/docs/conf.py +++ b/lib/spack/docs/conf.py @@ -127,6 +127,7 @@ def setup(sphinx): "sphinx.ext.napoleon", "sphinx.ext.todo", "sphinx.ext.viewcode", + "sphinx_design", "sphinxcontrib.programoutput", ] diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index 3a7371a09c..a7d860510a 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -23,8 +23,36 @@ be present on the machine where Spack is run: These requirements can be easily installed on most modern Linux systems; on macOS, XCode is required. Spack is designed to run on HPC platforms like Cray. Not all packages should be expected -to work on all platforms. A build matrix showing which packages are -working on which systems is planned but not yet available. +to work on all platforms. + +A build matrix showing which packages are working on which systems is shown below. + +.. tab-set:: + + .. tab-item:: Debian/Ubuntu + + .. code-block:: console + + apt update + apt install build-essential ca-certificates coreutils curl environment-modules gfortran git gpg lsb-release python3 python3-distutils python3-venv unzip zip + + .. tab-item:: RHEL + + .. note:: + + yum update -y + yum install -y epel-release + yum update -y + yum --enablerepo epel groupinstall -y "Development Tools" + yum --enablerepo epel install -y curl findutils gcc-c++ gcc gcc-gfortran git gnupg2 hostname iproute make patch python3 python3-pip python3-setuptools unzip + python3 -m pip install boto3 + + .. tab-item:: macOS Brew + + .. code-block:: console + + brew update + brew install curl gcc git gnupg zip ------------ Installation diff --git a/lib/spack/docs/requirements.txt b/lib/spack/docs/requirements.txt index 8a5d3a521b..416eb7edaf 100644 --- a/lib/spack/docs/requirements.txt +++ b/lib/spack/docs/requirements.txt @@ -3,6 +3,7 @@ sphinx>=3.4,!=4.1.2,!=5.1.0 sphinxcontrib-programoutput +sphinx-design sphinx-rtd-theme python-levenshtein # Restrict to docutils <0.17 to workaround a list rendering issue in sphinx. diff --git a/lib/spack/docs/spack.yaml b/lib/spack/docs/spack.yaml index 04754d13eb..2dd932b565 100644 --- a/lib/spack/docs/spack.yaml +++ b/lib/spack/docs/spack.yaml @@ -18,6 +18,7 @@ spack: - "py-sphinx@3.4:4.1.1,4.1.3:" - py-sphinxcontrib-programoutput - py-docutils@:0.16 + - py-sphinx-design - py-sphinx-rtd-theme # VCS - git