diff options
-rw-r--r-- | var/spack/repos/builtin/packages/ambertools/package.py | 88 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/netlib-xblas/package.py | 3 |
2 files changed, 90 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/ambertools/package.py b/var/spack/repos/builtin/packages/ambertools/package.py new file mode 100644 index 0000000000..f680b43ce6 --- /dev/null +++ b/var/spack/repos/builtin/packages/ambertools/package.py @@ -0,0 +1,88 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class Ambertools(CMakePackage): + """AmberTools is a free, useful standalone package and a prerequisite + for installing Amber itself. The AmberTools suite is free of charge, + and its components are mostly released under the GNU General Public + License (GPL). A few components are included that are in the public + domain or which have other, open-source, licenses. The libsander and + libpbsa libraries use the LGPL license.""" + + homepage = "https://ambermd.org/AmberTools.php" + url = "https://ambermd.org/downloads/AmberTools22jlmrcc.tar.bz2" + + maintainers("d-beltran") + + version("22jlmrcc", sha256="1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121") + + depends_on("flex", type="build") + depends_on("bison", type="build") + depends_on("tcsh", type="build") + depends_on("zlib", type=("build", "run")) + depends_on("bzip2", type=("build", "run")) + depends_on("blas", type=("build", "run")) + depends_on("lapack", type=("build", "run")) + depends_on("arpack-ng", type=("build", "run")) + depends_on("netcdf-c", type=("build", "run")) + depends_on("netcdf-fortran", type=("build", "run")) + depends_on("fftw", type=("build", "run")) + depends_on("readline", type=("build", "run")) + depends_on("netlib-xblas~plain_blas", type=("build", "run")) + # Specific variants needed for boost according to build logs + depends_on( + "boost+thread+system+program_options+iostreams+regex+timer+chrono+filesystem+graph", + type=("build", "run"), + ) + # Python dependencies + depends_on("python@3.8:3.10 +tkinter", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-numpy", type=("build", "run")) + depends_on("py-matplotlib", type=("build", "run")) + depends_on("py-scipy", type=("build", "run")) + + def cmake_args(self): + # Translated from ambertools build/run_cmake script + # We also add the TRUST_SYSTEM_LIBS argument mentioned in the ambertools guide + # https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Guide-to-Options + args = [ + self.define("COMPILER", "GNU"), + self.define("MPI", False), + self.define("CUDA", False), + self.define("INSTALL_TESTS", True), + self.define("DOWNLOAD_MINICONDA", False), + self.define("TRUST_SYSTEM_LIBS", True), + # This is to avoid the x11 (X11_Xext_LIB) error + # It is equivalent to the "-noX11" flag accoridng to the docs: + # https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Common-Options + self.define("BUILD_GUI", False), + ] + return args + + def setup_run_environment(self, env): + env.set("AMBER_PREFIX", self.prefix) + env.set("AMBERHOME", self.prefix) + + def setup_build_environment(self, env): + env.set("AMBER_PREFIX", self.prefix) + env.set("AMBERHOME", self.prefix) + + @run_after("install") + @on_package_attributes(run_tests=True) + def check_install(self): + make("test.serial") + + # Temporarily copy netcdf.h header file to netcdf-fortran/include to pass the Ambertools + # cmake check (quickest fix, will probably cause problems, needs to change) + @run_before("cmake") + def fix_check(self): + cp = Executable("cp") + cp( + self.spec["netcdf-c"].headers.directories[0] + "/netcdf.h", + self.spec["netcdf-fortran"].headers.directories[0], + ) diff --git a/var/spack/repos/builtin/packages/netlib-xblas/package.py b/var/spack/repos/builtin/packages/netlib-xblas/package.py index 9c0dde1255..0b04a8f895 100644 --- a/var/spack/repos/builtin/packages/netlib-xblas/package.py +++ b/var/spack/repos/builtin/packages/netlib-xblas/package.py @@ -27,7 +27,8 @@ class NetlibXblas(AutotoolsPackage): version("1.0.248", sha256="b5fe7c71c2da1ed9bcdc5784a12c5fa9fb417577513fe8a38de5de0007f7aaa1") - depends_on("c", type="build") # generated + depends_on("c", type="build") + depends_on("m4", type="build") variant("fortran", default=True, description="Build Fortran interfaces") variant("plain_blas", default=True, description="As part of XBLAS, build plain BLAS routines") |