summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorChris Marsh <chrismarsh.c2@gmail.com>2024-03-02 13:05:59 -0600
committerGitHub <noreply@github.com>2024-03-02 11:05:59 -0800
commiteb36bb2a8f898d746f7ed14a7c2cf0e4ac332323 (patch)
treefd845fd0798c52c067b422b6386bd651733e7354 /var
parent8dcf86088855a553e8da2bf68f4998e835dd120b (diff)
downloadspack-eb36bb2a8f898d746f7ed14a7c2cf0e4ac332323.tar.gz
spack-eb36bb2a8f898d746f7ed14a7c2cf0e4ac332323.tar.bz2
spack-eb36bb2a8f898d746f7ed14a7c2cf0e4ac332323.tar.xz
spack-eb36bb2a8f898d746f7ed14a7c2cf0e4ac332323.zip
netcdf-c package: correct library names (#42878)
An incorrect hdf5 library name is added to pkconfig and CMake config files when netcdf-c is built with CMake.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/netcdf-c/package.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/netcdf-c/package.py b/var/spack/repos/builtin/packages/netcdf-c/package.py
index 84f854fec9..0ccd9298fe 100644
--- a/var/spack/repos/builtin/packages/netcdf-c/package.py
+++ b/var/spack/repos/builtin/packages/netcdf-c/package.py
@@ -351,6 +351,24 @@ class CMakeBuilder(BaseBuilder, cmake.CMakeBuilder):
base_cmake_args.append(self.define("NC_FIND_SHARED_LIBS", False))
return base_cmake_args
+ @run_after("install")
+ def patch_hdf5_pkgconfigcmake(self):
+ """
+ Incorrect hdf5 library names are put in the package config and config.cmake files
+ due to incorrectly using hdf5 target names
+ https://github.com/spack/spack/pull/42878
+ """
+
+ pkgconfig_file = find(self.prefix, "netcdf.pc", recursive=True)
+ cmakeconfig_file = find(self.prefix, "netCDFTargets.cmake", recursive=True)
+ ncconfig_file = find(self.prefix, "nc-config", recursive=True)
+ settingsconfig_file = find(self.prefix, "libnetcdf.settings", recursive=True)
+
+ files = pkgconfig_file + cmakeconfig_file + ncconfig_file + settingsconfig_file
+
+ filter_file("hdf5-shared", "hdf5", *files, ignore_absent=True)
+ filter_file("hdf5_hl-shared", "hdf5_hl", *files, ignore_absent=True)
+
class AutotoolsBuilder(BaseBuilder, autotools.AutotoolsBuilder):
@property