Fix Jeff Keasler's issues and add parmetis package.

This commit is contained in:
Todd Gamblin 2014-07-09 01:37:24 -07:00
parent 5f8724650a
commit 5829b44648
4 changed files with 31 additions and 7 deletions

View File

@ -36,7 +36,7 @@
import spack.cmd.checksum
import spack.package
import spack.url
import spack.packages as packages
from spack.util.naming import mod_to_class
import spack.util.crypto as crypto
from spack.util.executable import which
@ -157,7 +157,6 @@ def create(parser, args):
else:
mkdirp(os.path.dirname(pkg_path))
class_name = packages.class_name_for_package_name(name)
versions = list(reversed(spack.package.find_versions_of_archive(url)))
archives_to_fetch = 1
@ -194,7 +193,7 @@ def create(parser, args):
package_template.substitute(
name=name,
configure=guesser.configure,
class_name=class_name,
class_name=mod_to_class(name),
url=url,
versions=make_version_dict(ver_hash_tuples)))

View File

@ -30,7 +30,7 @@
from llnl.util.filesystem import mkdirp
import spack
import spack.packages as packages
from spack.util.naming import mod_to_class
description = "Open package files in $EDITOR"
@ -80,10 +80,9 @@ def edit(parser, args):
"to edit a new file." % name)
else:
mkdirp(os.path.dirname(path))
class_name = packages.class_name_for_package_name(name)
with closing(open(path, "w")) as pkg_file:
pkg_file.write(
package_template.substitute(name=name, class_name=class_name))
package_template.substitute(name=name, class_name=mod_to_class(name)))
# If everything checks out, go ahead and edit.
spack.editor(path)

View File

@ -28,7 +28,7 @@
import shutil
from contextlib import closing
from llnl.util.filesystem import join_path
from llnl.util.filesystem import join_path, mkdirp
import spack

View File

@ -0,0 +1,26 @@
from spack import *
class Parmetis(Package):
"""ParMETIS is an MPI-based parallel library that implements a
variety of algorithms for partitioning unstructured graphs,
meshes, and for computing fill-reducing orderings of sparse
matrices."""
homepage = "http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview"
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz"
versions = { '4.0.3' : 'f69c479586bf6bb7aff6a9bc0c739628', }
depends_on('mpi')
def install(self, spec, prefix):
cmake(".",
'-DGKLIB_PATH=%s/metis/GKlib' % pwd(),
'-DMETIS_PATH=%s/metis' % pwd(),
'-DSHARED=1',
'-DCMAKE_C_COMPILER=mpicc',
'-DCMAKE_CXX_COMPILER=mpicxx',
'-DSHARED=1',
*std_cmake_args)
make()
make("install")