diff --git a/var/spack/repos/builtin/packages/fast-global-file-status/package.py b/var/spack/repos/builtin/packages/fast-global-file-status/package.py new file mode 100644 index 0000000000..186f7a8e98 --- /dev/null +++ b/var/spack/repos/builtin/packages/fast-global-file-status/package.py @@ -0,0 +1,47 @@ +############################################################################## +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore 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/spack/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 FastGlobalFileStatus(AutotoolsPackage): + """provides a scalable mechanism to retrieve such information of a file, + including its degree of distribution or replication and consistency.""" + + homepage = "https://github.com/LLNL/FastGlobalFileStatus" + url = 'https://github.com/LLNL/FastGlobalFileStatus/files/2271592/fastglobalfilestatus-1.1.tar.gz' + + version('1.1', 'c3d764c47a60310823947c489cd0f2df') + + depends_on('mrnet') + depends_on('mount-point-attributes') + depends_on('mpi') + + def configure_args(self): + spec = self.spec + args = [ + "--with-mpa=%s" % spec['mount-point-attributes'].prefix, + "--with-mrnet=%s" % spec['mrnet'].prefix + ] + return args diff --git a/var/spack/repos/builtin/packages/mount-point-attributes/package.py b/var/spack/repos/builtin/packages/mount-point-attributes/package.py new file mode 100644 index 0000000000..c2ac3c8ee2 --- /dev/null +++ b/var/spack/repos/builtin/packages/mount-point-attributes/package.py @@ -0,0 +1,39 @@ +############################################################################## +# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore 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/spack/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 MountPointAttributes(AutotoolsPackage): + """Library to turn expensive, non-scalable file system calls into simple + string comparison operations.""" + + homepage = "https://github.com/LLNL/MountPointAttributes" + url = 'https://github.com/LLNL/MountPointAttributes/files/2270601/mountpointattr-1.1.tar.gz' + + version('1.1', 'c9f0e7f5a3e16b9a022e5948712ecb2a') + + depends_on('autoconf', type='build') + depends_on('automake', type='build') + depends_on('libtool', type='build') diff --git a/var/spack/repos/builtin/packages/stat/package.py b/var/spack/repos/builtin/packages/stat/package.py index a39228f93b..6455acee3f 100644 --- a/var/spack/repos/builtin/packages/stat/package.py +++ b/var/spack/repos/builtin/packages/stat/package.py @@ -29,8 +29,10 @@ class Stat(AutotoolsPackage): """Library to create, manipulate, and export graphs Graphlib.""" homepage = "http://paradyn.org/STAT/STAT.html" - url = "https://github.com/lee218llnl/stat/archive/v2.0.0.tar.gz" + url = "https://github.com/LLNL/STAT/archive/v2.0.0.tar.gz" + git = "https://github.com/llnl/stat.git" + version('develop', branch='develop') version('4.0.0', 'b357160662ced251bc55cb1b884c3407', url='https://github.com/LLNL/STAT/releases/download/v4.0.0/stat-4.0.0.tar.gz') version('3.0.1', 'dac6f23c3639a0b21f923dc6219ba385', @@ -44,13 +46,14 @@ class Stat(AutotoolsPackage): # TODO: dysect requires Dyninst patch for version 3.0.0b variant('dysect', default=False, description="enable DySectAPI") variant('examples', default=False, description="enable examples") + variant('fgfs', default=True, description="enable file broadcasting") depends_on('autoconf', type='build') depends_on('automake', type='build') depends_on('libtool', type='build') - depends_on('libdwarf') depends_on('dyninst', when='~dysect') depends_on('dyninst@8.2.1+stat_dysect', when='+dysect') + depends_on('fast-global-file-status', when='+fgfs') depends_on('graphlib@2.0.0', when='@2.0.0:2.2.0') depends_on('graphlib@3.0.0', when='@3:') depends_on('graphviz', type=('build', 'link', 'run')) @@ -58,6 +61,7 @@ class Stat(AutotoolsPackage): depends_on('mrnet') depends_on('python@:2.8') depends_on('py-pygtk', type=('build', 'run')) + depends_on('py-enum34', type=('run')) depends_on('swig') depends_on('mpi', when='+examples') @@ -70,9 +74,11 @@ def configure_args(self): "--with-mrnet=%s" % spec['mrnet'].prefix, "--with-graphlib=%s" % spec['graphlib'].prefix, "--with-stackwalker=%s" % spec['dyninst'].prefix, - "--with-libdwarf=%s" % spec['libdwarf'].prefix, "--with-python=%s" % spec['python'].command.path, ] + if '+fgfs' in spec: + args.append('--with-fgfs=%s' + % spec['fast-global-file-status'].prefix) if '+dysect' in spec: args.append('--enable-dysectapi') if '~examples' in spec: