From 18152b9b0ff91ff8806fa2761c2e29d2db13067d Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 25 Sep 2024 15:01:19 +0200 Subject: [PATCH] builtin.mock et al. : changes to packages Signed-off-by: Massimiliano Culpo --- .../builtin.mock/packages/bowtie/package.py | 5 +- .../builtin.mock/packages/callpath/package.py | 2 + .../packages/cmake-client/package.py | 2 + .../builtin.mock/packages/cmake/package.py | 3 + .../packages/conflict-parent/package.py | 1 + .../builtin.mock/packages/conflict/package.py | 2 + .../packages/dt-diamond-bottom/package.py | 2 + .../packages/dt-diamond-left/package.py | 1 + .../packages/dt-diamond-right/package.py | 1 + .../packages/dt-diamond/package.py | 2 + .../builtin.mock/packages/dyninst/package.py | 2 + .../builtin.mock/packages/fftw/package.py | 2 + .../repos/builtin.mock/packages/gcc-runtime | 1 + .../builtin.mock/packages/gcc/package.py | 96 ++++++++++++++++++- .../intel-oneapi-compilers/package.py | 2 + .../builtin.mock/packages/libdwarf/package.py | 3 + .../builtin.mock/packages/libelf/package.py | 2 + .../builtin.mock/packages/llvm/package.py | 35 +++++++ .../builtin.mock/packages/mpich/package.py | 4 + .../builtin.mock/packages/mpich2/package.py | 2 + .../builtin.mock/packages/mpileaks/package.py | 2 + .../packages/multimethod/package.py | 3 +- .../packages/multivalue-variant/package.py | 2 + .../packages/openblas-with-lapack/package.py | 1 + .../builtin.mock/packages/openblas/package.py | 2 + .../builtin.mock/packages/pkg-a/package.py | 2 + .../builtin.mock/packages/pkg-b/package.py | 1 + .../builtin.mock/packages/pkg-c/package.py | 12 +++ .../packages/requires_clang/package.py | 2 + .../packages/requires_clang_or_gcc/package.py | 2 + .../packages/simple-inheritance/package.py | 2 + .../sticky-variant-dependent/package.py | 2 + .../packages/sticky-variant/package.py | 2 + .../packages/with-constraint-met/package.py | 2 + .../builtin.mock/packages/zmpi/package.py | 2 + .../repos/compiler_runtime.test/packages/gcc | 1 + .../packages/gcc-runtime | 1 + .../packages/gcc-runtime/package.py | 13 --- .../packages/gcc/package.py | 35 ------- .../compiler_runtime.test/packages/glibc | 1 + .../compiler_runtime.test/packages/gmake | 1 + .../compiler_runtime.test/packages/gnuconfig | 1 + .../packages/pkg-a/package.py | 3 + .../packages/pkg-b/package.py | 3 + var/spack/repos/duplicates.test/packages/gcc | 1 + .../duplicates.test/packages/gcc-runtime | 1 + .../repos/duplicates.test/packages/glibc | 1 + .../repos/duplicates.test/packages/gnuconfig | 1 + var/spack/repos/duplicates.test/packages/llvm | 1 + var/spack/repos/edges.test/packages/gcc | 1 + .../repos/edges.test/packages/gcc-runtime | 1 + var/spack/repos/edges.test/packages/glibc | 1 + var/spack/repos/edges.test/packages/gmake | 1 + var/spack/repos/edges.test/packages/gnuconfig | 1 + var/spack/repos/edges.test/packages/llvm | 1 + var/spack/repos/flags.test/packages/gcc | 1 + .../repos/flags.test/packages/gcc-runtime | 1 + var/spack/repos/flags.test/packages/glibc | 1 + var/spack/repos/flags.test/packages/gmake | 1 + var/spack/repos/flags.test/packages/gnuconfig | 1 + .../repos/requirements.test/packages/gcc | 1 + .../requirements.test/packages/gcc-runtime | 1 + .../repos/requirements.test/packages/glibc | 1 + .../repos/requirements.test/packages/gmake | 1 + .../requirements.test/packages/gnuconfig | 1 + .../repos/requirements.test/packages/llvm | 1 + 66 files changed, 239 insertions(+), 51 deletions(-) create mode 120000 var/spack/repos/builtin.mock/packages/gcc-runtime create mode 120000 var/spack/repos/compiler_runtime.test/packages/gcc create mode 120000 var/spack/repos/compiler_runtime.test/packages/gcc-runtime delete mode 100644 var/spack/repos/compiler_runtime.test/packages/gcc-runtime/package.py delete mode 100644 var/spack/repos/compiler_runtime.test/packages/gcc/package.py create mode 120000 var/spack/repos/compiler_runtime.test/packages/glibc create mode 120000 var/spack/repos/compiler_runtime.test/packages/gmake create mode 120000 var/spack/repos/compiler_runtime.test/packages/gnuconfig create mode 120000 var/spack/repos/duplicates.test/packages/gcc create mode 120000 var/spack/repos/duplicates.test/packages/gcc-runtime create mode 120000 var/spack/repos/duplicates.test/packages/glibc create mode 120000 var/spack/repos/duplicates.test/packages/gnuconfig create mode 120000 var/spack/repos/duplicates.test/packages/llvm create mode 120000 var/spack/repos/edges.test/packages/gcc create mode 120000 var/spack/repos/edges.test/packages/gcc-runtime create mode 120000 var/spack/repos/edges.test/packages/glibc create mode 120000 var/spack/repos/edges.test/packages/gmake create mode 120000 var/spack/repos/edges.test/packages/gnuconfig create mode 120000 var/spack/repos/edges.test/packages/llvm create mode 120000 var/spack/repos/flags.test/packages/gcc create mode 120000 var/spack/repos/flags.test/packages/gcc-runtime create mode 120000 var/spack/repos/flags.test/packages/glibc create mode 120000 var/spack/repos/flags.test/packages/gmake create mode 120000 var/spack/repos/flags.test/packages/gnuconfig create mode 120000 var/spack/repos/requirements.test/packages/gcc create mode 120000 var/spack/repos/requirements.test/packages/gcc-runtime create mode 120000 var/spack/repos/requirements.test/packages/glibc create mode 120000 var/spack/repos/requirements.test/packages/gmake create mode 120000 var/spack/repos/requirements.test/packages/gnuconfig create mode 120000 var/spack/repos/requirements.test/packages/llvm diff --git a/var/spack/repos/builtin.mock/packages/bowtie/package.py b/var/spack/repos/builtin.mock/packages/bowtie/package.py index ba5c60223bf..42497fd6d66 100644 --- a/var/spack/repos/builtin.mock/packages/bowtie/package.py +++ b/var/spack/repos/builtin.mock/packages/bowtie/package.py @@ -16,5 +16,8 @@ class Bowtie(Package): version("1.2.2", md5="1c837ecd990bb022d07e7aab32b09847") version("1.2.0", md5="1c837ecd990bb022d07e7aab32b09847") + depends_on("c", type="build") + conflicts("%gcc@:4.5.0", when="@1.2.2") - conflicts("%gcc@:10.2.1", when="@:1.3.0") + conflicts("%gcc@:10.2.1", when="@:1.2.9") + conflicts("%gcc", when="@1.3") diff --git a/var/spack/repos/builtin.mock/packages/callpath/package.py b/var/spack/repos/builtin.mock/packages/callpath/package.py index a960f9866a0..347fe8d9a6a 100644 --- a/var/spack/repos/builtin.mock/packages/callpath/package.py +++ b/var/spack/repos/builtin.mock/packages/callpath/package.py @@ -14,6 +14,8 @@ class Callpath(Package): version("0.9", md5="0123456789abcdef0123456789abcdef") version("1.0", md5="0123456789abcdef0123456789abcdef") + depends_on("c", type="build") + depends_on("dyninst") depends_on("mpi") diff --git a/var/spack/repos/builtin.mock/packages/cmake-client/package.py b/var/spack/repos/builtin.mock/packages/cmake-client/package.py index b196e089911..88080393feb 100644 --- a/var/spack/repos/builtin.mock/packages/cmake-client/package.py +++ b/var/spack/repos/builtin.mock/packages/cmake-client/package.py @@ -30,6 +30,8 @@ class CmakeClient(CMakePackage): variant("single", description="", default="blue", values=("blue", "red", "green"), multi=False) variant("truthy", description="", default=True) + depends_on("c", type="build") + callback_counter = 0 flipped = False diff --git a/var/spack/repos/builtin.mock/packages/cmake/package.py b/var/spack/repos/builtin.mock/packages/cmake/package.py index 670c170eebb..b5f962b40c8 100644 --- a/var/spack/repos/builtin.mock/packages/cmake/package.py +++ b/var/spack/repos/builtin.mock/packages/cmake/package.py @@ -21,6 +21,9 @@ class Cmake(Package): homepage = "https://www.cmake.org" url = "https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz" + depends_on("c", type="build") + depends_on("cxx", type="build") + version( "3.23.1", md5="4cb3ff35b2472aae70f542116d616e63", diff --git a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py index 65179dd59f9..bc2f04757aa 100644 --- a/var/spack/repos/builtin.mock/packages/conflict-parent/package.py +++ b/var/spack/repos/builtin.mock/packages/conflict-parent/package.py @@ -15,6 +15,7 @@ class ConflictParent(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") depends_on("conflict") + depends_on("c", type="build") conflicts("^conflict~foo", when="@0.9") diff --git a/var/spack/repos/builtin.mock/packages/conflict/package.py b/var/spack/repos/builtin.mock/packages/conflict/package.py index a2b6bacae9a..152c8384f3e 100644 --- a/var/spack/repos/builtin.mock/packages/conflict/package.py +++ b/var/spack/repos/builtin.mock/packages/conflict/package.py @@ -18,6 +18,8 @@ class Conflict(Package): conflicts("%clang", when="+foo") + depends_on("c", type="build") + def install(self, spec, prefix): configure("--prefix=%s" % prefix) make() diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py index 43ee6ee605d..d540a80a440 100644 --- a/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py +++ b/var/spack/repos/builtin.mock/packages/dt-diamond-bottom/package.py @@ -13,3 +13,5 @@ class DtDiamondBottom(Package): url = "http://www.example.com/dt-diamond-bottom-1.0.tar.gz" version("1.0", md5="0123456789abcdef0123456789abcdef") + + depends_on("c", type="build") diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py index 5ec1d3d880d..fc5e021376f 100644 --- a/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py +++ b/var/spack/repos/builtin.mock/packages/dt-diamond-left/package.py @@ -15,3 +15,4 @@ class DtDiamondLeft(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") depends_on("dt-diamond-bottom", type="build") + depends_on("c", type="build") diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py index ed07cb222fa..812c605a7c4 100644 --- a/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py +++ b/var/spack/repos/builtin.mock/packages/dt-diamond-right/package.py @@ -15,3 +15,4 @@ class DtDiamondRight(Package): version("1.0", md5="0123456789abcdef0123456789abcdef") depends_on("dt-diamond-bottom", type=("build", "link", "run")) + depends_on("c", type="build") diff --git a/var/spack/repos/builtin.mock/packages/dt-diamond/package.py b/var/spack/repos/builtin.mock/packages/dt-diamond/package.py index 580b06682f6..4b358d9466f 100644 --- a/var/spack/repos/builtin.mock/packages/dt-diamond/package.py +++ b/var/spack/repos/builtin.mock/packages/dt-diamond/package.py @@ -16,3 +16,5 @@ class DtDiamond(Package): depends_on("dt-diamond-left") depends_on("dt-diamond-right") + + depends_on("c", type="build") diff --git a/var/spack/repos/builtin.mock/packages/dyninst/package.py b/var/spack/repos/builtin.mock/packages/dyninst/package.py index a7a45f2ab10..ad495f3b37c 100644 --- a/var/spack/repos/builtin.mock/packages/dyninst/package.py +++ b/var/spack/repos/builtin.mock/packages/dyninst/package.py @@ -29,6 +29,8 @@ class Dyninst(Package): depends_on("libelf") depends_on("libdwarf") + depends_on("c", type="build") + def install(self, spec, prefix): mkdirp(prefix) touch(join_path(prefix, "dummyfile")) diff --git a/var/spack/repos/builtin.mock/packages/fftw/package.py b/var/spack/repos/builtin.mock/packages/fftw/package.py index e4d63aa93ea..c93df568435 100644 --- a/var/spack/repos/builtin.mock/packages/fftw/package.py +++ b/var/spack/repos/builtin.mock/packages/fftw/package.py @@ -19,4 +19,6 @@ class Fftw(Package): variant("mpi", default=False, description="Enable MPI") + depends_on("c", type="build") + depends_on("mpi", when="+mpi") diff --git a/var/spack/repos/builtin.mock/packages/gcc-runtime b/var/spack/repos/builtin.mock/packages/gcc-runtime new file mode 120000 index 00000000000..6f620d9d8c2 --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/gcc-runtime @@ -0,0 +1 @@ +../../builtin/packages/gcc-runtime \ No newline at end of file diff --git a/var/spack/repos/builtin.mock/packages/gcc/package.py b/var/spack/repos/builtin.mock/packages/gcc/package.py index fa2b0309ff1..eea9b364a9c 100644 --- a/var/spack/repos/builtin.mock/packages/gcc/package.py +++ b/var/spack/repos/builtin.mock/packages/gcc/package.py @@ -2,6 +2,7 @@ # Spack Project Developers. See the top-level COPYRIGHT file for details. # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import os.path from spack.package import * @@ -24,7 +25,9 @@ class Gcc(CompilerPackage, Package): description="Compilers and runtime libraries to build", ) - depends_on("conflict", when="@3.0") + provides("c", when="languages=c") + provides("cxx", when="languages=c++") + provides("fortran", when="languages=fortran") c_names = ["gcc"] cxx_names = ["g++"] @@ -34,9 +37,100 @@ class Gcc(CompilerPackage, Package): compiler_version_regex = r"(?