spack/lib/spack/docs/build_systems
Harmen Stoppels 2929ea02a1
Move builders into builtin repo (#50452)
Builders and package classes refer to packages from the builtin package
repo and are often modified together with packages. That means that
these classes should move into `spack_repo.builtin`.

* move `spack.build_systems` -> `spack_repo.builtin.build_systems`

* Remove the following re-exports from the `spack.package` module:
  - `AspellDictPackage`                 - `LuaPackage`
  - `AutotoolsPackage`                  - `MakefilePackage`
  - `BundlePackage`                     - `MavenPackage`
  - `CachedCMakePackage`                - `MesonPackage`
  - `cmake_cache_filepath`              - `MSBuildPackage`
  - `cmake_cache_option`                - `NMakePackage`
  - `cmake_cache_path`                  - `OctavePackage`
  - `cmake_cache_string`                - `PerlPackage`
  - `CargoPackage`                      - `PythonExtension`
  - `CMakePackage`                      - `PythonPackage`
  - `generator`                         - `QMakePackage`
  - `CompilerPackage`                   - `RacketPackage`
  - `CudaPackage`                       - `RPackage`
  - `Package`                           - `ROCmPackage`
  - `GNUMirrorPackage`                  - `RubyPackage`
  - `GoPackage`                         - `SConsPackage`
  - `IntelPackage`                      - `SIPPackage`
  - `IntelOneApiLibraryPackageWithSdk`  - `SourceforgePackage`
  - `IntelOneApiLibraryPackage`         - `SourcewarePackage`
  - `IntelOneApiStaticLibraryList`      - `WafPackage`
  - `IntelOneApiPackage`                - `XorgPackage`
  - `INTEL_MATH_LIBRARIES`

* update mock packages to repo v2.0 and add copies of packages/build
  systems they use from builtin

* add missing imports to build systems in `package.py` from builtin
  and test repos

* update various tests

This PR is breaking because of removal of various names from
 `spack.package`, but breakage should be minimal thanks to #50496, which
 ensures the above names are always imported in repo v1 packages.

Specifically this PR breaks imports like the following in `package.py` files:

```python
from spack.package import Package
```

but if your repo is v1.0 (see `spack repo list`) and has the following
much more common pattern:

```python
from spack.package import *
```

nothing should break.
2025-05-18 20:31:20 -07:00
..
Autoconf-automake-process.svg
autotoolspackage.rst Docs/bugfix: correct return for Adding flags to configure (#48434) 2025-01-29 13:04:22 -08:00
bundlepackage.rst builtin: use api v2.0 and update dir structure (#49275) 2025-05-06 12:05:44 +02:00
cachedcmakepackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
cmakepackage.rst Move builders into builtin repo (#50452) 2025-05-18 20:31:20 -07:00
cudapackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
custompackage.rst builtin: use api v2.0 and update dir structure (#49275) 2025-05-06 12:05:44 +02:00
inteloneapipackage.rst Update documentation after compiler as deps (#49715) 2025-03-27 11:19:35 +01:00
luapackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
makefilepackage.rst builtin: use api v2.0 and update dir structure (#49275) 2025-05-06 12:05:44 +02:00
mavenpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
mesonpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
octavepackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
perlpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
pythonpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
qmakepackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
racketpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
rocmpackage.rst Update documentation after compiler as deps (#49715) 2025-03-27 11:19:35 +01:00
rpackage.rst builtin: use api v2.0 and update dir structure (#49275) 2025-05-06 12:05:44 +02:00
rubypackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
sconspackage.rst builtin: use api v2.0 and update dir structure (#49275) 2025-05-06 12:05:44 +02:00
sippackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
sourceforgepackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
wafpackage.rst Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00