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
As mentioned earlier, Spack's ``CMakePackage`` uses sensible defaults to reduce boilerplate and simplify writing package files for ``CMake``-based software.
530
520
@@ -534,7 +524,7 @@ We can return these options from ``cmake_args()`` like so:
==> Warning: Spack was unable to fetch url list due to a certificate verification problem. You can try running spack -k, which will not check SSL certificates. Use this at your own risk.
==> Changing package name from pandas to py-pandas
613
607
==> Created template for py-pandas package
614
-
==> Created package file: /Users/mamelara/spack/var/spack/repos/builtin/packages/py-pandas/package.py
608
+
==> Created package file: /home/spack/spack/var/spack/repos/spack_repo/builtin/packages/py_pandas/package.py
615
609
616
610
And we are left with the following template:
617
611
@@ -671,18 +665,22 @@ From this example, you can see that building Python modules is made easy through
671
665
Other Build Systems
672
666
-------------------
673
667
674
-
Although we won't get in depth with any of the other build systems that Spack supports, it is worth mentioning that Spack does provide subclasses for the following build systems:
668
+
While we won't go in depth on the other build systems that Spack supports, it's worth noting that Spack provides support for many specialized build systems beyond the ones covered in this tutorial.
...and `many more <https://spack.readthedocs.io/en/latest/build_systems.html>`_!
682
679
680
+
Each of these build system classes provides abstractions to simplify and standardize the process of writing package recipes.
681
+
They help manage common build logic and reduce duplication across packages in the same ecosystem.
683
682
684
-
Each of these classes have their own abstractions to help assist in writing package files.
685
-
For whatever doesn't fit nicely into the other build systems, you can use the ``Package`` class.
683
+
For packages that don't align well with any specific build system, Spack also provides a generic ``Package`` base class that gives full control over the build process.
686
684
687
-
Hopefully by now you can see how we aim to make packaging simple and robust through these classes.
688
-
If you want to learn more about these build systems, check out `Implementing the installation procedure <https://spack.readthedocs.io/en/latest/packaging_guide.html#installation-procedure>`_ in the Packaging Guide.
685
+
By now, you've seen how Spack aims to make packaging both simple and robust through its build system abstractions.
686
+
To learn more, refer to the `Overview of the installation procedure <https://spack.readthedocs.io/en/latest/packaging_guide.html#installation-procedure>`_ in the Packaging Guide.
0 commit comments