|
1 | | -# Packaging for High-Performance Computing (Notes) |
| 1 | +# Packaging for High-Performance Computing Demo Notes |
2 | 2 |
|
3 | 3 | **Note**: It is recommended to try out Spack in a fresh Docker container. To understand how Spack itself is installed, follow Step 1 in a fresh Ubuntu Noble container (`docker run --rm -it ubuntu:noble`). To make things simpler from Step 2 onwards, create a container from the [spack/ubuntu-noble](https://hub.docker.com/r/spack/ubuntu-noble) image, so that Spack is preinstalled. |
4 | 4 |
|
|
122 | 122 | - Spack has deduced a good amount of information already. |
123 | 123 | - We work with CMake |
124 | 124 | - There are 3 releases of the software |
125 | | - - The URL to download packages |
126 | | - - The name of the Package we work with `class Helloworld`. This is also the name of the software now within Spack. |
| 125 | + - The URL to download the package |
| 126 | + - The name of the package we work with `class Helloworld`. This is also the name of the software now within Spack. |
127 | 127 | - We want to fix/extend the package with some standard information |
128 | 128 | - Package description |
129 | 129 | - Set URL to SSE homepage |
130 | | - - Add our GitHub username as maintainer |
131 | | - - Remove the `cmake_args` part as we only have a standard CMake arguments. Here we could give extra/special arguments specific to the software package. |
| 130 | + - Add GitHub username as maintainer |
| 131 | + - Remove the `cmake_args` part as there are only standard CMake arguments. |
132 | 132 |
|
133 | 133 | - Concretize the package |
134 | 134 |
|
|
144 | 144 | ^cmake@3.16.3%gcc@9.3.0~doc+ncurses+openssl+ownlibs~qt build_type=Release patches=1c540040c7e203dd8e27aa20345ecb07fe06570d56410a24a266ae570b1c4c39,bf695e3febb222da2ed94b3beea600650e4318975da90e4a71d6f31a6d5d8c3d arch=linux-ubuntu20.04-skylake |
145 | 145 | ``` |
146 | 146 |
|
147 | | - We see that `cmake` is an implicit dependency as we need it for building our package. |
| 147 | + `cmake` is an implicit dependency as we need it for building our package. |
148 | 148 |
|
149 | 149 | - If the same Docker container as in step 2 is used, make sure to uninstall `zlib` before installing `helloworld`. |
150 | 150 |
|
|
193 | 193 | - Add the `main` branch as a version |
194 | 194 |
|
195 | 195 | ```diff |
196 | | - + git = "https://github.com/Simulation-Software-Engineering/HelloWorld.git" |
| 196 | + + git = "https://github.com/Simulation-Software-Engineering/HelloWorld.git" |
197 | 197 | + |
198 | 198 | + version("main", branch="main") |
199 | 199 | ``` |
|
233 | 233 | spack info helloworld |
234 | 234 | ``` |
235 | 235 |
|
236 | | - where Python now shows up as variant with its description. We can deactivate Python by specifying |
| 236 | + where Python now shows up as variant with its description. Python dependency is removed by doing |
237 | 237 |
|
238 | 238 | ```bash |
239 | 239 | spack info helloworld -python |
240 | 240 | ``` |
241 | 241 |
|
242 | | - `~` can be (often) used instead of `-`. There are [examples in the documentation](https://spack.readthedocs.io/en/latest/basic_usage.html#variants). |
243 | | - |
244 | 242 | ## Further material |
245 | 243 |
|
246 | 244 | ### References |
|
0 commit comments