From 3290e2c18981115f4e2b7e7a240aab1ffc922fa7 Mon Sep 17 00:00:00 2001 From: Tom Payerle Date: Tue, 27 Feb 2024 04:45:29 -0500 Subject: [PATCH] openexr: Add custom libs property (#42274) Libraries for openexr are named libOpenEXR*.so, etc., so the default libs handler in spec does not find them. Add a custom libs property to address this. Partial fix for #42273 Co-authored-by: payerle --- var/spack/repos/builtin/packages/openexr/package.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/var/spack/repos/builtin/packages/openexr/package.py b/var/spack/repos/builtin/packages/openexr/package.py index 90e291c912f..768f95e1c04 100644 --- a/var/spack/repos/builtin/packages/openexr/package.py +++ b/var/spack/repos/builtin/packages/openexr/package.py @@ -85,6 +85,17 @@ class Openexr(CMakePackage, AutotoolsPackage): with when("build_system=cmake"): depends_on("cmake@3.12:", type="build") + @property + def libs(self): + # Override because libs have different case than Spack package name + name = "libOpenEXR*" + # We expect libraries to be in either lib64 or lib directory + for root in (self.prefix.lib64, self.prefix.lib): + liblist = find_libraries(name, root=root, shared=True, recursive=False) + if liblist: + break + return liblist + class CMakeBuilder(CMakeBuilder): def cmake_args(self):