diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2023-04-14 10:59:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 10:59:12 +0200 |
commit | 9ec289857cd488c2de6f17537b7778052c2ab947 (patch) | |
tree | 51d6520fa6f01f153dade67ae4c3f01f511264a5 /var | |
parent | 92144d637560a7442ce9811a1c7492e19dd38156 (diff) | |
download | spack-9ec289857cd488c2de6f17537b7778052c2ab947.tar.gz spack-9ec289857cd488c2de6f17537b7778052c2ab947.tar.bz2 spack-9ec289857cd488c2de6f17537b7778052c2ab947.tar.xz spack-9ec289857cd488c2de6f17537b7778052c2ab947.zip |
netcdf: fix bugs introduced with multiple build systems split (#36825)
Fixes #36689
- The "base" builder class should be last in the MRO
- `filter_compiler_wrappers` needs to be moved to builders
- Decorating a function from a mixin class require using
the correct metaclass for the mixin
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/netcdf-c/package.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py index f7024353d0..25d93a52cf 100644 --- a/var/spack/repos/builtin/packages/netcdf-c/package.py +++ b/var/spack/repos/builtin/packages/netcdf-c/package.py @@ -6,8 +6,8 @@ import os import sys -from spack.build_systems.autotools import AutotoolsBuilder -from spack.build_systems.cmake import CMakeBuilder +import spack.builder +from spack.build_systems import autotools, cmake from spack.package import * @@ -151,8 +151,6 @@ class NetcdfC(CMakePackage, AutotoolsPackage): conflicts("+parallel-netcdf", when="@:4.0") conflicts("+hdf4", when="@:4.0") - filter_compiler_wrappers("nc-config", relative_root="bin") - default_build_system = "cmake" if sys.platform == "win32" else "autotools" build_system("cmake", "autotools", default=default_build_system) @@ -178,7 +176,7 @@ class Setup: env.prepend_path("PATH", self._nc_config_backup_dir) -class BackupStep: +class BackupStep(metaclass=spack.builder.PhaseCallbacksMeta): @property def _nc_config_backup_dir(self): return join_path(self.pkg.metadata_dir, "spack-nc-config") @@ -191,8 +189,10 @@ class BackupStep: mkdirp(self._nc_config_backup_dir) install(nc_config_file, self._nc_config_backup_dir) + filter_compiler_wrappers("nc-config", relative_root="bin") + -class CMakeBuilder(CMakeBuilder, BackupStep, Setup): +class CMakeBuilder(BackupStep, Setup, cmake.CMakeBuilder): def cmake_args(self): base_cmake_args = [ self.define_from_variant("BUILD_SHARED_LIBS", "shared"), @@ -212,7 +212,7 @@ class CMakeBuilder(CMakeBuilder, BackupStep, Setup): return base_cmake_args -class AutotoolsBuilder(AutotoolsBuilder, BackupStep, Setup): +class AutotoolsBuilder(BackupStep, Setup, autotools.AutotoolsBuilder): @property def force_autoreconf(self): # The patch for 4.7.0 touches configure.ac. |