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

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Aug 18, 2023

Note - to be merged as merge commit, not as squashed commit

I made sure that each commit was for a specific package only. Merging this as a merge commit allows us to identify the individual commits, to cherry-pick them for sending them upstream to spack etc.

Description

Several new versions for spack-stack-1.5.0 (individual commits):

  • Add [email protected] and update patch logic needed for earlier versions with apple-clang, fix style errors; requires updates to environment variables set during build.
  • Add [email protected]
  • Add [email protected]
  • Add [email protected] with correct version for eckit dependency, fix style errors, turn off finalization of DDTs for [email protected] (based on testing on Hercules)
  • Add [email protected], fix style errors, apply patches with different format for different versions
  • Add [email protected] with correct versions/variants for dependencies eckit, fckit, boost; fix style errors, apply patches with different format for Intel vectorization for different versions

Note that due to the recent move to C++-17 for the ECMWF libraries, I am making a clear cut for the version dependencies. Versions of eckit/fckit/ecmwf-atlas that didn't strictly require C++-17 go together, and same for versions that do require C++-17.

Testing

This PR is tested as part of JCSDA/spack-stack#722

@climbfuji climbfuji self-assigned this Aug 18, 2023
@climbfuji climbfuji added the INFRA JEDI Infrastructure label Aug 18, 2023
@climbfuji climbfuji force-pushed the feature/version_updates_20230817 branch from 6b5b126 to c0acdb1 Compare August 18, 2023 17:34
@climbfuji climbfuji force-pushed the feature/version_updates_20230817 branch from 61b6d16 to f8335a0 Compare August 18, 2023 21:38
@climbfuji climbfuji force-pushed the feature/version_updates_20230817 branch from f8335a0 to 28fe0d6 Compare August 18, 2023 21:59
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.

@climbfuji climbfuji changed the title WIP: various version updates for spack-stack-1.5.0 (met, metplus, add more here) Various version updates for spack-stack-1.5.0 (met, metplus, eckit, fckit, fiat, ecmwf-atlas) Aug 21, 2023
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('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.


if "+python" in spec:
python = spec["python"]
# Syntax changed from 11.0.x to 11.1.y
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Take note of this please

@climbfuji climbfuji marked this pull request as ready for review August 22, 2023 22:40
Copy link
Collaborator

@AlexanderRichert-NOAA AlexanderRichert-NOAA left a comment

Choose a reason for hiding this comment

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

yeeehaw

Copy link

@fmahebert fmahebert left a comment

Choose a reason for hiding this comment

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

Not an expert review, but looks good to me.

patch("apple-clang-string-cast-operator.patch", when="@10.1.1: %apple-clang@14:")
patch("apple-clang-no-register.patch", when="@10.1.1: %apple-clang@14:")
patch("apple-clang-string-cast-operator.patch", when="@10.1.1:11.0.99 %apple-clang@14:")
patch("apple-clang-no-register.patch", when="@10.1.1:11.0.99 %apple-clang@14:")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks for adding the upper limit on the version numbers for these patches!

@climbfuji climbfuji merged commit 06cf447 into JCSDA:jcsda_emc_spack_stack Aug 23, 2023
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
INFRA JEDI Infrastructure
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

6 participants