diff --git a/var/spack/repos/builtin/packages/alps/mpi.patch b/var/spack/repos/builtin/packages/alps/mpi.patch new file mode 100644 index 00000000000000..bd68181eb76243 --- /dev/null +++ b/var/spack/repos/builtin/packages/alps/mpi.patch @@ -0,0 +1,13 @@ +diff --git a/alps/src/alps/CMakeLists.txt b/alps/src/alps/CMakeLists.txt +index ae73f13..0d1ba34 100644 +--- a/alps/src/alps/CMakeLists.txt ++++ b/alps/src/alps/CMakeLists.txt +@@ -93,7 +93,7 @@ if (Boost_FOUND) + set(ALPS_LINK_LIBS ${ALPS_LINK_LIBS} ${PYTHON_LIBRARY} ${PYTHON_EXTRA_LIBS}) + endif(PYTHONLIBS_FOUND) + if(MPI_FOUND) +- set(ALPS_LINK_LIBS ${ALPS_LINK_LIBS} ${MPI_LIBRARIES} ${MPI_EXTRA_LIBRARY}) ++ set(ALPS_LINK_LIBS ${ALPS_LINK_LIBS} ${MPI_LIBRARIES}) + endif(MPI_FOUND) + target_link_libraries(alps ${ALPS_LINK_LIBS}) + else (Boost_FOUND) diff --git a/var/spack/repos/builtin/packages/alps/package.py b/var/spack/repos/builtin/packages/alps/package.py new file mode 100644 index 00000000000000..55df872933066b --- /dev/null +++ b/var/spack/repos/builtin/packages/alps/package.py @@ -0,0 +1,50 @@ +# Copyright 2013-2020 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 import * + + +class Alps(CMakePackage): + """Algorithms for Physics Simulations + + Tags: Condensed Matter Physics, Computational Physics + """ + + homepage = "https://alps.comp-phys.org" + url = "http://alps.comp-phys.org/static/software/releases/alps-2.3.0-src.tar.gz" + + version('2.3.0', sha256='e64208d1e5acdd6f569277413c4867e1fa366cf4a224570eacbf1e9939fca2d2') + + # Refs for building from source and recipes + # http://alps.comp-phys.org/mediawiki/index.php/Building_ALPS_from_source + # https://github.com/easybuilders/easybuild-easyconfigs/tree/master/easybuild/easyconfigs/a/ALPS + # https://github.com/conda-forge/alps-feedstock/tree/master/recipe + + # Package failed to build with boost version >= 1.64 + depends_on('boost@:1.63.0 +chrono +date_time +filesystem +iostreams +mpi +numpy +program_options +python +regex +serialization +system +test +thread +timer') + depends_on('fftw') + depends_on('hdf5 ~mpi+hl') + depends_on('lapack') + # build fails for latest python@3.7 + depends_on('python@:3.6.99', type=('build', 'link', 'run')) + depends_on('py-numpy', type=('build', 'run')) + depends_on('py-scipy', type=('build', 'run')) + depends_on('py-matplotlib', type=('build', 'run')) + + # build fails with gcc@7: + conflicts('%gcc@7:') + + # remove a problematic build variable + patch('mpi.patch') + + extends('python') + + root_cmakelists_dir = 'alps' + + def cmake_args(self): + args = [] + args.append('Boost_ROOT_DIR=' + self.spec['boost'].prefix) + args.append("-DCMAKE_CXX_FLAGS={0}".format(self.compiler.cxx98_flag)) + return args