From 383e26ed5158f7a69f10912f26f9151e6b557c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 25 Jun 2026 14:24:45 +0200 Subject: [PATCH 1/3] IMOD: Depends on OpenGL-enabled Qt. IMOD requires Qt with OpenGL support. --- repos/spack_repo/builtin/packages/imod/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/spack_repo/builtin/packages/imod/package.py b/repos/spack_repo/builtin/packages/imod/package.py index 1f2543486b2..ce2fc56643d 100644 --- a/repos/spack_repo/builtin/packages/imod/package.py +++ b/repos/spack_repo/builtin/packages/imod/package.py @@ -31,7 +31,7 @@ class Imod(MakefilePackage, CudaPackage): depends_on("fortran", type="build") depends_on("java@17:") - depends_on("qt@5.12:") # Can do with 4.6:, but they themselves recommend 5.12+ + depends_on("qt+opengl@5.12:") # Can do with 4.6:, but they themselves recommend 5.12+ depends_on("cuda", when="+cuda") depends_on("libtiff@4:") depends_on("fftw@3:", when="+fftw") From d29b0685605a933ea34d42ced131bb96dadb6555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 25 Jun 2026 14:26:54 +0200 Subject: [PATCH 2/3] IMOD: Patch csh scripts shebang to use Spack's tcsh. Without this, running the csh scripts will either use the system csh or fail if none is available. --- repos/spack_repo/builtin/packages/imod/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/spack_repo/builtin/packages/imod/package.py b/repos/spack_repo/builtin/packages/imod/package.py index ce2fc56643d..3b5a61e7e66 100644 --- a/repos/spack_repo/builtin/packages/imod/package.py +++ b/repos/spack_repo/builtin/packages/imod/package.py @@ -42,6 +42,10 @@ class Imod(MakefilePackage, CudaPackage): depends_on("python", type=("run")) def edit(self, spec, prefix): + # Ensure that Spack-provided tcsh is used + csh = join_path(spec["tcsh"].prefix.bin, "csh") + filter_file("#!/bin/csh", f"#!{csh}", "setup", "manpages/convert", "packMacApps") + configure = Executable("./setup") configure_args = ["-inst", prefix] # Set up prefix configure(*configure_args) From 129c7370fc667a0c40a5c2fd5686f662d710271c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Lacroix?= Date: Thu, 25 Jun 2026 14:29:15 +0200 Subject: [PATCH 3/3] IMOD: Try to force the compiler. IMOD's internal checks seem to fail, the setup script tries to use Intel compilers when trying to compile with GNU compilers. --- repos/spack_repo/builtin/packages/imod/package.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/repos/spack_repo/builtin/packages/imod/package.py b/repos/spack_repo/builtin/packages/imod/package.py index 3b5a61e7e66..1a0541e72bc 100644 --- a/repos/spack_repo/builtin/packages/imod/package.py +++ b/repos/spack_repo/builtin/packages/imod/package.py @@ -48,6 +48,11 @@ def edit(self, spec, prefix): configure = Executable("./setup") configure_args = ["-inst", prefix] # Set up prefix + # Try to help the setup script pick the desired compiler + if spec.satisfies("%gcc"): + configure_args.extend(["-compiler", "gnu"]) + elif spec.satisfies("%intel"): + configure_args.extend(["-compiler", "intel"]) configure(*configure_args) if self.spec.satisfies("+cuda"):