Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 1 addition & 4 deletions recipes/fdb/5.19/compilers.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,2 @@
bootstrap:
spec: gcc@11.3
gcc:
specs:
- gcc@13.3
version: "13.4"
8 changes: 6 additions & 2 deletions recipes/fdb/5.19/config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: fdb
store: /user-environment
spack:
commit: releases/v0.23
repo: https://github.com/spack/spack.git
description: MCH FDB uenv
commit: releases/v1.1
packages:
repo: https://github.com/spack/spack-packages.git
commit: releases/v2025.11
description: MCH FDB uenv
version: 2
5 changes: 1 addition & 4 deletions recipes/fdb/5.19/environments.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
fdb:
compiler:
- toolchain: gcc
spec: gcc@13.3
compiler: [gcc]
unify: when_possible
mpi: null
packages: []
specs:
- fdb@=5.19.2 backends=lustre
Expand Down
6 changes: 5 additions & 1 deletion recipes/fdb/5.19/packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@ packages:
buildable: false
externals:
- spec: lustre@2.15
prefix: /usr
prefix: /usr
gmp:
require: '@6.2.1'
autoconf:
require: '@2.69'
14 changes: 9 additions & 5 deletions recipes/fdb/5.19/repo/packages/ecbuild/package.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


Expand All @@ -14,16 +15,18 @@ class Ecbuild(CMakePackage):
url = "https://github.com/ecmwf/ecbuild/archive/refs/tags/3.6.1.tar.gz"
list_url = "https://github.com/ecmwf/ecbuild/tags"

maintainers("skosukhin", "climbfuji", "victoria-cherkas", "dominichofer")
maintainers("climbfuji", "victoria-cherkas")

license("Apache-2.0")

version("3.13.1", sha256="9759815aef22c9154589ea025056db086c575af9dac635614b561ab825f9477e")
version("3.13.0", sha256="7be83510e7209c61273121bcf817780597c3afa41a5129bfccc281f0df1ffda1")
version("3.12.0", sha256="70c7fc9b17f736a3312167c2c36d13b3b5833a255fe2b168b2886ad7c743ffdf")
version("3.11.0", sha256="38a96bdeb38feb65446b6f95b35492232abd188c41b8a28fd128f9f88e00b05d")
version("3.10.0", sha256="7065e1725584b507517cbfc456299ff588e20adf37bc6210ce89fb65a1ad08d0")
version("3.9.0", sha256="8ad20169a7d917d6ac81a7ca0d1b11616e2aeb82c7782f6ae5b768603a3e000a")
version("3.10.0", sha256="7065e1725584b507517cbfc456299ff588e20adf37bc6210ce89fb65a1ad08d0")
version("3.9.1", sha256="48c2dbd342865049cc39afd7fe886fce9ce162105ca72b8aef9a09c21d9655ba")
version("3.9.0", sha256="8ad20169a7d917d6ac81a7ca0d1b11616e2aeb82c7782f6ae5b768603a3e000a")
version("3.8.5", sha256="aa0c44cab0fffec4c0b3542e91ebcc736b3d41b68a068d30c023ec0df5f93425")
version("3.7.2", sha256="7a2d192cef1e53dc5431a688b2e316251b017d25808190faed485903594a3fb9")
version("3.6.5", sha256="98bff3d3c269f973f4bfbe29b4de834cd1d43f15b1c8d1941ee2bfe15e3d4f7f")
version("3.6.1", sha256="796ccceeb7af01938c2f74eab0724b228e9bf1978e32484aa3e227510f69ac59")
Expand All @@ -33,6 +36,7 @@ class Ecbuild(CMakePackage):
depends_on("fortran", type="build") # generated

depends_on("cmake@3.11:", type=("build", "run"))
depends_on("cmake@3.18:", type=("build", "run"), when="@3.11:")

# See https://github.com/ecmwf/ecbuild/issues/35
depends_on("cmake@:3.19", type=("build", "run"), when="@:3.6.1")
Expand Down
23 changes: 16 additions & 7 deletions recipes/fdb/5.19/repo/packages/eccodes/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *

Expand Down Expand Up @@ -51,12 +52,20 @@ class Eccodes(CMakePackage):
version("develop", branch="develop")

version("2.46.0", sha256="7d959253d5e34aeb16caa14d4889ac06486d19821216743142733a32ee7b4935")
version("2.45.0", sha256="6c84b39d7cc5e3b8330eeabe880f3e337f9b2ee1ebce20ea03eecd785f6c39a1")
version("2.42.0", sha256="60371b357cb011dee546db2eabace5b7e27f0f87d3ea4a5adde7891371b3c128")
version("2.39.5", git="https://github.com/ecmwf/eccodes.git", tag="2.39.5")
version("2.41.0", sha256="a1467842e11ed7f62a2f5cc1982e04eec62398f4962e6ba03ace7646f32cf270")
version("2.40.0", sha256="f58d5d7390fce86c62b26d76b9bc3c4d7d9a6cf2e5f8145d1d598089195e51ff")
version(
"2.39.5",
git="https://github.com/ecmwf/eccodes.git",
tag="2.39.5",
commit="ccfac25b50894b9929a100fad2e967e5c15e50bc",
)
version("2.39.0", sha256="0c4d746700acc49af9c878925f1b26bdd42443ff7c2d7c676deb2babb6847afb")
version("2.38.3", sha256="fa7b7ffb22973ed1dfbeb208c042a67a805ab070f1288a0f1f0707a1020d1c81")
version("2.38.2", sha256="b4ce8bd144ac957c7650e7013d3502573120502158cd03b8915bab83d3c52e9d")
version("2.38.0", sha256="96a21fbe8ca3aa4c31bb71bbd378b7fd130cbc0f7a477567d70e66a000ff68d9")
version("2.36.4", sha256="adec6188dfd1d6ef71d86736d66f6b26486c188c3f37e8dcc016dc713ae482e6")
version("2.34.0", sha256="3cd208c8ddad132789662cf8f67a9405514bfefcacac403c0d8c84507f303aba")
version("2.33.0", sha256="bdcec8ce63654ec6803400c507f01220a9aa403a45fa6b5bdff7fdcc44fd7daf")
version("2.32.1", sha256="ad2ac1bf36577b1d35c4a771b4d174a06f522a1e5ef6c1f5e53a795fb624863e")
Expand Down Expand Up @@ -102,9 +111,9 @@ class Eccodes(CMakePackage):

variant("geo", default=False, description="Enable eckit::geo")

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("fortran", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", when="+fortran", type="build")

depends_on("netcdf-c", when="+netcdf")
# Cannot be built with openjpeg@2.0.x.
Expand Down Expand Up @@ -134,13 +143,13 @@ class Eccodes(CMakePackage):
conflicts(
"+netcdf",
when="~tools",
msg="Cannot enable the NetCDF conversion tool " "when the command line tools are disabled",
msg="Cannot enable the NetCDF conversion tool when the command line tools are disabled",
)

conflicts(
"~tools",
when="@:2.18.0",
msg="The command line tools can be disabled " "only starting version 2.19.0",
msg="The command line tools can be disabled only starting version 2.19.0",
)

for center, definitions in _definitions.items():
Expand Down
33 changes: 23 additions & 10 deletions recipes/fdb/5.19/repo/packages/eckit/package.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

import os

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


Expand All @@ -17,7 +18,7 @@ class Eckit(CMakePackage):
url = "https://github.com/ecmwf/eckit/archive/refs/tags/1.16.0.tar.gz"
list_url = "https://github.com/ecmwf/eckit/tags"

maintainers("skosukhin", "climbfuji", "victoria-cherkas", "dominichofer")
maintainers("climbfuji", "victoria-cherkas")

license("Apache-2.0")

Expand All @@ -27,8 +28,10 @@ class Eckit(CMakePackage):
version("1.32.2", sha256="f2940e99f1550119497418221e4c5073eb9c3ea776b15a4f56236ef4438a1210")
version("1.31.4", sha256="045ebd9aaecf2773dc8c82f4226022776576cb0d911a76f8d1d069c97e9530c8")
version("1.30.0", sha256="1f58360dedfaa285a6b8087916768e6d12406e9fda2b6ba0a5c875f7a3db5398")
version("1.29.3", sha256="5afb6ac5bd95d68b7b0fdf42bdfe21370515b8e9ef7b3db91a89e021aa9133f2")
version("1.28.8", sha256="4bd4fbb971ec9b53a64d47f40336c130b37349850ae82114d5c04f393ea70d23")
version("1.28.3", sha256="24b2b8d9869849a646aa3fd9d95e4181a92358cd837d95b22e25d718a6ad7738")
version("1.28.2", sha256="d122db8bb5bcaadf3256a24f0f90d9bcedad35ef8f25e7eccd8c93c506dbdd24")
version("1.27.0", sha256="499f3f8c9aec8d3f42369e3ceedc98b2b09ac04993cfd38dfdf7d38931703fe7")
version("1.25.2", sha256="a611d26d50a9f2133b75100567a890eb0e0a48a96669b8c8475baf9d6f359397")
version("1.24.5", sha256="2fd74e04c20a59f9e13635828d9da880e18f8a2cb7fd3bfd0201e07071d6ec41")
Expand All @@ -41,9 +44,6 @@ class Eckit(CMakePackage):
version("1.16.3", sha256="d2aae7d8030e2ce39e5d04e36dd6aa739f3c8dfffe32c61c2a3127c36b573485")
version("1.16.0", sha256="9e09161ea6955df693d3c9ac70131985eaf7cf24a9fa4d6263661c6814ebbaf1")

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated

variant(
"build_type",
default="RelWithDebInfo",
Expand All @@ -61,10 +61,19 @@ class Eckit(CMakePackage):
values=any_combination_of("eigen", "armadillo", "mkl", "lapack"),
description="List of supported linear algebra backends",
)
# There is probably a more elegant way to handle the differences
# in valid compression backends, but this works ...
variant(
"compression",
values=any_combination_of("bzip2", "snappy", "lz4", "aec"),
description="List of supported compression backends",
when="@:1.31",
)
variant(
"compression",
values=any_combination_of("bzip2", "snappy", "lz4", "aec", "zip"),
description="List of supported compression backends",
when="@1.32:",
)
variant("xxhash", default=True, description="Enable xxHash support for hashing")
variant("ssl", default=False, description="Enable MD4 and SHA1 support with OpenSSL")
Expand All @@ -73,11 +82,14 @@ class Eckit(CMakePackage):
variant(
"unicode",
default=True,
description="Enable support for Unicode characters in Yaml/JSON" "parsers",
description="Enable support for Unicode characters in Yaml/JSON parsers",
)
variant("aio", default=True, description="Enable asynchronous IO")
variant("fismahigh", default=False, description="Apply patching for FISMA-high compliance")

depends_on("c", type="build")
depends_on("cxx", type="build")

# Build issues with cmake 3.20, not sure about 3.21
depends_on("cmake@3.12:3.19,3.22:", type="build")
depends_on("ecbuild@3.5:", when="@:1.20.99", type="build")
Expand All @@ -102,6 +114,7 @@ class Eckit(CMakePackage):
depends_on("snappy", when="compression=snappy")
depends_on("lz4", when="compression=lz4")
depends_on("libaec", when="compression=aec")
depends_on("libzip", when="compression=zip")

depends_on("openssl", when="+ssl")

Expand All @@ -117,8 +130,7 @@ class Eckit(CMakePackage):
conflicts(
"linalg=lapack",
when="linalg=mkl",
msg='"linalg=lapack" is implied when "linalg=mkl" and '
"must not be specified additionally",
msg='"linalg=lapack" is implied when "linalg=mkl" and must not be specified additionally',
)

def cmake_args(self):
Expand Down Expand Up @@ -146,6 +158,7 @@ def cmake_args(self):
self.define("ENABLE_SNAPPY", "compression=snappy" in self.spec),
self.define("ENABLE_LZ4", "compression=lz4" in self.spec),
self.define("ENABLE_AEC", "compression=aec" in self.spec),
self.define("ENABLE_ZIP", "compression=zip" in self.spec),
self.define_from_variant("ENABLE_XXHASH", "xxhash"),
self.define_from_variant("ENABLE_SSL", "ssl"),
self.define_from_variant("ENABLE_CURL", "curl"),
Expand Down Expand Up @@ -191,7 +204,7 @@ def cmake_args(self):

return args

def setup_build_environment(self, env):
def setup_build_environment(self, env: EnvironmentModifications) -> None:
# Bug fix for macOS - cmake's find_package doesn't add "libtinfo.dylib" to the
# ncurses libraries, but the ncurses pkgconfig explicitly sets it. We need to
# add the correct spec['ncurses'].libs.ld_flags to LDFLAGS to compile eckit
Expand Down
13 changes: 7 additions & 6 deletions recipes/fdb/5.19/repo/packages/fdb/package.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


Expand All @@ -15,7 +16,7 @@ class Fdb(CMakePackage):
git = "https://github.com/ecmwf/fdb.git"
list_url = "https://github.com/ecmwf/fdb/tags"

maintainers("skosukhin", "victoria-cherkas", "dominichofer")
maintainers("victoria-cherkas")

license("Apache-2.0")

Expand All @@ -34,9 +35,6 @@ class Fdb(CMakePackage):
version("5.10.8", sha256="6a0db8f98e13c035098dd6ea2d7559f883664cbf9cba8143749539122ac46099")
version("5.7.8", sha256="6adac23c0d1de54aafb3c663d077b85d0f804724596623b381ff15ea4a835f60")

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated

variant("tools", default=True, description="Build the command line tools")
variant(
"backends",
Expand All @@ -53,6 +51,9 @@ class Fdb(CMakePackage):
description="List of supported backends",
)

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated

depends_on("cmake@3.12:", type="build")
depends_on("ecbuild@3.4:", type="build")
depends_on("ecbuild@3.7:", type="build", when="@5.11.6:")
Expand Down
13 changes: 7 additions & 6 deletions recipes/fdb/5.19/repo/packages/gribjump/package.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


class Gribjump(CMakePackage):
"""GribJump is a C++ library for extracting subsets of data from GRIB files,
"""GribJump is a C++ library for extracting subsets of data from GRIB files,
particularly data archived in the FDB
"""

Expand All @@ -19,13 +20,13 @@ class Gribjump(CMakePackage):
maintainers("cosunae")

license("Apache-2.0")

version("0.10.3", sha256="8001f8a0e4b03664134ea42612d22d6499e098d2063b12182030986895689f6c")
version("0.10.2", sha256="c1635c1f902daa244592b60c9b1a81375b467409635bd2cbfc6993d32554bd3d")
version("0.10.0", sha256="04a6c7322e585acb7e432e74d68f073ab584a42af9dcb2b4b97f17aebf17d07f")

depends_on("c", type="build") # generated
depends_on("cxx", type="build") # generated
depends_on("c", type="build")
depends_on("cxx", type="build")

depends_on("cmake@3.12:", type="build")
depends_on("ecbuild", type="build")
Expand Down
5 changes: 3 additions & 2 deletions recipes/fdb/5.19/repo/packages/libaec/package.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright Spack Project Developers. See COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack_repo.builtin.build_systems.cmake import CMakePackage

from spack.package import *


Expand Down
Loading