Skip to content

Commit a4efcdf

Browse files
authored
Merge pull request #528 from climbfuji/feature/merge_rel190_into_spack_stack_dev
Merge release/1.9.0 into spack-stack-dev
2 parents cbff2ae + 0d4085d commit a4efcdf

File tree

6 files changed

+45
-18
lines changed

6 files changed

+45
-18
lines changed

var/spack/repos/builtin/packages/crtm/package.py

+10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
#
44
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
55

6+
import glob
7+
import os
8+
69
from spack.package import *
710

811

@@ -103,3 +106,10 @@ def patch(self):
103106
)
104107
if not self.run_tests:
105108
filter_file(r"add_subdirectory\(test\)", "# disable testing", "CMakeLists.txt")
109+
110+
@when("@3.1.1-build1")
111+
@run_after("install")
112+
def cmake_config_softlinks(self):
113+
cmake_config_files = glob.glob(join_path(self.prefix, "cmake/crtm/*"))
114+
for srcpath in cmake_config_files:
115+
os.symlink(srcpath, join_path(self.prefix, "cmake", os.path.basename(srcpath)))

var/spack/repos/builtin/packages/eckit/package.py

+15
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,21 @@ def cmake_args(self):
174174
# (the LAPACK backend is still built though):
175175
args.append(self.define("ENABLE_LAPACK", "linalg=lapack" in self.spec))
176176

177+
if self.spec.satisfies("linalg=lapack"):
178+
lapack_vendors = {
179+
"amdlibflame": "AOCL",
180+
"atlas": "ATLAS",
181+
"essl": "IBMESSL",
182+
"flexiblas": "FlexiBLAS",
183+
"fujitsu-ssl2": "Fujitsu_SSL2",
184+
"netlib-lapack": "Generic",
185+
"nvhpc": "NVHPC",
186+
"openblas": "OpenBLAS",
187+
}
188+
if self.spec["lapack"].name in lapack_vendors.keys():
189+
vendor = lapack_vendors[self.spec["lapack"].name]
190+
args.append(self.define("BLA_VENDOR", vendor))
191+
177192
if "+admin" in self.spec and "+termlib" in self.spec["ncurses"]:
178193
# Make sure that libeckit_cmd is linked to a library that resolves 'setupterm',
179194
# 'tputs', etc. That is either libncurses (when 'ncurses~termlib') or libtinfo (when

var/spack/repos/builtin/packages/ectrans/package.py

+5
Original file line numberDiff line numberDiff line change
@@ -77,5 +77,10 @@ def cmake_args(self):
7777
self.define_from_variant("ENABLE_FFTW", "fftw"),
7878
self.define_from_variant("ENABLE_MKL", "mkl"),
7979
self.define_from_variant("ENABLE_TRANSI", "transi"),
80+
# Turn off use of contiguous keyword in Fortran because a number
81+
# of compilers have issues with it, and the hardcoded list of "bad"
82+
# compilers in ectrans is incomplete and isn't kept up to date
83+
# https://github.com/JCSDA/spack-stack/issues/1522
84+
"-DECTRANS_HAVE_CONTIGUOUS_ISSUE=ON",
8085
]
8186
return args

var/spack/repos/builtin/packages/fckit/package.py

+5-16
Original file line numberDiff line numberDiff line change
@@ -51,17 +51,6 @@ class Fckit(CMakePackage):
5151
depends_on("llvm-openmp", when="+openmp %apple-clang", type=("build", "run"))
5252
variant("shared", default=True, description="Build shared libraries")
5353
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")
54-
variant(
55-
"finalize_ddts",
56-
default="auto",
57-
description="Enable / disable automatic finalization of derived types",
58-
values=("auto", "no", "yes"),
59-
)
60-
61-
# fckit fails to auto-detect/switch off finalization
62-
# of derived types for latest Intel compilers. If set
63-
# to auto, turn off in cmake_args. If set to yes, abort.
64-
conflicts("%[email protected]:", when="finalize_ddts=yes")
6554

6655
def cmake_args(self):
6756
args = [
@@ -73,11 +62,11 @@ def cmake_args(self):
7362
if self.spec.satisfies("~shared"):
7463
args.append("-DBUILD_SHARED_LIBS=OFF")
7564

76-
if "finalize_ddts=auto" not in self.spec:
77-
args.append(self.define_from_variant("ENABLE_FINAL", "finalize_ddts"))
78-
elif "finalize_ddts=auto" in self.spec and self.spec.satisfies("%[email protected]:"):
79-
# See comment above (conflicts for finalize_ddts)
80-
args.append("-DENABLE_FINAL=OFF")
65+
# Turn off finalization of derived data types (DDTs) because it is
66+
# flaky and we can't rely on fckit to auto-detect if the compiler
67+
# supports the feature or not.
68+
# https://github.com/JCSDA/spack-stack/issues/1521
69+
args.append("-DENABLE_FINAL=OFF")
8170

8271
if (
8372
self.spec.satisfies("%intel")

var/spack/repos/builtin/packages/g2c/package.py

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class G2c(CMakePackage):
1818
maintainers("AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett")
1919

2020
version("develop", branch="develop")
21+
version("2.1.0", sha256="74e3ef381f0339dc181bc3afaa54c98f76257508375ff664d243d76825006605")
2122
version("2.0.0", sha256="39c23bf1219c60101548c8525e3a879c84119558f768081779d404a8caf4cec9")
2223
version("1.9.0", sha256="5554276e18bdcddf387a08c2dd23f9da310c6598905df6a2a244516c22ded9aa")
2324
version("1.8.0", sha256="4ce9f5a7cb0950699fe08ebc5a463ab4d09ef550c050391a319308a2494f971f")
@@ -93,6 +94,9 @@ def setup_run_environment(self, env):
9394
env.set("G2C_LIB", lib[0])
9495
env.set("G2C_INC", join_path(self.prefix, "include"))
9596

97+
def patch(self):
98+
filter_file(r"^(\s+find_package\(PkgConfig REQUIRED\))", r"#\1", "CMakeLists.txt")
99+
96100
def check(self):
97101
with working_dir(self.builder.build_directory):
98102
make("test")

var/spack/repos/builtin/packages/wgrib2/package.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ class Wgrib2(MakefilePackage, CMakePackage):
4545
"""Utility for interacting with GRIB2 files"""
4646

4747
homepage = "https://www.cpc.ncep.noaa.gov/products/wesley/wgrib2"
48-
url = "https://www.ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/wgrib2.tgz.v2.0.8"
49-
git = "https://github.com/NOAA-EMC/wgrib2"
48+
url = "https://github.com/NOAA-EMC/wgrib2/archive/refs/tags/v3.5.0.tar.gz"
49+
git = "https://github.com/NOAA-EMC/wgrib2.git"
5050

5151
maintainers(
5252
"AlysonStahl-NOAA", "t-brown", "AlexanderRichert-NOAA", "Hang-Lei-NOAA", "edwardhartnett"
@@ -57,6 +57,7 @@ class Wgrib2(MakefilePackage, CMakePackage):
5757
)
5858

5959
version("develop", branch="develop")
60+
version("3.6.0", sha256="55913cb58f2b329759de17f5a84dd97ad1844d7a93956d245ec94f4264d802be")
6061
version("3.5.0", sha256="b27b48228442a08bddc3d511d0c6335afca47252ae9f0e41ef6948f804afa3a1")
6162
version("3.4.0", sha256="ecbce2209c09bd63f1bca824f58a60aa89db6762603bda7d7d3fa2148b4a0536")
6263
version("3.3.0", sha256="010827fba9c31f05807e02375240950927e9e51379e1444388153284f08f58e2")
@@ -82,6 +83,9 @@ class Wgrib2(MakefilePackage, CMakePackage):
8283
extension="tar.gz",
8384
)
8485

86+
depends_on("c", type="build")
87+
depends_on("fortran", type="build")
88+
8589
def url_for_version(self, version):
8690
if version >= Version("3.2.0"):
8791
url_fmt = "https://github.com/NOAA-EMC/wgrib2/archive/refs/tags/v{0}.tar.gz"

0 commit comments

Comments
 (0)