easyblock = 'EB_PSI' name = 'PSI4' version = '1.7' homepage = 'https://www.psicode.org/' description = """PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel. """ toolchain = {'name': 'foss', 'version': '2021b'} toolchainopts = {'usempi': True} source_urls = ['https://github.com/psi4/psi4/archive'] sources = ['v%(version)s.tar.gz'] patches = [ 'PSI4-%(version)s_fix_cmake_release.patch', 'PSI4-%(version)s_fix_snsmp2_version.patch', ] checksums = [ '85a2772a148d57423a909fd91f3f9b068ae393b161510e78e7a824fbe3997366', # v1.7.tar.gz 'a8af68947fb4d632d16adb3341b90990d9129d3fe9a28dee733b67bcd2aeff08', # PSI4-1.3.1_fix_cmake_release.patch '064dcf60e74e0c449f77bb6e4dcf4b3338edad7d9a046089ecc2979aed1a00f9', # PSI4-1.7_fix_snsmp2_version.patch ] dependencies = [ ('Python', '3.9.6'), ('libxc', '5.1.6'), ('CheMPS2', '1.8.11'), ('networkx', '2.6.3'), ('psutil', '5.9.4'), ('pytest', '7.1.3'), ('Boost', '1.77.0'), ] builddependencies = [ ('CMake', '3.22.1'), ('Eigen', '3.4.0'), ] configopts = '-DENABLE_MPI=ON -DENABLE_PLUGINS=ON -DENABLE_XHOST=OFF ' # Install python module to the standard location instead of lib configopts += '-DPYMOD_INSTALL_LIBDIR=/python%(pyshortver)s/site-packages ' # Add bundled (downloaded) packages # -DENABLE_simint=ON does not work with intel/2018, so have to make with GCCcore configopts += '-DENABLE_dkh=ON -DENABLE_gdma=ON -DENABLE_resp=ON -DENABLE_snsmp2=ON ' # allow PSI4 to download and build a forked version of PCMSolver otherwise tests fail configopts += '-DENABLE_PCMSolver=ON ' # runtest uses ctest, and some of the tests have to be manually compared # to the reference output (those tests are marked failed) # After installing PSI4, you can test the package using psi4 --test command. (This uses pytest framework) # runtest = '-L smoke' runtest = False exts_defaultclass = 'PythonPackage' exts_filter = ("python -c 'import %(ext_name)s'", '') exts_default_options = { 'source_urls': [PYPI_SOURCE], 'download_dep_fail': True, 'use_pip': True, } exts_list = [ ('typing_extensions', '4.5.0', { 'checksums': ['5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb'], }), ('pydantic', '1.10.5', { 'checksums': ['9e337ac83686645a46db0e825acceea8e02fca4062483f40e9ae178e8bd1103a'], }), ('Pint', '0.20.1', { 'checksums': ['387cf04078dc7dfe4a708033baad54ab61d82ab06c4ee3d4922b1e45d5626067'], }), ('msgpack-python', '0.5.6', { 'modulename': 'msgpack', 'checksums': ['378cc8a6d3545b532dfd149da715abae4fda2a3adb6d74e525d0d5e51f46909b'], }), ('py-cpuinfo', '9.0.0', { 'modulename': 'cpuinfo', 'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'], }) ] modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} sanity_check_commands = ["python -c 'import psi4'"] moduleclass = 'chem'