You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've updated the language in the following tutorial files to use "we will..." and "let's..." consistently, replacing variations like "you will...", "the packager can...", etc.:
- tutorial_advanced_packaging.rst
- tutorial_basics.rst
- tutorial_binary_cache.rst
- tutorial_buildsystems.rst
This change improves the readability and consistency of the tutorials.
Copy file name to clipboardExpand all lines: tutorial_advanced_packaging.rst
+26-26Lines changed: 26 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,11 +10,11 @@
10
10
Advanced Topics in Packaging
11
11
============================
12
12
13
-
Spack tries to automatically configure packages with information from dependencies such that all you need to do is to list the dependencies (i.e., with the ``depends_on`` directive) and the build system (for example by deriving from ``CmakePackage``).
13
+
Spack tries to automatically configure packages with information from dependencies such that all we will need to do is to list the dependencies (i.e., with the ``depends_on`` directive) and the build system (for example by deriving from ``CmakePackage``).
14
14
15
15
However, there are many special cases.
16
-
Often you need to retrieve details about dependencies to set package-specific configuration options, or to define package-specific environment variables used by the package's build system.
17
-
This tutorial covers how to retrieve build information from dependencies, and how you can automatically provide important information to dependents in your package.
16
+
Often we will need to retrieve details about dependencies to set package-specific configuration options, or to define package-specific environment variables used by the package's build system.
17
+
This tutorial covers how to retrieve build information from dependencies, and how we can automatically provide important information to dependents in your package.
18
18
19
19
----------------------
20
20
Setup for the Tutorial
@@ -33,29 +33,29 @@ These package definitions are stored in a separate package repository, which can
At this point it's possible to proceed with the installation of ``elpa ^mpich``
201
+
At this point, it's possible to proceed with the installation of ``elpa ^mpich``
202
202
203
203
------------------------------
204
204
Retrieving Library Information
@@ -213,7 +213,7 @@ This section covers how to retrieve library information from dependencies and ho
213
213
Accessing dependency libraries
214
214
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
215
215
216
-
If you need to access the libraries of a dependency, you can do so via the ``libs`` property of the spec, for example in the ``arpack-ng`` package:
216
+
If we need to access the libraries of a dependency, we can do so via the ``libs`` property of the spec, for example in the ``arpack-ng`` package:
217
217
218
218
.. code-block:: python
219
219
@@ -229,13 +229,13 @@ If you need to access the libraries of a dependency, you can do so via the ``lib
229
229
Note that ``arpack-ng`` is querying virtual dependencies, which Spack automatically resolves to the installed implementation (e.g. ``openblas`` for ``blas``).
230
230
231
231
We've started work on a package for ``armadillo``.
232
-
You should open it, read through the comment that starts with ``# TUTORIAL:`` and complete the ``cmake_args`` section:
232
+
We should open it, read through the comment that starts with ``# TUTORIAL:`` and complete the ``cmake_args`` section:
Hopefully the installation went fine and the code we added expanded to the right list of semicolon separated libraries (you are encouraged to open ``armadillo``'s build logs to double check).
283
+
Hopefully the installation went fine and the code we added expanded to the right list of semicolon separated libraries (we are encouraged to open ``armadillo``'s build logs to double check).
and follow the instructions in the ``# TUTORIAL:`` comment as before.
341
-
What we need to implement is:
341
+
What we will implement is:
342
342
343
343
.. code-block:: python
344
344
@@ -353,7 +353,7 @@ i.e., a property that returns the correct list of libraries for the LAPACK inter
353
353
354
354
We use the name ``lapack_libs`` rather than ``libs`` because ``netlib-lapack`` can also provide ``blas``, and when it does it is provided as a separate library file.
355
355
Using this name ensures that when dependents ask for ``lapack`` libraries, ``netlib-lapack`` will retrieve only the libraries associated with the ``lapack`` interface.
356
-
Now we can finally install ``armadillo ^netlib-lapack ^mpich``:
356
+
Now we will finally install ``armadillo ^netlib-lapack ^mpich``:
357
357
358
358
.. code-block:: console
359
359
@@ -379,8 +379,8 @@ Attach attributes to other packages
379
379
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380
380
381
381
Build tools also usually provide a set of executables that can be used when another package is being installed.
382
-
Spack gives you the opportunity to monkey-patch dependent modules and attach attributes to them.
383
-
This helps make the packager's experience as similar as possible to what would have been the manual installation of the same package.
382
+
Spack gives us the opportunity to monkey-patch dependent modules and attach attributes to them.
383
+
This helps make our experience as similar as possible to what would have been the manual installation of the same package.
384
384
385
385
An example here is the ``automake`` package, which overrides
We can see from the error that ``netcdf`` needs to know how to link the *high-level interface* of ``hdf5``, and thus passes the extra parameter ``hl`` after the request to retrieve it.
434
-
Clearly the implementation in the ``hdf5`` package is not complete, and we need to fix it:
434
+
Clearly the implementation in the ``hdf5`` package is not complete, and we will fix it:
Copy file name to clipboardExpand all lines: tutorial_basics.rst
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,8 +8,8 @@
8
8
Basic Installation Tutorial
9
9
=========================================
10
10
11
-
This tutorial will guide you through the process of installing software using Spack.
12
-
We will first cover the ``spack install`` command, focusing on the power of the spec syntax and the flexibility it gives to users.
11
+
This tutorial will guide us through the process of installing software using Spack.
12
+
First, we will cover the ``spack install`` command, focusing on the power of the spec syntax and the flexibility it gives to users.
13
13
We will also cover the ``spack find`` command for viewing installed packages and the ``spack uninstall`` command for uninstalling them.
14
14
Finally, we will touch on how Spack manages compilers, especially as it relates to using Spack-built compilers within Spack.
15
15
We will include full output from all of the commands demonstrated, although we will frequently call attention to only small portions of that output (or merely to the fact that it succeeded).
@@ -35,7 +35,7 @@ Spack has some nice command-line integration tools, so instead of simply prepend
35
35
36
36
$ . share/spack/setup-env.sh
37
37
38
-
You're good to go!
38
+
We're good to go!
39
39
40
40
-----------------
41
41
What is in Spack?
@@ -72,20 +72,20 @@ Let's go ahead and install ``gmake``,
72
72
.. literalinclude:: outputs/basics/gmake.out
73
73
:language: console
74
74
75
-
You will see Spack installed ``gmake``, ``gcc-runtime``, and ``glibc``.
75
+
We will see Spack installed ``gmake``, ``gcc-runtime``, and ``glibc``.
76
76
The ``glibc`` and ``gcc-runtime`` packages are automatically tracked by Spack to manage consistency requirements among compiler runtimes.
77
77
They do not represent separate software builds from source, but are records of the system's compiler runtime components Spack used for the install.
78
78
For the rest of this section, we will ignore these components and focus on the packages explicitly installed.
79
79
80
80
Spack can install software either from source or from a binary cache.
81
81
Packages in the binary cache are signed with GPG for security.
82
-
For the tutorial we have prepared a binary cache so you don't have to wait on slow compilation from source.
82
+
For the tutorial we have prepared a binary cache so we don't have to wait on slow compilation from source.
83
83
To be able to install from the binary cache, we will need to configure Spack with the location of the binary cache and trust the GPG key that the binary cache was signed with.
84
84
85
85
.. literalinclude:: outputs/basics/mirror.out
86
86
:language: console
87
87
88
-
You'll learn more about configuring Spack later in the tutorial, but for now you will be able to install the rest of the packages in the tutorial from a binary cache using the same ``spack install`` command.
88
+
We'll learn more about configuring Spack later in the tutorial, but for now we will be able to install the rest of the packages in the tutorial from a binary cache using the same ``spack install`` command.
89
89
By default this will install the binary cached version if it exists and fall back on installing from source if it does not.
90
90
91
91
Spack's "spec" syntax is the interface by which we can request specific configurations of a package.
@@ -97,7 +97,7 @@ The ``%`` sigil is used to specify compilers.
97
97
Note that this installation is located separately from the previous one.
98
98
We will discuss this in more detail later, but this is part of what allows Spack to support many versions of software packages.
99
99
100
-
You can check for particular versions before requesting them.
100
+
We can check for particular versions before requesting them.
101
101
We will use the ``spack versions`` command to see the available versions, and then install a different version of ``zlib-ng``.
You can control how the output is displayed with a number of options.
237
+
We can control how the output is displayed with a number of options.
238
238
239
239
The ASCII output from ``spack graph`` can be difficult to parse for complicated packages.
240
240
The output can be changed to the Graphviz ``.dot`` format using the ``--dot`` flag.
@@ -250,7 +250,7 @@ Uninstalling Packages
250
250
---------------------
251
251
252
252
Earlier we installed many configurations each of zlib-ng and Tcl.
253
-
Now we will go through and uninstall some of those packages that we didn't really need.
253
+
Now, let's go through and uninstall some of those packages that we didn't really need.
254
254
255
255
.. literalinclude:: outputs/basics/find-d-tcl.out
256
256
:language: console
@@ -269,8 +269,8 @@ We can uninstall packages by spec using the same syntax as install.
269
269
We can also uninstall packages by referring only to their hash.
270
270
271
271
We can use either the ``--force`` (or ``-f``) flag or the ``--dependents`` (or ``-R``) flag to remove packages that are required by another installed package.
272
-
Use ``--force`` to remove just the specified package, leaving dependents broken.
273
-
Use ``--dependents`` to remove the specified package and all of its dependents.
272
+
Let's use ``--force`` to remove just the specified package, leaving dependents broken.
273
+
Let's use ``--dependents`` to remove the specified package and all of its dependents.
0 commit comments