summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2023-04-14 10:59:12 +0200
committerGitHub <noreply@github.com>2023-04-14 10:59:12 +0200
commit9ec289857cd488c2de6f17537b7778052c2ab947 (patch)
tree51d6520fa6f01f153dade67ae4c3f01f511264a5 /var
parent92144d637560a7442ce9811a1c7492e19dd38156 (diff)
downloadspack-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.py14
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.