Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Spackage for qmd-progress library #4924

Merged
merged 3 commits into from
Jul 28, 2017
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions var/spack/repos/builtin/packages/qmd-progress/package.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
##############################################################################
# Copyright (c) 2017, Los Alamos National Security, LLC
# Produced at the Los Alamos National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *


class QmdProgress(CMakePackage):
"""PROGRESS: Parallel, Rapid O(N) and Graph-based Recursive Electronic
Structure Solver. LA-CC-16-068
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'll probably want a period after this LA-CC-16-068, or remove it altogether. Spack doesn't preserve newline characters in spack info so it will look confusing.

This library is focused on the development of general solvers that are
commonly used in quantum chemistry packages."""

homepage = "https://github.com/lanl/qmd-progress"
url = "https://github.com/lanl/qmd-progress"

version('develop', git='https://github.com/lanl/qmd-progress', branch='master')
version('1.0.0', git='https://github.com/lanl/qmd-progress', tag='v1.0.0')

variant('graphlib', default=False, description='Build with Metis Suppport')
variant('mpi', default=True, description='Build with MPI Support')

depends_on('cmake', type='build')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't need this. It is already included in CMakePackage.


depends_on("bml")
depends_on('mpi', when="+mpi")
depends_on('metis', when="+graphlib")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to stick to single quotes or double quotes instead of mixing them. I usually prefer single quotes unless the string contains an apostrophe.


def cmake_args(self):
spec = self.spec
args = ['-DCMAKE_Fortran_FLAGS=-ffree-line-length-none']
if '+mpi' in spec:
args.append('-DPROGRESS_MPI=yes')
args.append('-DCMAKE_C_COMPILER=%s' % spec['mpi'].mpicc)
args.append('-DCMAKE_CXX_COMPILER=%s' % spec['mpi'].mpicxx)
args.append('-DCMAKE_Fortran_COMPILER=%s' % spec['mpi'].mpifc)
if '+graphlib' in spec:
args.append('-DPROGRESS_GRAPHLIB=yes')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be good to also add:

else:
    args.append('-DPROGRESS_MPI=no')

and:

else:
    args.append('-DPROGRESS_GRAPHLIB=no')

I've seen too many projects that build with library support if they find it installed on the system.


return args