From 5e7925c50275fa6bbd4e25337c705f0eb8638024 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 22 Apr 2025 09:53:12 +0200 Subject: [PATCH] packages: minor improvements for compiler packages (#50111) Signed-off-by: Massimiliano Culpo --- etc/spack/defaults/darwin/packages.yaml | 2 ++ etc/spack/defaults/packages.yaml | 6 ++++++ etc/spack/defaults/windows/packages.yaml | 2 ++ .../repos/builtin/packages/cce/package.py | 2 ++ .../repos/builtin/packages/fj/package.py | 2 ++ .../repos/builtin/packages/msvc/package.py | 2 ++ .../repos/builtin/packages/nvhpc/package.py | 19 +++++++++++++++++++ .../repos/builtin/packages/xl/package.py | 2 ++ 8 files changed, 37 insertions(+) diff --git a/etc/spack/defaults/darwin/packages.yaml b/etc/spack/defaults/darwin/packages.yaml index 4b0607bb3b3..32a3b940409 100644 --- a/etc/spack/defaults/darwin/packages.yaml +++ b/etc/spack/defaults/darwin/packages.yaml @@ -25,6 +25,8 @@ packages: glu: [apple-glu] unwind: [apple-libunwind] uuid: [apple-libuuid] + apple-clang: + buildable: false apple-gl: buildable: false externals: diff --git a/etc/spack/defaults/packages.yaml b/etc/spack/defaults/packages.yaml index 79a78df3e9d..6cc366511b5 100644 --- a/etc/spack/defaults/packages.yaml +++ b/etc/spack/defaults/packages.yaml @@ -72,6 +72,8 @@ packages: permissions: read: world write: user + cce: + buildable: false cray-fftw: buildable: false cray-libsci: @@ -86,6 +88,8 @@ packages: buildable: false essl: buildable: false + fj: + buildable: false fujitsu-mpi: buildable: false fujitsu-ssl2: @@ -102,3 +106,5 @@ packages: buildable: false spectrum-mpi: buildable: false + xl: + buildable: false diff --git a/etc/spack/defaults/windows/packages.yaml b/etc/spack/defaults/windows/packages.yaml index 7d478f767dc..f18ea28023f 100644 --- a/etc/spack/defaults/windows/packages.yaml +++ b/etc/spack/defaults/windows/packages.yaml @@ -23,3 +23,5 @@ packages: mpi: require: - one_of: [msmpi] + msvc: + buildable: false diff --git a/var/spack/repos/builtin/packages/cce/package.py b/var/spack/repos/builtin/packages/cce/package.py index 080bcf27234..e26980e71c4 100644 --- a/var/spack/repos/builtin/packages/cce/package.py +++ b/var/spack/repos/builtin/packages/cce/package.py @@ -12,6 +12,8 @@ class Cce(Package, CompilerPackage): homepage = "https://cpe.ext.hpe.com/docs/cce/index.html" url = "https://cpe.ext.hpe.com/docs/cce/index.html" + has_code = False + compiler_languages = ["c", "cxx", "fortran"] c_names = ["craycc"] cxx_names = ["crayCC"] diff --git a/var/spack/repos/builtin/packages/fj/package.py b/var/spack/repos/builtin/packages/fj/package.py index dd31eddac73..024749b2226 100644 --- a/var/spack/repos/builtin/packages/fj/package.py +++ b/var/spack/repos/builtin/packages/fj/package.py @@ -19,6 +19,8 @@ class Fj(Package, CompilerPackage): provides("c", "cxx") provides("fortran") + has_code = False + def install(self, spec, prefix): raise InstallError( "Fujitsu compilers are not installable yet, but can be " diff --git a/var/spack/repos/builtin/packages/msvc/package.py b/var/spack/repos/builtin/packages/msvc/package.py index 7140b321698..80678eb5bbd 100644 --- a/var/spack/repos/builtin/packages/msvc/package.py +++ b/var/spack/repos/builtin/packages/msvc/package.py @@ -31,6 +31,8 @@ class Msvc(Package, CompilerPackage): homepage = "https://visualstudio.microsoft.com/vs/features/cplusplus/" + has_code = False + def install(self, spec, prefix): raise InstallError( "MSVC compilers are not installable with Spack, but can be " diff --git a/var/spack/repos/builtin/packages/nvhpc/package.py b/var/spack/repos/builtin/packages/nvhpc/package.py index fb375af1fc8..08e990802d9 100644 --- a/var/spack/repos/builtin/packages/nvhpc/package.py +++ b/var/spack/repos/builtin/packages/nvhpc/package.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) # # Copyright (c) 2020, NVIDIA CORPORATION. All rights reserved. +import glob import os.path import platform @@ -640,5 +641,23 @@ def libs(self): return find_libraries(libs, root=prefix, recursive=True) + def _cc_path(self): + candidates = glob.glob(f"{self.prefix}/**/{self.spec.version}/compilers/bin/nvc") + if not candidates: + return None + return candidates[0] + + def _cxx_path(self): + candidates = glob.glob(f"{self.prefix}/**/{self.spec.version}/compilers/bin/nvc++") + if not candidates: + return None + return candidates[0] + + def _fortran_path(self): + candidates = glob.glob(f"{self.prefix}/**/{self.spec.version}/compilers/bin/nvfortran") + if not candidates: + return None + return candidates[0] + # Avoid binding stub libraries by absolute path non_bindable_shared_objects = ["stubs"] diff --git a/var/spack/repos/builtin/packages/xl/package.py b/var/spack/repos/builtin/packages/xl/package.py index 6528946e364..afbdc2cbbaf 100644 --- a/var/spack/repos/builtin/packages/xl/package.py +++ b/var/spack/repos/builtin/packages/xl/package.py @@ -14,6 +14,8 @@ class Xl(Package, CompilerPackage): homepage = "https://www.ibm.com/support/knowledgecenter/SSXVZZ_16.1.1/com.ibm.compilers.linux.doc/welcome.html" + has_code = False + variant("r", default=True, description="The _r version of compilers") provides("c", "cxx")