From b8c71b283985ff09454661584ba82af4a4bbad6f Mon Sep 17 00:00:00 2001 From: Simon Bolt Date: Thu, 25 Jun 2026 10:41:43 +0200 Subject: [PATCH 1/2] eccodes: libaec version & static/shared --- repos/spack_repo/builtin/packages/eccodes/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/spack_repo/builtin/packages/eccodes/package.py b/repos/spack_repo/builtin/packages/eccodes/package.py index 293f7538ccc..3463b925101 100644 --- a/repos/spack_repo/builtin/packages/eccodes/package.py +++ b/repos/spack_repo/builtin/packages/eccodes/package.py @@ -125,6 +125,7 @@ class Eccodes(CMakePackage): depends_on("libpng", when="+png") depends_on("libaec", when="+aec") + depends_on("libaec@1.1.4:", when="@2.47: +aec") # Can be built with Python 2 or Python 3. depends_on("python", when="+memfs", type="build") @@ -370,6 +371,9 @@ def cmake_args(self): if self.spec.satisfies("+aec"): # Prevent overriding by environment variables AEC_DIR and AEC_PATH: args.append(self.define("AEC_DIR", self.spec["libaec"].prefix)) + # eccodes 2.46+ defaults ENABLE_USE_SHARED_LIB_AEC=ON; set based on whether libaec has shared libs + if self.spec.satisfies("@2.46:"): + args.append(self.define("ENABLE_USE_SHARED_LIB_AEC", "+shared" in self.spec["libaec"])) return args From 7f8a999c1f00d4d06b3c8049a542e3924b43a292 Mon Sep 17 00:00:00 2001 From: Simon Bolt Date: Thu, 25 Jun 2026 11:20:33 +0200 Subject: [PATCH 2/2] formatting --- repos/spack_repo/builtin/packages/eccodes/package.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/repos/spack_repo/builtin/packages/eccodes/package.py b/repos/spack_repo/builtin/packages/eccodes/package.py index 3463b925101..f2a0e9b60e6 100644 --- a/repos/spack_repo/builtin/packages/eccodes/package.py +++ b/repos/spack_repo/builtin/packages/eccodes/package.py @@ -371,9 +371,11 @@ def cmake_args(self): if self.spec.satisfies("+aec"): # Prevent overriding by environment variables AEC_DIR and AEC_PATH: args.append(self.define("AEC_DIR", self.spec["libaec"].prefix)) - # eccodes 2.46+ defaults ENABLE_USE_SHARED_LIB_AEC=ON; set based on whether libaec has shared libs + # set ENABLE_USE_SHARED_LIB_AEC based on libaec's specs; used since eccodes 2.46 if self.spec.satisfies("@2.46:"): - args.append(self.define("ENABLE_USE_SHARED_LIB_AEC", "+shared" in self.spec["libaec"])) + args.append( + self.define("ENABLE_USE_SHARED_LIB_AEC", "+shared" in self.spec["libaec"]) + ) return args