spack/share/spack
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
..
bash Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
bootstrap Move %compiler last in static spec strings (#49438) 2025-03-12 19:41:43 +01:00
csh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
docker Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
docs/docker/module-file-tutorial Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
fish Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
gitlab/cloud_pipelines ci: remove ck from ML ROCm stack (#50508) 2025-05-17 13:33:22 +02:00
keys update tutorial command for v0.18.0 and new gpg key (#30904) 2022-05-28 02:36:20 +00:00
logo add artisanal handcrafted SVG Spack logo. (#6165) 2017-11-06 22:42:16 -08:00
qa repo.py: enable search paths when spack.repo.PATH is assigned (#50370) 2025-05-08 13:42:20 +02:00
templates Move builders into builtin repo (#50452) 2025-05-18 20:31:20 -07:00
setup-env.bat Normalize Spack Win entry points (#38648) 2024-10-25 15:23:29 -04:00
setup-env.csh setup-env.csh: Harden for people who like aliases (#49670) 2025-03-25 09:01:28 -07:00
setup-env.fish Fix setup.fish syntax (#49176) 2025-02-25 07:11:55 -06:00
setup-env.ps1 Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
setup-env.sh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
setup-tutorial-env.sh Remove years from license headers (#48352) 2025-01-02 15:40:28 +01:00
spack-completion.bash spack repo migrate: support v1 -> v2 migration for package api (#50507) 2025-05-16 17:18:33 +02:00
spack-completion.fish spack repo migrate: support v1 -> v2 migration for package api (#50507) 2025-05-16 17:18:33 +02:00