Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various version updates for spack-stack-1.5.0 (met, metplus, eckit, fckit, fiat, ecmwf-atlas) #304

Merged
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions var/spack/repos/builtin/packages/eckit/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ class Eckit(CMakePackage):

maintainers("skosukhin", "climbfuji")

version("1.24.4", sha256="b6129eb4f7b8532aa6905033e4cf7d09aadc8547c225780fea3db196e34e4671")
version("1.23.1", sha256="cd3c4b7a3a2de0f4a59f00f7bab3178dd59c0e27900d48eaeb357975e8ce2f15")
version("1.23.0", sha256="3cac55ddf7036ecd32cb0974a1ec3a2d347de574ab3a2c0bb6c6f8982e5a7a09")
version("1.22.1", sha256="a3463d07e47e3bd3e5efa13fdc03d7d3a30ada919ccec3259c6c9c7da4cfdfd9")
Expand Down
18 changes: 11 additions & 7 deletions var/spack/repos/builtin/packages/ecmwf-atlas/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,20 @@ class EcmwfAtlas(CMakePackage):

version("master", branch="master")
version("develop", branch="develop")
version("0.34.0", sha256="48536742cec0bc268695240843ac0e232e2b5142d06b19365688d9ea44dbd9ba")
version("0.33.0", sha256="a91fffe9cecb51c6ee8549cbc20f8279e7b1f67dd90448e6c04c1889281b0600")
version("0.32.1", sha256="3d1a46cb7f50e1a6ae9e7627c158760e132cc9f568152358e5f78460f1aaf01b")
version("0.31.1", sha256="fa9274c74c40c2115b9c6120a7040e357b0c7f37b20b601b684d2a83a479cdfb")
version("0.31.0", sha256="fa4ff8665544b8e19f79d171c540a9ca8bfc4127f52a3c4d4d618a2fe23354d7")

depends_on("ecbuild", type=("build"))
depends_on("eckit")
depends_on("boost cxxstd=14 visibility=hidden", when="@0.26.0:", type=("build", "run"))
depends_on("eckit@:1.23", when="@:0.33")
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am creating this clear separation due to the update to C++-17 in eckit 1.24, fckit 0.11, ecmwf-atlas 0.34.

depends_on("[email protected]:", when="@0.34:")
depends_on("boost cxxstd=14 visibility=hidden", when="@0.26.0:0.33.99", type=("build", "run"))
depends_on("boost cxxstd=17 visibility=hidden", when="@0.34.0:", type=("build", "run"))
variant("fckit", default=True)
depends_on("fckit", when="+fckit")
depends_on("fckit@:0.10", when="@:0.33 +fckit")
depends_on("[email protected]:", when="@0.34: +fckit")
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

depends_on("python")

patch("clang_include_array.patch", when="%apple-clang")
Expand All @@ -43,7 +47,7 @@ class EcmwfAtlas(CMakePackage):
values=("Debug", "Release", "RelWithDebInfo"),
)

variant('openmp', default=True, description='Use OpenMP?')
variant("openmp", default=True, description="Use OpenMP?")
depends_on("llvm-openmp", when="+openmp %apple-clang", type=("build", "run"))
variant("shared", default=True)

Expand All @@ -61,7 +65,7 @@ class EcmwfAtlas(CMakePackage):

def cmake_args(self):
args = [
self.define_from_variant('ENABLE_OMP', 'openmp'),
self.define_from_variant("ENABLE_OMP", "openmp"),
self.define_from_variant("ENABLE_FCKIT", "fckit"),
self.define_from_variant("ENABLE_TRANS", "trans"),
self.define_from_variant("ENABLE_EIGEN", "eigen"),
Expand All @@ -74,8 +78,8 @@ def cmake_args(self):

@when("+fismahigh")
def patch(self):
filter_file("http://www\.ecmwf\.int", "", "cmake/atlas-import.cmake.in")
filter_file("int\.ecmwf", "", "cmake/atlas-import.cmake.in")
filter_file("http://www\.ecmwf\.int", "", "cmake/atlas-import.cmake.in") # noqa: W605
filter_file("int\.ecmwf", "", "cmake/atlas-import.cmake.in") # noqa: W605
filter_file('http[^"]+', "", "cmake/atlas_export.cmake")
patterns = [".travis.yml", "tools/install*.sh", "tools/github-sha.sh"]
for pattern in patterns:
Expand Down
70 changes: 39 additions & 31 deletions var/spack/repos/builtin/packages/fckit/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import glob
import os

from spack import *
from spack.package import *


class Fckit(CMakePackage):
Expand All @@ -16,54 +16,62 @@ class Fckit(CMakePackage):
git = "https://github.com/ecmwf/fckit.git"
url = "https://github.com/ecmwf/fckit/archive/0.9.0.tar.gz"

maintainers('climbfuji')
maintainers("climbfuji")

version('master', branch='master')
version('develop', branch='develop')
version("master", branch="master")
version("develop", branch="develop")
version("0.11.0", sha256="846f5c369940c0a3d42cd12932f7d6155339e79218d149ebbfdd02e759dc86c5")
version("0.10.1", sha256="9cde04fefa50624bf89068ab793cc2e9437c0cd1c271a41af7d54dbd37c306be")
version("0.10.0", sha256="f16829f63a01cdef5e158ed2a51f6d4200b3fe6dce8f251af158141a1afe482b")
version("0.9.5", sha256="183cd78e66d3283d9e6e8e9888d3145f453690a4509fb701b28d1ac6757db5de")

depends_on('mpi')
depends_on('python')
depends_on('ecbuild', type=('build'))
depends_on("mpi")
depends_on("python")
depends_on("ecbuild", type=("build"))

variant('build_type', default='RelWithDebInfo',
description='CMake build type',
values=('Debug', 'Release', 'RelWithDebInfo'))
variant(
"build_type",
default="RelWithDebInfo",
description="CMake build type",
values=("Debug", "Release", "RelWithDebInfo"),
)

variant('eckit', default=True)
depends_on('eckit+mpi', when='+eckit')
variant("eckit", default=True)
depends_on("eckit@:1.23 +mpi", when="@:0.10 +eckit")
depends_on("[email protected]: +mpi", when="@0.11: +eckit")
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as for ecmwf-atlas. Clear cut between versions that ran fine with C++-11 standard and newer versions that require C++-17.


variant('openmp', default=True, description='Use OpenMP?')
variant("openmp", default=True, description="Use OpenMP?")
depends_on("llvm-openmp", when="+openmp %apple-clang", type=("build", "run"))
variant('shared', default=True)
variant("shared", default=True)
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")
variant("finalize_ddts", default="auto",
description="Enable / disable automatic finalization of derived types",
values=("auto", "no", "yes"))
variant(
"finalize_ddts",
default="auto",
description="Enable / disable automatic finalization of derived types",
values=("auto", "no", "yes"),
)

def cmake_args(self):
args = [
self.define_from_variant('ENABLE_ECKIT', 'eckit'),
self.define_from_variant('ENABLE_OMP', 'openmp'),
"-DPYTHON_EXECUTABLE:FILEPATH=" + self.spec['python'].command.path,
'-DFYPP_NO_LINE_NUMBERING=ON'
self.define_from_variant("ENABLE_ECKIT", "eckit"),
self.define_from_variant("ENABLE_OMP", "openmp"),
"-DPYTHON_EXECUTABLE:FILEPATH=" + self.spec["python"].command.path,
"-DFYPP_NO_LINE_NUMBERING=ON",
]

if '~shared' in self.spec:
args.append('-DBUILD_SHARED_LIBS=OFF')

if 'finalize_ddts=auto' not in self.spec:
args.append(self.define_from_variant('ENABLE_FINAL', 'finalize_ddts'))
if "~shared" in self.spec:
args.append("-DBUILD_SHARED_LIBS=OFF")

if self.spec.satisfies('%intel') or self.spec.satisfies('%gcc'):
cxxlib = 'stdc++'
elif self.spec.satisfies('%clang') or self.spec.satisfies('%apple-clang'):
cxxlib = 'c++'
if "finalize_ddts=auto" not in self.spec:
args.append(self.define_from_variant("ENABLE_FINAL", "finalize_ddts"))

if self.spec.satisfies("%intel") or self.spec.satisfies("%gcc"):
cxxlib = "stdc++"
elif self.spec.satisfies("%clang") or self.spec.satisfies("%apple-clang"):
cxxlib = "c++"
else:
raise InstallError("C++ library not configured for compiler")
args.append('-DECBUILD_CXX_IMPLICIT_LINK_LIBRARIES={}'.format(cxxlib))
args.append("-DECBUILD_CXX_IMPLICIT_LINK_LIBRARIES={}".format(cxxlib))

return args

Expand Down
1 change: 1 addition & 0 deletions var/spack/repos/builtin/packages/fiat/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class Fiat(CMakePackage):
maintainers("climbfuji")

version("main", branch="main", no_cache=True)
version("1.2.0", sha256="758147410a4a3c493290b87443b4091660b915fcf29f7c4d565c5168ac67745f")
version("1.1.0", sha256="58354e60d29a1b710bfcea9b87a72c0d89c39182cb2c9523ead76a142c695f82")
version("1.0.0", sha256="45afe86117142831fdd61771cf59f31131f2b97f52a2bd04ac5eae9b2ab746b8")

Expand Down
Loading