Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts: lib/spack/spack/build_environment.py lib/spack/spack/cmd/install.py lib/spack/spack/cmd/setup.py lib/spack/spack/package.py var/spack/repos/builtin/packages/gmp/package.py var/spack/repos/builtin/packages/hdf5/package.py
This commit is contained in:
@@ -37,6 +37,9 @@ class Atlas(Package):
|
||||
"""
|
||||
homepage = "http://math-atlas.sourceforge.net/"
|
||||
|
||||
version('3.10.3', 'd6ce4f16c2ad301837cfb3dade2f7cef',
|
||||
url='https://sourceforge.net/projects/math-atlas/files/Stable/3.10.3/atlas3.10.3.tar.bz2')
|
||||
|
||||
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da',
|
||||
url='https://sourceforge.net/projects/math-atlas/files/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
|
||||
# not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0
|
||||
|
@@ -110,12 +110,14 @@ class Boost(Package):
|
||||
description="Additionally build shared libraries")
|
||||
variant('multithreaded', default=True,
|
||||
description="Build multi-threaded versions of libraries")
|
||||
variant('singlethreaded', default=True,
|
||||
variant('singlethreaded', default=False,
|
||||
description="Build single-threaded versions of libraries")
|
||||
variant('icu', default=False,
|
||||
description="Build with Unicode and ICU suport")
|
||||
variant('graph', default=False,
|
||||
description="Build the Boost Graph library")
|
||||
variant('taggedlayout', default=False,
|
||||
description="Augment library names with build options")
|
||||
|
||||
depends_on('icu4c', when='+icu')
|
||||
depends_on('python', when='+python')
|
||||
@@ -208,12 +210,20 @@ def determine_b2_options(self, spec, options):
|
||||
if '+singlethreaded' in spec:
|
||||
threadingOpts.append('single')
|
||||
if not threadingOpts:
|
||||
raise RuntimeError("""At least one of {singlethreaded,
|
||||
multithreaded} must be enabled""")
|
||||
raise RuntimeError("At least one of {singlethreaded, " +
|
||||
"multithreaded} must be enabled")
|
||||
|
||||
if '+taggedlayout' in spec:
|
||||
layout = 'tagged'
|
||||
else:
|
||||
if len(threadingOpts) > 1:
|
||||
raise RuntimeError("Cannot build both single and " +
|
||||
"multi-threaded targets with system layout")
|
||||
layout = 'system'
|
||||
|
||||
options.extend([
|
||||
'link=%s' % ','.join(linkTypes),
|
||||
'--layout=tagged'
|
||||
'--layout=%s' % layout
|
||||
])
|
||||
|
||||
if not spec.satisfies('%intel'):
|
||||
@@ -223,6 +233,12 @@ def determine_b2_options(self, spec, options):
|
||||
|
||||
return threadingOpts
|
||||
|
||||
def add_buildopt_symlinks(self, prefix):
|
||||
with working_dir(prefix.lib):
|
||||
for lib in os.listdir(os.curdir):
|
||||
prefix, remainder = lib.split('.', 1)
|
||||
symlink(lib, '%s-mt.%s' % (prefix, remainder))
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# On Darwin, Boost expects the Darwin libtool. However, one of the
|
||||
# dependencies may have pulled in Spack's GNU libtool, and these two
|
||||
@@ -281,11 +297,16 @@ def install(self, spec, prefix):
|
||||
|
||||
threadingOpts = self.determine_b2_options(spec, b2_options)
|
||||
|
||||
b2('--clean')
|
||||
|
||||
# In theory it could be done on one call but it fails on
|
||||
# Boost.MPI if the threading options are not separated.
|
||||
for threadingOpt in threadingOpts:
|
||||
b2('install', 'threading=%s' % threadingOpt, *b2_options)
|
||||
|
||||
if '+multithreaded' in spec and '~taggedlayout' in spec:
|
||||
self.add_buildopt_symlinks(prefix)
|
||||
|
||||
# The shared libraries are not installed correctly
|
||||
# on Darwin; correct this
|
||||
if (sys.platform == 'darwin') and ('+shared' in spec):
|
||||
|
@@ -96,8 +96,7 @@ def install(self, spec, prefix):
|
||||
options.extend([
|
||||
'build_thread_safe=yes',
|
||||
'boost_inc_dir={0}'.format(spec['boost'].prefix.include),
|
||||
'boost_lib_dir={0}'.format(spec['boost'].prefix.lib),
|
||||
'boost_thread_lib=boost_thread-mt,boost_system-mt'
|
||||
'boost_lib_dir={0}'.format(spec['boost'].prefix.lib)
|
||||
])
|
||||
else:
|
||||
options.append('build_thread_safe=no')
|
||||
|
@@ -85,7 +85,7 @@ def install(self, spec, prefix):
|
||||
else:
|
||||
options.append('-DBUILD_SHARED_LIBS:BOOL=OFF')
|
||||
|
||||
cmake('.', *options)
|
||||
|
||||
make()
|
||||
make('install')
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *options)
|
||||
make()
|
||||
make('install')
|
||||
|
@@ -23,6 +23,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
|
||||
import os
|
||||
import platform
|
||||
import shutil
|
||||
import sys
|
||||
@@ -47,6 +48,8 @@ class Charm(Package):
|
||||
# Support OpenMPI; see
|
||||
# <https://charm.cs.illinois.edu/redmine/issues/1206>
|
||||
patch("mpi.patch")
|
||||
# Ignore compiler warnings while configuring
|
||||
patch("strictpass.patch")
|
||||
|
||||
# Communication mechanisms (choose exactly one)
|
||||
# TODO: Support Blue Gene/Q PAMI, Cray GNI, Cray shmem, CUDA
|
||||
@@ -169,4 +172,19 @@ def install(self, spec, prefix):
|
||||
# this wouldn't be difficult.
|
||||
build = Executable(join_path(".", "build"))
|
||||
build(target, version, *options)
|
||||
|
||||
# Charm++'s install script does not copy files, it only creates
|
||||
# symbolic links. Fix this.
|
||||
for dirpath, dirnames, filenames in os.walk(prefix):
|
||||
for filename in filenames:
|
||||
filepath = join_path(dirpath, filename)
|
||||
if os.path.islink(filepath):
|
||||
tmppath = filepath + ".tmp"
|
||||
# Skip dangling symbolic links
|
||||
try:
|
||||
shutil.copy2(filepath, tmppath)
|
||||
os.remove(filepath)
|
||||
os.rename(tmppath, filepath)
|
||||
except:
|
||||
pass
|
||||
shutil.rmtree(join_path(prefix, "tmp"))
|
||||
|
16
var/spack/repos/builtin/packages/charm/strictpass.patch
Normal file
16
var/spack/repos/builtin/packages/charm/strictpass.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- old/src/scripts/configure
|
||||
+++ new/src/scripts/configure
|
||||
@@ -2146,13 +2146,6 @@
|
||||
test_result $? "$1" "$2" "$3"
|
||||
strictpass=$pass
|
||||
strictfail=$fail
|
||||
- if test $pass -eq 1
|
||||
- then
|
||||
- if cat out | grep -i "warn" > /dev/null 2>&1
|
||||
- then
|
||||
- strictpass="0" && strictfail="1"
|
||||
- fi
|
||||
- fi
|
||||
cat out >> $charmout
|
||||
/bin/rm -f out
|
||||
}
|
69
var/spack/repos/builtin/packages/converge/package.py
Normal file
69
var/spack/repos/builtin/packages/converge/package.py
Normal file
@@ -0,0 +1,69 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 *
|
||||
from distutils.dir_util import copy_tree
|
||||
import os
|
||||
|
||||
|
||||
class Converge(Package):
|
||||
"""CONVERGE is a revolutionary computational fluid dynamics (CFD) program
|
||||
that eliminates the grid generation bottleneck from the simulation process.
|
||||
CONVERGE was developed by engine simulation experts and is straightforward
|
||||
to use for both engine and non-engine simulations. Unlike many CFD
|
||||
programs, CONVERGE automatically generates a perfectly orthogonal,
|
||||
structured grid at runtime based on simple, user-defined grid control
|
||||
parameters. This grid generation method completely eliminates the need to
|
||||
manually generate a grid. In addition, CONVERGE offers many other features
|
||||
to expedite the setup process and to ensure that your simulations are as
|
||||
computationally efficient as possible.
|
||||
|
||||
Note: CONVERGE is licensed software. You will need to create an account on
|
||||
the CONVERGE homepage and download CONVERGE yourself. Spack will search
|
||||
your current directory for the download file. Alternatively, add this file
|
||||
to a mirror so that Spack can find it. For instructions on how to set up a
|
||||
mirror, see http://spack.readthedocs.io/en/latest/mirrors.html"""
|
||||
|
||||
homepage = "https://www.convergecfd.com/"
|
||||
url = "file://%s/converge_install_2.3.16.tar.gz" % os.getcwd()
|
||||
|
||||
version('2.3.16', '8b80f1e73a63181c427c7732ad279986')
|
||||
|
||||
variant('mpi', default=True, description='Build with MPI support')
|
||||
|
||||
# The Converge Getting Started Guide recommends:
|
||||
# MPICH: 3.1.4
|
||||
# HP-MPI: 2.0.3+
|
||||
# OpenMPI: 1.6.*
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
# Licensing
|
||||
license_required = True
|
||||
license_comment = '#'
|
||||
license_files = ['license/license.lic']
|
||||
license_vars = ['RLM_LICENSE']
|
||||
license_url = 'http://www.reprisesoftware.com/RLM_License_Administration.pdf'
|
||||
|
||||
def install(self, spec, prefix):
|
||||
copy_tree('.', prefix)
|
@@ -32,6 +32,10 @@ class Dealii(Package):
|
||||
homepage = "https://www.dealii.org"
|
||||
url = "https://github.com/dealii/dealii/releases/download/v8.4.1/dealii-8.4.1.tar.gz"
|
||||
|
||||
# Don't add RPATHs to this package for the full build DAG.
|
||||
# only add for immediate deps.
|
||||
transitive_rpaths = False
|
||||
|
||||
version('8.4.2', '84c6bd3f250d3e0681b645d24cb987a7')
|
||||
version('8.4.1', 'efbaf16f9ad59cfccad62302f36c3c1d')
|
||||
version('8.4.0', 'ac5dbf676096ff61e092ce98c80c2b00')
|
||||
|
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 EverytraceExample(CMakePackage):
|
||||
"""Get stack trace EVERY time a program exits."""
|
||||
|
||||
homepage = "https://github.com/citibeth/everytrace-example"
|
||||
version('develop',
|
||||
git='https://github.com/citibeth/everytrace-example.git',
|
||||
branch='develop')
|
||||
|
||||
depends_on('cmake', type='build')
|
||||
depends_on('everytrace+mpi+fortran')
|
||||
|
||||
# Currently the only MPI this everytrace works with.
|
||||
depends_on('openmpi')
|
||||
|
||||
def configure_args(self):
|
||||
return []
|
||||
|
||||
def setup_environment(self, spack_env, env):
|
||||
env.prepend_path('PATH', join_path(self.prefix, 'bin'))
|
52
var/spack/repos/builtin/packages/everytrace/package.py
Normal file
52
var/spack/repos/builtin/packages/everytrace/package.py
Normal file
@@ -0,0 +1,52 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 Everytrace(CMakePackage):
|
||||
"""Get stack trace EVERY time a program exits."""
|
||||
|
||||
homepage = "https://github.com/citibeth/everytrace"
|
||||
url = "https://github.com/citibeth/everytrace/tarball/0.2.0"
|
||||
|
||||
version('0.2.0', '2af0e5b6255064d5191accebaa70d222')
|
||||
version('develop',
|
||||
git='https://github.com/citibeth/everytrace.git', branch='develop')
|
||||
|
||||
variant('mpi', default=True, description='Enables MPI parallelism')
|
||||
variant('fortran', default=True,
|
||||
description='Enable use with Fortran programs')
|
||||
|
||||
depends_on('cmake', type='build')
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
def configure_args(self):
|
||||
spec = self.spec
|
||||
return [
|
||||
'-DUSE_MPI=%s' % ('YES' if '+mpi' in spec else 'NO'),
|
||||
'-DUSE_FORTRAN=%s' % ('YES' if '+fortran' in spec else 'NO')]
|
||||
|
||||
def setup_environment(self, spack_env, env):
|
||||
env.prepend_path('PATH', join_path(self.prefix, 'bin'))
|
@@ -143,7 +143,7 @@ def cmake_is_on(self, option):
|
||||
def install(self, spec, prefix):
|
||||
for package in ['ufl', 'ffc', 'fiat', 'instant']:
|
||||
with working_dir(join_path('depends', package)):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
||||
cmake_args = [
|
||||
'-DCMAKE_BUILD_TYPE:STRING={0}'.format(
|
||||
|
66
var/spack/repos/builtin/packages/flint/package.py
Normal file
66
var/spack/repos/builtin/packages/flint/package.py
Normal file
@@ -0,0 +1,66 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 Flint(Package):
|
||||
"""FLINT (Fast Library for Number Theory)."""
|
||||
|
||||
homepage = "http://www.flintlib.org"
|
||||
url = "http://mirrors.mit.edu/sage/spkg/upstream/flint/flint-2.5.2.tar.gz"
|
||||
|
||||
version('2.5.2', 'cda885309362150196aed66a5e0f0383')
|
||||
version('2.4.5', '6504b9deabeafb9313e57153a1730b33')
|
||||
version('develop', git='https://github.com/wbhart/flint2.git')
|
||||
|
||||
# Overlap in functionality between gmp and mpir
|
||||
# All other dependencies must also be built with
|
||||
# one or the other
|
||||
# variant('mpir', default=False,
|
||||
# description='Compile with the MPIR library')
|
||||
|
||||
# Build dependencies
|
||||
depends_on('autoconf', type='build')
|
||||
|
||||
# Other dependencies
|
||||
depends_on('gmp') # mpir is a drop-in replacement for this
|
||||
depends_on('mpfr') # Could also be built against mpir
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = []
|
||||
options = ["--prefix=%s" % prefix,
|
||||
"--with-gmp=%s" % spec['gmp'].prefix,
|
||||
"--with-mpfr=%s" % spec['mpfr'].prefix]
|
||||
|
||||
# if '+mpir' in spec:
|
||||
# options.extend([
|
||||
# "--with-mpir=%s" % spec['mpir'].prefix
|
||||
# ])
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make("check")
|
||||
make("install")
|
@@ -40,4 +40,9 @@ class Gmp(AutotoolsPackage):
|
||||
depends_on('m4', type='build')
|
||||
|
||||
def configure_args(self):
|
||||
return ['--enable-cxx']
|
||||
args = ['--enable-cxx']
|
||||
# We need this flag if we want all the following checks to pass.
|
||||
if spec.compiler.name == 'intel':
|
||||
args.append('CXXFLAGS=-no-ftz')
|
||||
|
||||
return args
|
||||
|
@@ -38,6 +38,7 @@ class Gsl(Package):
|
||||
homepage = "http://www.gnu.org/software/gsl"
|
||||
url = "http://mirror.switch.ch/ftp/mirror/gnu/gsl/gsl-2.1.tar.gz"
|
||||
|
||||
version('2.2.1', '3d90650b7cfe0a6f4b29c2d7b0f86458')
|
||||
version('2.1', 'd8f70abafd3e9f0bae03c52d1f4e8de5')
|
||||
version('2.0', 'ae44cdfed78ece40e73411b63a78c375')
|
||||
version('1.16', 'e49a664db13d81c968415cd53f62bc8b')
|
||||
|
@@ -34,13 +34,14 @@ class Hdf(Package):
|
||||
list_url = "https://www.hdfgroup.org/ftp/HDF/releases/"
|
||||
list_depth = 3
|
||||
|
||||
version('4.2.12', '79fd1454c899c05e34a3da0456ab0c1c')
|
||||
version('4.2.11', '063f9928f3a19cc21367b71c3b8bbf19')
|
||||
|
||||
variant('szip', default=False, description="Enable szip support")
|
||||
|
||||
depends_on('jpeg')
|
||||
depends_on('jpeg@6b:')
|
||||
depends_on('szip', when='+szip')
|
||||
depends_on('zlib')
|
||||
depends_on('zlib@1.1.4:')
|
||||
|
||||
depends_on('bison', type='build')
|
||||
depends_on('flex', type='build')
|
||||
@@ -48,9 +49,9 @@ class Hdf(Package):
|
||||
def install(self, spec, prefix):
|
||||
config_args = [
|
||||
'CFLAGS=-fPIC',
|
||||
'--prefix=%s' % prefix,
|
||||
'--with-jpeg=%s' % spec['jpeg'].prefix,
|
||||
'--with-zlib=%s' % spec['zlib'].prefix,
|
||||
'--prefix={0}'.format(prefix),
|
||||
'--with-jpeg={0}'.format(spec['jpeg'].prefix),
|
||||
'--with-zlib={0}'.format(spec['zlib'].prefix),
|
||||
'--disable-netcdf', # must be disabled to build NetCDF with HDF4
|
||||
'--enable-fortran',
|
||||
'--disable-shared', # fortran and shared libs are not compatible
|
||||
@@ -58,12 +59,17 @@ def install(self, spec, prefix):
|
||||
'--enable-production'
|
||||
]
|
||||
|
||||
# SZip support
|
||||
# Szip support
|
||||
if '+szip' in spec:
|
||||
config_args.append('--with-szlib=%s' % spec['szip'].prefix)
|
||||
config_args.append('--with-szlib={0}'.format(spec['szip'].prefix))
|
||||
else:
|
||||
config_args.append('--without-szlib')
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make('check')
|
||||
|
||||
if self.run_tests:
|
||||
make('check')
|
||||
|
||||
make('install')
|
||||
|
@@ -60,7 +60,7 @@ class Hdf5(AutotoolsPackage):
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('szip', when='+szip')
|
||||
depends_on('zlib')
|
||||
depends_on('zlib@1.1.2:')
|
||||
|
||||
@AutotoolsPackage.precondition('configure')
|
||||
def validate(self):
|
||||
@@ -123,16 +123,14 @@ def configure_args(self):
|
||||
# this is not actually a problem.
|
||||
extra_args.extend([
|
||||
"--enable-parallel",
|
||||
"CC=%s" % join_path(spec['mpi'].prefix.bin, "mpicc"),
|
||||
"CC=%s" % spec['mpi'].mpicc
|
||||
])
|
||||
|
||||
if '+cxx' in spec:
|
||||
extra_args.append("CXX=%s" % join_path(spec['mpi'].prefix.bin,
|
||||
"mpic++"))
|
||||
extra_args.append("CXX=%s" % spec['mpi'].mpicxx)
|
||||
|
||||
if '+fortran' in spec:
|
||||
extra_args.append("FC=%s" % join_path(spec['mpi'].prefix.bin,
|
||||
"mpifort"))
|
||||
extra_args.append("FC=%s" % spec['mpi'].mpifc)
|
||||
|
||||
if '+szip' in spec:
|
||||
extra_args.append("--with-szlib=%s" % spec['szip'].prefix)
|
||||
@@ -172,7 +170,7 @@ def check_install(self):
|
||||
with open("check.c", 'w') as f:
|
||||
f.write(source)
|
||||
if '+mpi' in spec:
|
||||
cc = which(join_path(spec['mpi'].prefix.bin, "mpicc"))
|
||||
cc = which('%s' % spec['mpi'].mpicc)
|
||||
else:
|
||||
cc = which('cc')
|
||||
# TODO: Automate these path and library settings
|
||||
|
@@ -37,15 +37,16 @@ class Hpx5(Package):
|
||||
applications enabling scientists to write code that performs and
|
||||
scales better than contemporary runtimes."""
|
||||
homepage = "http://hpx.crest.iu.edu"
|
||||
url = "http://hpx.crest.iu.edu/release/hpx-2.0.0.tar.gz"
|
||||
url = "http://hpx.crest.iu.edu/release/hpx-3.1.0.tar.gz"
|
||||
|
||||
version('3.1.0', '9e90b8ac46788c009079632828c77628')
|
||||
version('2.0.0', '3d2ff3aab6c46481f9ec65c5b2bfe7a6')
|
||||
version('1.3.0', '2260ecc7f850e71a4d365a43017d8cee')
|
||||
version('1.2.0', '4972005f85566af4afe8b71afbf1480f')
|
||||
version('1.1.0', '646afb460ecb7e0eea713a634933ce4f')
|
||||
version('1.0.0', '8020822adf6090bd59ed7fe465f6c6cb')
|
||||
|
||||
variant('debug', default=False, description='Build a debug version of HPX-5')
|
||||
variant('debug', default=False, description='Build debug version of HPX-5')
|
||||
variant('photon', default=False, description='Enable Photon support')
|
||||
variant('mpi', default=False, description='Enable MPI support')
|
||||
|
||||
|
@@ -61,9 +61,9 @@ def install(self, spec, prefix):
|
||||
configure_args = [
|
||||
'--prefix=%s' % prefix,
|
||||
'--with-lapack-libs=%s' % ' '.join(lapack.names),
|
||||
'--with-lapack-lib-dirs=%s' % spec['lapack'].prefix.lib,
|
||||
'--with-lapack-lib-dirs=%s' % ' '.join(lapack.directories),
|
||||
'--with-blas-libs=%s' % ' '.join(blas.names),
|
||||
'--with-blas-lib-dirs=%s' % spec['blas'].prefix.lib
|
||||
'--with-blas-lib-dirs=%s' % ' '.join(blas.directories)
|
||||
]
|
||||
|
||||
if '+shared' in self.spec:
|
||||
|
@@ -38,6 +38,12 @@ class Libcerf(Package):
|
||||
version('1.3', 'b3504c467204df71e62aeccf73a25612')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
options = []
|
||||
# Clang reports unused functions as errors, see
|
||||
# http://clang.debian.net/status.php?version=3.8.1&key=UNUSED_FUNCTION
|
||||
if spec.satisfies('%clang'):
|
||||
options.append('CFLAGS=-Wno-unused-function')
|
||||
|
||||
configure('--prefix=%s' % prefix, *options)
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -26,20 +26,25 @@
|
||||
|
||||
|
||||
class LibjpegTurbo(Package):
|
||||
"""libjpeg-turbo is a fork of the original IJG libjpeg which uses
|
||||
SIMD to accelerate baseline JPEG compression and
|
||||
decompression. libjpeg is a library that implements JPEG image
|
||||
encoding, decoding and transcoding."""
|
||||
"""libjpeg-turbo is a fork of the original IJG libjpeg which uses SIMD to
|
||||
accelerate baseline JPEG compression and decompression. libjpeg is a
|
||||
library that implements JPEG image encoding, decoding and
|
||||
transcoding."""
|
||||
|
||||
homepage = "http://libjpeg-turbo.virtualgl.org"
|
||||
url = "http://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-1.3.1.tar.gz"
|
||||
|
||||
version('1.5.0', '3fc5d9b6a8bce96161659ae7a9939257')
|
||||
version('1.3.1', '2c3a68129dac443a72815ff5bb374b05')
|
||||
|
||||
# Can use either of these.
|
||||
depends_on("yasm", type='build')
|
||||
# Can use either of these. But in the current version of the package
|
||||
# only nasm is used. In order to use yasm an environmental variable
|
||||
# NASM must be set.
|
||||
# TODO: Implement the selection between two supported assemblers.
|
||||
# depends_on("yasm", type='build')
|
||||
depends_on("nasm", type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
configure("--prefix=" + prefix)
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -37,6 +37,10 @@ class Libsplash(Package):
|
||||
homepage = "https://github.com/ComputationalRadiationPhysics/libSplash"
|
||||
url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
|
||||
|
||||
version('dev', branch='dev',
|
||||
git='https://github.com/ComputationalRadiationPhysics/libSplash.git')
|
||||
version('master', branch='master',
|
||||
git='https://github.com/ComputationalRadiationPhysics/libSplash.git')
|
||||
version('1.4.0', '2de37bcef6fafa1960391bf44b1b50e0')
|
||||
version('1.3.1', '524580ba088d97253d03b4611772f37c')
|
||||
version('1.2.4', '3fccb314293d22966beb7afd83b746d0')
|
||||
|
@@ -27,9 +27,10 @@
|
||||
|
||||
class Libtiff(Package):
|
||||
"""libtiff graphics format library"""
|
||||
homepage = "http://www.remotesensing.org/libtiff/"
|
||||
url = "http://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz"
|
||||
homepage = "http://www.simplesystems.org/libtiff/"
|
||||
url = "ftp://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz"
|
||||
|
||||
version('4.0.6', 'd1d2e940dea0b5ad435f21f03d96dd72')
|
||||
version('4.0.3', '051c1068e6a0627f461948c365290410')
|
||||
|
||||
depends_on('jpeg')
|
||||
|
@@ -23,8 +23,6 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import glob
|
||||
import string
|
||||
|
||||
|
||||
class Mfem(Package):
|
||||
@@ -35,11 +33,11 @@ class Mfem(Package):
|
||||
|
||||
version('3.2',
|
||||
'2938c3deed4ec4f7fd5b5f5cfe656845282e86e2dcd477d292390058b7b94340',
|
||||
url='http://goo.gl/Y9T75B', expand=False, preferred=True)
|
||||
url='http://goo.gl/Y9T75B', preferred=True, extension='.tar.gz')
|
||||
|
||||
version('3.1',
|
||||
'841ea5cf58de6fae4de0f553b0e01ebaab9cd9c67fa821e8a715666ecf18fc57',
|
||||
url='http://goo.gl/xrScXn', expand=False)
|
||||
url='http://goo.gl/xrScXn', extension='.tar.gz')
|
||||
# version('3.1', git='https://github.com/mfem/mfem.git',
|
||||
# commit='dbae60fe32e071989b52efaaf59d7d0eb2a3b574')
|
||||
|
||||
@@ -48,8 +46,11 @@ class Mfem(Package):
|
||||
variant('suite-sparse', default=False,
|
||||
description='Activate support for SuiteSparse')
|
||||
variant('mpi', default=False, description='Activate support for MPI')
|
||||
variant('superlu-dist', default=False,
|
||||
description='Activate support for SuperLU_Dist')
|
||||
variant('lapack', default=False, description='Activate support for LAPACK')
|
||||
variant('debug', default=False, description='Build debug version')
|
||||
variant('netcdf', default=False, description='Activate NetCDF support')
|
||||
|
||||
depends_on('blas', when='+lapack')
|
||||
depends_on('lapack', when='+lapack')
|
||||
@@ -68,6 +69,12 @@ class Mfem(Package):
|
||||
depends_on('metis@5:', when='+suite-sparse ^suite-sparse@4.5:')
|
||||
depends_on('cmake', when='^metis@5:', type='build')
|
||||
|
||||
depends_on('superlu-dist', when='@3.2: +superlu-dist')
|
||||
|
||||
depends_on('netcdf', when='@3.2: +netcdf')
|
||||
depends_on('zlib', when='@3.2: +netcdf')
|
||||
depends_on('hdf5', when='@3.2: +netcdf')
|
||||
|
||||
def check_variants(self, spec):
|
||||
if '+mpi' in spec and ('+hypre' not in spec or '+metis' not in spec):
|
||||
raise InstallError('mfem+mpi must be built with +hypre ' +
|
||||
@@ -81,6 +88,12 @@ def check_variants(self, spec):
|
||||
raise InstallError('To work around CMake bug with clang, must ' +
|
||||
'build mfem with mfem[+variants] %clang ' +
|
||||
'^cmake %gcc to force CMake to build with gcc')
|
||||
if '@:3.1' in spec and '+superlu-dist' in spec:
|
||||
raise InstallError('MFEM does not support SuperLU_DIST for ' +
|
||||
'versions 3.1 and earlier')
|
||||
if '@:3.1' in spec and '+netcdf' in spec:
|
||||
raise InstallError('MFEM does not support NetCDF for versions' +
|
||||
'3.1 and earlier')
|
||||
return
|
||||
|
||||
def install(self, spec, prefix):
|
||||
@@ -102,7 +115,14 @@ def install(self, spec, prefix):
|
||||
'HYPRE_LIB=-L%s' % spec['hypre'].prefix.lib +
|
||||
' -lHYPRE'])
|
||||
|
||||
if '+metis' in spec:
|
||||
if 'parmetis' in spec:
|
||||
metis_lib = '-L%s -lparmetis -lmetis' % spec['parmetis'].prefix.lib
|
||||
metis_str = 'MFEM_USE_METIS_5=YES'
|
||||
options.extend([metis_str,
|
||||
'METIS_DIR=%s' % spec['parmetis'].prefix,
|
||||
'METIS_OPT=-I%s' % spec['parmetis'].prefix.include,
|
||||
'METIS_LIB=%s' % metis_lib])
|
||||
elif 'metis' in spec:
|
||||
metis_lib = '-L%s -lmetis' % spec['metis'].prefix.lib
|
||||
if spec['metis'].satisfies('@5:'):
|
||||
metis_str = 'MFEM_USE_METIS_5=YES'
|
||||
@@ -114,14 +134,27 @@ def install(self, spec, prefix):
|
||||
'METIS_OPT=-I%s' % spec['metis'].prefix.include,
|
||||
'METIS_LIB=%s' % metis_lib])
|
||||
|
||||
if '+mpi' in spec:
|
||||
if 'mpi' in spec:
|
||||
options.extend(['MFEM_USE_MPI=YES'])
|
||||
|
||||
if '+superlu-dist' in spec:
|
||||
superlu_lib = '-L%s' % spec['superlu-dist'].prefix.lib
|
||||
superlu_lib += ' -lsuperlu_dist'
|
||||
sl_inc = 'SUPERLU_OPT=-I%s' % spec['superlu-dist'].prefix.include
|
||||
options.extend(['MFEM_USE_SUPERLU=YES',
|
||||
'SUPERLU_DIR=%s' % spec['superlu-dist'].prefix,
|
||||
sl_inc,
|
||||
'SUPERLU_LIB=%s' % superlu_lib])
|
||||
|
||||
if '+suite-sparse' in spec:
|
||||
ssp = spec['suite-sparse'].prefix
|
||||
ss_lib = '-L%s' % ssp.lib
|
||||
ss_lib += (' -lumfpack -lcholmod -lcolamd -lamd -lcamd' +
|
||||
' -lccolamd -lsuitesparseconfig')
|
||||
|
||||
if '@3.2:' in spec:
|
||||
ss_lib += ' -lklu -lbtf'
|
||||
|
||||
ss_lib += (' -lumfpack -lcholmod -lcolamd' +
|
||||
' -lamd -lcamd -lccolamd -lsuitesparseconfig')
|
||||
|
||||
no_librt_archs = ['darwin-i686', 'darwin-x86_64']
|
||||
no_rt = any(map(lambda a: spec.satisfies('=' + a),
|
||||
@@ -135,16 +168,23 @@ def install(self, spec, prefix):
|
||||
'SUITESPARSE_OPT=-I%s' % ssp.include,
|
||||
'SUITESPARSE_LIB=%s' % ss_lib])
|
||||
|
||||
if '+netcdf' in spec:
|
||||
np = spec['netcdf'].prefix
|
||||
zp = spec['zlib'].prefix
|
||||
h5p = spec['hdf5'].prefix
|
||||
nlib = '-L%s -lnetcdf ' % np.lib
|
||||
nlib += '-L%s -lhdf5_hl -lhdf5 ' % h5p.lib
|
||||
nlib += '-L%s -lz' % zp.lib
|
||||
options.extend(['MFEM_USE_NETCDF=YES',
|
||||
'NETCDF_DIR=%s' % np,
|
||||
'HDF5_DIR=%s' % h5p,
|
||||
'ZLIB_DIR=%s' % zp,
|
||||
'NETCDF_OPT=-I%s' % np.include,
|
||||
'NETCDF_LIB=%s' % nlib])
|
||||
|
||||
if '+debug' in spec:
|
||||
options.extend(['MFEM_DEBUG=YES'])
|
||||
|
||||
# Dirty hack to cope with URL redirect
|
||||
tgz_file = string.split(self.url, '/')[-1]
|
||||
tar = which('tar')
|
||||
tar('xzvf', tgz_file)
|
||||
cd(glob.glob('mfem*')[0])
|
||||
# End dirty hack to cope with URL redirect
|
||||
|
||||
make('config', *options)
|
||||
make('all')
|
||||
|
||||
|
@@ -66,13 +66,6 @@ def install(self, spec, prefix):
|
||||
for f in os.listdir(mkl_dir):
|
||||
os.symlink(os.path.join(mkl_dir, f), os.path.join(self.prefix, f))
|
||||
|
||||
# Unfortunately MKL libs are natively distrubted in prefix/lib/intel64.
|
||||
# To make MKL play nice with Spack, symlink all files to prefix/lib:
|
||||
mkl_lib_dir = os.path.join(prefix, "lib", "intel64")
|
||||
for f in os.listdir(mkl_lib_dir):
|
||||
os.symlink(os.path.join(mkl_lib_dir, f),
|
||||
os.path.join(self.prefix, "lib", f))
|
||||
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
# set up MKLROOT for everyone using MKL package
|
||||
spack_env.set('MKLROOT', self.prefix)
|
||||
|
@@ -35,12 +35,12 @@ class Mpc(Package):
|
||||
version('1.0.3', 'd6a1d5f8ddea3abd2cc3e98f58352d26')
|
||||
version('1.0.2', '68fadff3358fb3e7976c7a398a0af4c3')
|
||||
|
||||
depends_on("gmp")
|
||||
depends_on("mpfr")
|
||||
depends_on('gmp') # mpir is a drop-in replacement for this
|
||||
depends_on('mpfr') # Could also be built against mpir
|
||||
|
||||
def url_for_version(self, version):
|
||||
if version < Version("1.0.1"):
|
||||
return "http://www.multiprecision.org/mpc/download/mpc-%s.tar.gz" % version
|
||||
return "http://www.multiprecision.org/mpc/download/mpc-%s.tar.gz" % version # NOQA
|
||||
else:
|
||||
return "ftp://ftp.gnu.org/gnu/mpc/mpc-%s.tar.gz" % version
|
||||
|
||||
|
@@ -35,7 +35,7 @@ class Mpfr(Package):
|
||||
version('3.1.3', '5fdfa3cfa5c86514ee4a241a1affa138')
|
||||
version('3.1.2', 'ee2c3ac63bf0c2359bf08fc3ee094c19')
|
||||
|
||||
depends_on('gmp')
|
||||
depends_on('gmp') # mpir is a drop-in replacement for this
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
@@ -27,9 +27,10 @@
|
||||
|
||||
class Mpich(Package):
|
||||
"""MPICH is a high performance and widely portable implementation of
|
||||
the Message Passing Interface (MPI) standard."""
|
||||
the Message Passing Interface (MPI) standard."""
|
||||
|
||||
homepage = "http://www.mpich.org"
|
||||
url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
|
||||
url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
|
||||
list_url = "http://www.mpich.org/static/downloads/"
|
||||
list_depth = 2
|
||||
|
||||
@@ -41,10 +42,10 @@ class Mpich(Package):
|
||||
version('3.1', '5643dd176499bfb7d25079aaff25f2ec')
|
||||
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
|
||||
|
||||
variant('verbs', default=False,
|
||||
description='Build support for OpenFabrics verbs.')
|
||||
variant('pmi', default=True, description='Build with PMI support')
|
||||
variant('hydra', default=True, description='Build the hydra process manager')
|
||||
variant('hydra', default=True, description='Build the hydra process manager')
|
||||
variant('pmi', default=True, description='Build with PMI support')
|
||||
variant('romio', default=True, description='Enable ROMIO MPI I/O implementation')
|
||||
variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
|
||||
|
||||
provides('mpi@:3.0', when='@3:')
|
||||
provides('mpi@:1.3', when='@1:')
|
||||
@@ -62,26 +63,32 @@ def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
spack_env.set('MPICH_FC', spack_fc)
|
||||
|
||||
def setup_dependent_package(self, module, dep_spec):
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
|
||||
# Is this a Cray machine? (TODO: We need a better test than this.)
|
||||
if os.environ.get('CRAYPE_VERSION'):
|
||||
self.spec.mpicc = spack_cc
|
||||
self.spec.mpicxx = spack_cxx
|
||||
self.spec.mpifc = spack_fc
|
||||
self.spec.mpif77 = spack_f77
|
||||
else:
|
||||
self.spec.mpicc = join_path(self.prefix.bin, 'mpicc')
|
||||
self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
|
||||
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
|
||||
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
|
||||
|
||||
self.spec.mpicxx_shared_libs = [
|
||||
join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
|
||||
join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
|
||||
]
|
||||
|
||||
def install(self, spec, prefix):
|
||||
config_args = ["--prefix=" + prefix,
|
||||
"--with-pmi=" + ("yes" if '+pmi' in spec else 'no'),
|
||||
"--with-pm=" + ('hydra' if '+hydra' in spec else 'no'),
|
||||
"--enable-shared"]
|
||||
|
||||
# Variants
|
||||
if '+verbs' in spec:
|
||||
config_args.append("--with-ibverbs")
|
||||
else:
|
||||
config_args.append("--without-ibverbs")
|
||||
config_args = [
|
||||
'--prefix={0}'.format(prefix),
|
||||
'--enable-shared',
|
||||
'--with-pm={0}'.format('hydra' if '+hydra' in spec else 'no'),
|
||||
'--with-pmi={0}'.format('yes' if '+pmi' in spec else 'no'),
|
||||
'--{0}-romio'.format('enable' if '+romio' in spec else 'disable'),
|
||||
'--{0}-ibverbs'.format('with' if '+verbs' in spec else 'without')
|
||||
]
|
||||
|
||||
# TODO: Spack should make it so that you can't actually find
|
||||
# these compilers if they're "disabled" for the current
|
||||
@@ -96,32 +103,33 @@ def install(self, spec, prefix):
|
||||
config_args.append("--disable-fortran")
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
make('check')
|
||||
make('install')
|
||||
|
||||
self.filter_compilers()
|
||||
self.filter_compilers(prefix)
|
||||
|
||||
def filter_compilers(self):
|
||||
def filter_compilers(self, prefix):
|
||||
"""Run after install to make the MPI compilers use the
|
||||
compilers that Spack built the package with.
|
||||
compilers that Spack built the package with.
|
||||
|
||||
If this isn't done, they'll have CC, CXX, F77, and FC set
|
||||
to Spack's generic cc, c++, f77, and f90. We want them to
|
||||
be bound to whatever compiler they were built with.
|
||||
"""
|
||||
bin = self.prefix.bin
|
||||
mpicc = join_path(bin, 'mpicc')
|
||||
mpicxx = join_path(bin, 'mpicxx')
|
||||
mpif77 = join_path(bin, 'mpif77')
|
||||
mpif90 = join_path(bin, 'mpif90')
|
||||
If this isn't done, they'll have CC, CXX, F77, and FC set
|
||||
to Spack's generic cc, c++, f77, and f90. We want them to
|
||||
be bound to whatever compiler they were built with."""
|
||||
|
||||
mpicc = join_path(prefix.bin, 'mpicc')
|
||||
mpicxx = join_path(prefix.bin, 'mpicxx')
|
||||
mpif77 = join_path(prefix.bin, 'mpif77')
|
||||
mpif90 = join_path(prefix.bin, 'mpif90')
|
||||
|
||||
# Substitute Spack compile wrappers for the real
|
||||
# underlying compiler
|
||||
kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
|
||||
filter_file(env['CC'], self.compiler.cc, mpicc, **kwargs)
|
||||
filter_file(env['CC'], self.compiler.cc, mpicc, **kwargs)
|
||||
filter_file(env['CXX'], self.compiler.cxx, mpicxx, **kwargs)
|
||||
filter_file(env['F77'], self.compiler.f77, mpif77, **kwargs)
|
||||
filter_file(env['FC'], self.compiler.fc, mpif90, **kwargs)
|
||||
filter_file(env['FC'], self.compiler.fc, mpif90, **kwargs)
|
||||
|
||||
# Remove this linking flag if present
|
||||
# (it turns RPATH into RUNPATH)
|
||||
|
62
var/spack/repos/builtin/packages/mpir/package.py
Normal file
62
var/spack/repos/builtin/packages/mpir/package.py
Normal file
@@ -0,0 +1,62 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 Mpir(Package):
|
||||
"""Multiple Precision Integers and Rationals."""
|
||||
|
||||
homepage = "https://github.com/wbhart/mpir"
|
||||
url = "https://github.com/wbhart/mpir/archive/mpir-2.7.0.tar.gz"
|
||||
|
||||
version('2.7.0', '985b5d57bd0e74c74125ee885b9c8f71')
|
||||
version('2.6.0', 'ec17d6a7e026114ceb734b2466aa0a91')
|
||||
version('develop', git='https://github.com/wbhart/mpir.git')
|
||||
|
||||
# This setting allows mpir to act as a drop-in replacement for gmp
|
||||
variant('gmp_compat', default=False,
|
||||
description='Compile with GMP library compatibility')
|
||||
|
||||
# Build dependencies
|
||||
depends_on('autoconf', type='build')
|
||||
|
||||
# Other dependencies
|
||||
depends_on('yasm')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# We definitely don't want to have MPIR build its
|
||||
# own version of YASM. This tries to install it
|
||||
# to a system directory.
|
||||
options = ['--prefix={0}'.format(prefix),
|
||||
'--with-system-yasm']
|
||||
|
||||
if '+gmp_compat' in spec:
|
||||
options.extend(['--enable-gmpcompat'])
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
if self.run_tests:
|
||||
make('check')
|
||||
make('install')
|
@@ -34,6 +34,8 @@ class Mumps(Package):
|
||||
homepage = "http://mumps.enseeiht.fr"
|
||||
url = "http://mumps.enseeiht.fr/MUMPS_5.0.1.tar.gz"
|
||||
|
||||
# Alternate location if main server is down.
|
||||
# version('5.0.1', 'b477573fdcc87babe861f62316833db0', url='http://pkgs.fedoraproject.org/repo/pkgs/MUMPS/MUMPS_5.0.1.tar.gz/md5/b477573fdcc87babe861f62316833db0/MUMPS_5.0.1.tar.gz')
|
||||
version('5.0.1', 'b477573fdcc87babe861f62316833db0')
|
||||
|
||||
variant('mpi', default=True,
|
||||
|
@@ -32,6 +32,7 @@ class Nco(Package):
|
||||
homepage = "https://sourceforge.net/projects/nco"
|
||||
url = "https://github.com/nco/nco/archive/4.5.5.tar.gz"
|
||||
|
||||
version('4.6.1', 'ef43cc989229c2790a9094bd84728fd8')
|
||||
version('4.5.5', '9f1f1cb149ad6407c5a03c20122223ce')
|
||||
|
||||
# See "Compilation Requirements" at:
|
||||
@@ -39,18 +40,21 @@ class Nco(Package):
|
||||
variant('mpi', default=True)
|
||||
|
||||
depends_on('netcdf')
|
||||
depends_on('netcdf+mpi', when='+mpi')
|
||||
depends_on('netcdf~mpi', when='~mpi')
|
||||
depends_on('antlr@2.7.7+cxx') # (required for ncap2)
|
||||
depends_on('gsl') # (desirable for ncap2)
|
||||
depends_on('udunits2') # (allows dimensional unit transformations)
|
||||
# depends_on('opendap') # (enables network transparency),
|
||||
depends_on('antlr@2.7.7+cxx') # required for ncap2
|
||||
depends_on('gsl') # desirable for ncap2
|
||||
depends_on('udunits2') # allows dimensional unit transformations
|
||||
# depends_on('opendap') # enables network transparency
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Workaround until variant forwarding works properly
|
||||
if '+mpi' in spec and spec.satisfies('^netcdf~mpi'):
|
||||
raise RuntimeError('Invalid spec. Package netcdf requires '
|
||||
'netcdf+mpi, but spec asked for netcdf~mpi.')
|
||||
|
||||
opts = [
|
||||
'--prefix=%s' % prefix,
|
||||
'--disable-openmp', # TODO: Make this a variant
|
||||
'--disable-dap', # TODO: Make this a variant
|
||||
'--disable-openmp', # TODO: Make this a variant
|
||||
'--disable-dap', # TODO: Make this a variant
|
||||
'--disable-esmf']
|
||||
configure(*opts)
|
||||
make()
|
||||
|
@@ -46,10 +46,10 @@ class Netcdf(Package):
|
||||
depends_on("hdf", when='+hdf4')
|
||||
|
||||
# Required for DAP support
|
||||
depends_on("curl")
|
||||
depends_on("curl@7.18.0:")
|
||||
|
||||
# Required for NetCDF-4 support
|
||||
depends_on("zlib")
|
||||
depends_on("zlib@1.2.5:")
|
||||
depends_on('hdf5')
|
||||
|
||||
# NetCDF 4.4.0 and prior have compatibility issues with HDF5 1.10 and later
|
||||
@@ -105,7 +105,7 @@ def install(self, spec, prefix):
|
||||
LDFLAGS.append("-L%s/lib" % spec['hdf'].prefix)
|
||||
LIBS.append("-l%s" % "jpeg")
|
||||
|
||||
if 'szip' in spec:
|
||||
if '+szip' in spec:
|
||||
CPPFLAGS.append("-I%s/include" % spec['szip'].prefix)
|
||||
LDFLAGS.append("-L%s/lib" % spec['szip'].prefix)
|
||||
LIBS.append("-l%s" % "sz")
|
||||
@@ -120,4 +120,8 @@ def install(self, spec, prefix):
|
||||
|
||||
configure(*config_args)
|
||||
make()
|
||||
|
||||
if self.run_tests:
|
||||
make("check")
|
||||
|
||||
make("install")
|
||||
|
@@ -36,6 +36,7 @@ class Nettle(Package):
|
||||
version('2.7', '2caa1bd667c35db71becb93c5d89737f')
|
||||
|
||||
depends_on('gmp')
|
||||
depends_on('m4', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix={0}'.format(prefix))
|
||||
|
@@ -41,6 +41,7 @@ class Pango(Package):
|
||||
depends_on("pkg-config", type="build")
|
||||
depends_on("harfbuzz")
|
||||
depends_on("cairo")
|
||||
depends_on("glib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
73
var/spack/repos/builtin/packages/piranha/package.py
Normal file
73
var/spack/repos/builtin/packages/piranha/package.py
Normal file
@@ -0,0 +1,73 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 Piranha(Package):
|
||||
"""Piranha is a computer-algebra library for the symbolic manipulation of
|
||||
sparse multivariate polynomials and other closely-related symbolic objects
|
||||
(such as Poisson series)."""
|
||||
|
||||
homepage = "https://bluescarni.github.io/piranha/sphinx/"
|
||||
url = "https://github.com/bluescarni/piranha/archive/v0.5.tar.gz"
|
||||
|
||||
version('0.5', '99546bae2be115737b6316751eb0b84d')
|
||||
version('develop', git='https://github.com/bluescarni/piranha.git')
|
||||
|
||||
variant('python', default=True,
|
||||
description='Build the Python bindings')
|
||||
|
||||
# Build dependencies
|
||||
depends_on('cmake@3.0:', type='build')
|
||||
extends('python', when='+pyranha')
|
||||
depends_on('python@2.6:', type='build', when='+pyranha')
|
||||
|
||||
# Other dependencies
|
||||
depends_on('boost+iostreams+regex+serialization',
|
||||
when='~python')
|
||||
depends_on('boost+iostreams+regex+serialization+python',
|
||||
when='+python')
|
||||
depends_on('bzip2')
|
||||
depends_on('gmp') # mpir is a drop-in replacement for this
|
||||
depends_on('mpfr') # Could also be built against mpir
|
||||
|
||||
def install(self, spec, prefix):
|
||||
options = []
|
||||
options.extend(std_cmake_args)
|
||||
|
||||
# Python bindings
|
||||
options.extend([
|
||||
'-DBUILD_PYRANHA=%s' % (
|
||||
'ON' if '+python' in spec else 'OFF'),
|
||||
'-DBUILD_TESTS:BOOL=ON',
|
||||
])
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *options)
|
||||
|
||||
make()
|
||||
make('install')
|
||||
if self.run_tests:
|
||||
make('test')
|
@@ -23,6 +23,7 @@
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
from spack import *
|
||||
import sys
|
||||
|
||||
|
||||
class Pixman(Package):
|
||||
@@ -38,8 +39,13 @@ class Pixman(Package):
|
||||
depends_on("libpng")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--disable-mmx",
|
||||
"--disable-gtk")
|
||||
config_args = ["--prefix=" + prefix,
|
||||
"--disable-gtk"]
|
||||
|
||||
if sys.platform == "darwin":
|
||||
config_args.append("--disable-mmx")
|
||||
|
||||
configure(*config_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -38,6 +38,10 @@ class Pngwriter(Package):
|
||||
homepage = "http://pngwriter.sourceforge.net/"
|
||||
url = "https://github.com/pngwriter/pngwriter/archive/0.5.6.tar.gz"
|
||||
|
||||
version('dev', branch='dev',
|
||||
git='https://github.com/pngwriter/pngwriter.git')
|
||||
version('master', branch='master',
|
||||
git='https://github.com/pngwriter/pngwriter.git')
|
||||
version('0.5.6', 'c13bd1fdc0e331a246e6127b5f262136')
|
||||
|
||||
depends_on('cmake', type='build')
|
||||
|
@@ -37,4 +37,4 @@ class Py3to2(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PySqlalchemy(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PyArgcomplete(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -42,4 +42,4 @@ class PyAstroid(Package):
|
||||
depends_on('py-six', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -56,6 +56,5 @@ class PyAstropy(Package):
|
||||
depends_on('expat')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'build', '--use-system-cfitsio',
|
||||
'--use-system-expat')
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('build', '--use-system-cfitsio', '--use-system-expat')
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -1,16 +1,53 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyAutopep8(Package):
|
||||
"""Automatic pep8 formatter"""
|
||||
homepage = "https://github.com/hhatto/autopep8"
|
||||
url = "https://github.com/hhatto/autopep8/archive/ver1.2.2.tar.gz"
|
||||
"""autopep8 automatically formats Python code to conform to the
|
||||
PEP 8 style guide."""
|
||||
|
||||
homepage = "https://github.com/hhatto/autopep8"
|
||||
url = "https://github.com/hhatto/autopep8/archive/v1.2.4.tar.gz"
|
||||
|
||||
version('1.2.4', '0458db85159a9e1b45f3e71ce6c158da')
|
||||
version('1.2.2', 'def3d023fc9dfd1b7113602e965ad8e1')
|
||||
|
||||
extends('python')
|
||||
extends('python', ignore='bin/pep8')
|
||||
depends_on('python@2.6:2.7,3.2:')
|
||||
|
||||
depends_on('py-pycodestyle@1.5.7:1.7.0', type=nolink)
|
||||
|
||||
depends_on('py-setuptools', type='build')
|
||||
depends_on('py-pep8', type=nolink)
|
||||
|
||||
def url_for_version(self, version):
|
||||
url = "https://github.com/hhatto/autopep8/archive/{0}{1}.tar.gz"
|
||||
if version >= Version('1.2.3'):
|
||||
return url.format('v', version)
|
||||
else:
|
||||
return url.format('ver', version)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -43,4 +43,4 @@ class PyBasemap(Package):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['GEOS_DIR'] = spec['geos'].prefix
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyBeautifulsoup4(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -41,4 +41,4 @@ class PyBiopython(Package):
|
||||
depends_on('py-numpy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -37,4 +37,4 @@ class PyBlessings(Package):
|
||||
extends("python")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PyBottleneck(Package):
|
||||
depends_on('py-numpy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -49,4 +49,4 @@ def install(self, spec, prefix):
|
||||
# building the shared library.
|
||||
os.environ['LDSHARED'] = "{0} -shared -pthread".format(spack_cc)
|
||||
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
46
var/spack/repos/builtin/packages/py-configparser/package.py
Normal file
46
var/spack/repos/builtin/packages/py-configparser/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyConfigparser(Package):
|
||||
"""This library brings the updated configparser from Python 3.5 to
|
||||
Python 2.6-3.5."""
|
||||
|
||||
homepage = "https://pypi.python.org/pypi/configparser"
|
||||
url = "https://pypi.python.org/packages/source/c/configparser/configparser-3.5.0.tar.gz"
|
||||
|
||||
version('3.5.0', 'cfdd915a5b7a6c09917a64a573140538',
|
||||
url="https://pypi.python.org/packages/7c/69/c2ce7e91c89dc073eb1aa74c0621c3eefbffe8216b3f9af9d3885265c01c/configparser-3.5.0.tar.gz")
|
||||
|
||||
extends('python')
|
||||
depends_on('python@2.6:2.7,3.4:')
|
||||
|
||||
depends_on('py-ordereddict', when='^python@2.6:2.6.999', type=nolink)
|
||||
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
@@ -38,4 +38,4 @@ class PyCoverage(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -44,4 +44,4 @@ class PyCsvkit(Package):
|
||||
depends_on('py-openpyxl', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyCython(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -37,4 +37,4 @@ class PyDask(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -39,4 +39,4 @@ class PyDateutil(Package):
|
||||
depends_on('py-six', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -37,4 +37,4 @@ class PyDbf(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -39,4 +39,4 @@ class PyDecorator(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -38,4 +38,4 @@ class PyEmcee(Package):
|
||||
depends_on('py-numpy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
45
var/spack/repos/builtin/packages/py-enum34/package.py
Normal file
45
var/spack/repos/builtin/packages/py-enum34/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyEnum34(Package):
|
||||
"""Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4."""
|
||||
|
||||
homepage = "https://pypi.python.org/pypi/enum34"
|
||||
url = "https://pypi.python.org/packages/source/e/enum34/enum34-1.1.6.tar.gz"
|
||||
|
||||
version('1.1.6', '5f13a0841a61f7fc295c514490d120d0',
|
||||
url="https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz")
|
||||
|
||||
extends('python')
|
||||
depends_on('python@2.4:2.8,3.3:')
|
||||
|
||||
depends_on('py-ordereddict', when='^python@:2.6.999', type=nolink)
|
||||
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
@@ -36,4 +36,4 @@ class PyEpydoc(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -28,13 +28,40 @@
|
||||
class PyFlake8(Package):
|
||||
"""Flake8 is a wrapper around PyFlakes, pep8 and Ned Batchelder's
|
||||
McCabe script."""
|
||||
homepage = "http://flake8.readthedocs.io/en/latest/"
|
||||
url = "https://pypi.python.org/packages/source/f/flake8/flake8-2.5.4.tar.gz"
|
||||
|
||||
version('2.5.4', 'a4585b3569b95c3f66acb8294a7f06ef')
|
||||
homepage = "https://github.com/PyCQA/flake8"
|
||||
url = "https://github.com/PyCQA/flake8/archive/3.0.4.tar.gz"
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools', type='build')
|
||||
version('3.0.4', 'cf2a7d8c92070f7b62253404ffb54df7')
|
||||
version('2.5.4', '366dd1de6c300254c830b81e66979f06')
|
||||
|
||||
extends('python', ignore='bin/(pyflakes|pycodestyle)')
|
||||
depends_on('python@2.7:2.8,3.4:')
|
||||
|
||||
# Most Python packages only require py-setuptools as a build dependency.
|
||||
# However, py-flake8 requires py-setuptools during runtime as well.
|
||||
depends_on('py-setuptools', type=nolink)
|
||||
|
||||
# pyflakes >= 0.8.1, != 1.2.0, != 1.2.1, != 1.2.2, < 1.3.0
|
||||
depends_on('py-pyflakes@0.8.1:1.1.0,1.2.3:1.2.3', when='@3.0.4', type=nolink) # noqa
|
||||
# pyflakes >= 0.8.1, < 1.1
|
||||
depends_on('py-pyflakes@0.8.1:1.0.0', when='@2.5.4', type=nolink)
|
||||
|
||||
# pycodestyle >= 2.0.0, < 2.1.0
|
||||
depends_on('py-pycodestyle@2.0.0:2.0.999', when='@3.0.4', type=nolink)
|
||||
# pep8 >= 1.5.7, != 1.6.0, != 1.6.1, != 1.6.2
|
||||
depends_on('py-pycodestyle@1.5.7,1.7.0:', when='@2.5.4', type=nolink)
|
||||
|
||||
# mccabe >= 0.5.0, < 0.6.0
|
||||
depends_on('py-mccabe@0.5.0:0.5.999', when='@3.0.4', type=nolink)
|
||||
# mccabe >= 0.2.1, < 0.5
|
||||
depends_on('py-mccabe@0.2.1:0.4.0', when='@2.5.4', type=nolink)
|
||||
|
||||
depends_on('py-configparser', when='^python@:3.3.999', type=nolink)
|
||||
depends_on('py-enum34', when='^python@:3.1.999', type=nolink)
|
||||
|
||||
# TODO: Add test dependencies
|
||||
# depends_on('py-nose', type='test')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -37,4 +37,4 @@ class PyFuncsigs(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -39,4 +39,4 @@ class PyGenshi(Package):
|
||||
depends_on("py-setuptools", type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -37,4 +37,4 @@ class PyGnuplot(Package):
|
||||
depends_on('py-numpy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -56,11 +56,10 @@ class PyH5py(Package):
|
||||
depends_on('py-six', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'configure',
|
||||
'--hdf5={0}'.format(spec['hdf5'].prefix))
|
||||
setup_py('configure', '--hdf5={0}'.format(spec['hdf5'].prefix))
|
||||
|
||||
if '+mpi' in spec:
|
||||
env['CC'] = spec['mpi'].mpicc
|
||||
python('setup.py', 'configure', '--mpi')
|
||||
setup_py('configure', '--mpi')
|
||||
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -43,4 +43,4 @@ class PyIminuit(Package):
|
||||
depends_on('py-cython', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -39,4 +39,4 @@ class PyIpython(Package):
|
||||
depends_on('py-setuptools', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PyJdcal(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -45,4 +45,4 @@ class PyLockfile(Package):
|
||||
depends_on("py-setuptools", type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -38,4 +38,4 @@ class PyLogilabCommon(Package):
|
||||
depends_on("py-six", type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -38,4 +38,4 @@ class PyMako(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
53
var/spack/repos/builtin/packages/py-mccabe/package.py
Normal file
53
var/spack/repos/builtin/packages/py-mccabe/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyMccabe(Package):
|
||||
"""Ned's script to check McCabe complexity."""
|
||||
|
||||
homepage = "https://github.com/PyCQA/mccabe"
|
||||
url = "https://github.com/PyCQA/mccabe/archive/0.5.2.tar.gz"
|
||||
|
||||
version('0.5.2', '3cdf2d7faa1464b18905fe9a7063a632')
|
||||
version('0.5.1', '864b364829156701bec797712be8ece0')
|
||||
version('0.5.0', '71c0ce5e5c4676753525154f6c5d3af8')
|
||||
version('0.4.0', '9cf5712e5f1785aaa27273a4328babe4')
|
||||
version('0.3.1', '45c48c0978e6fc1f31fedcb918178abb')
|
||||
version('0.3', 'c583f58ea28be12842c001473d77504d')
|
||||
version('0.2.1', 'fcba311ebd999f48359a8ab28da94b30')
|
||||
version('0.2', '36d4808c37e187dbb1fe2373a0ac6645')
|
||||
version('0.1', '3c9e8e72612a9c01d865630cc569150a')
|
||||
|
||||
extends('python')
|
||||
depends_on('python@2.7:2.8,3.3:')
|
||||
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
# TODO: Add test dependencies
|
||||
# depends_on('py-pytest', type='test')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
@@ -43,4 +43,4 @@ class PyMistune(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyMock(Package):
|
||||
depends_on('py-setuptools@17.1:', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -43,4 +43,4 @@ class PyMpi4py(Package):
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -35,4 +35,4 @@ class PyMpmath(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyMx(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PyMysqldb1(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -41,4 +41,4 @@ class PyNestle(Package):
|
||||
depends_on('py-scipy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -38,4 +38,4 @@ class PyNetcdf(Package):
|
||||
depends_on('netcdf')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -39,4 +39,4 @@ class PyNetworkx(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyNose(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -37,4 +37,4 @@ class PyNumexpr(Package):
|
||||
depends_on('py-numpy', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -66,21 +66,21 @@ def setup_dependent_package(self, module, dep_spec):
|
||||
'numpy/core/include')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
libraries = []
|
||||
library_dirs = []
|
||||
# for build notes see http://www.scipy.org/scipylib/building/linux.html
|
||||
lapackblas = LibraryList('')
|
||||
if '+lapack' in spec:
|
||||
lapackblas += spec['lapack'].lapack_libs
|
||||
|
||||
if '+blas' in spec:
|
||||
libraries.append('blas')
|
||||
library_dirs.append(spec['blas'].prefix.lib)
|
||||
if '+lapack' in spec:
|
||||
libraries.append('lapack')
|
||||
library_dirs.append(spec['lapack'].prefix.lib)
|
||||
lapackblas += spec['blas'].blas_libs
|
||||
|
||||
if '+blas' in spec or '+lapack' in spec:
|
||||
with open('site.cfg', 'w') as f:
|
||||
f.write('[DEFAULT]\n')
|
||||
f.write('libraries=%s\n' % ','.join(libraries))
|
||||
f.write('library_dirs=%s\n' % ':'.join(library_dirs))
|
||||
f.write('rpath=%s\n' % ':'.join(library_dirs))
|
||||
f.write('libraries=%s\n' % ','.join(lapackblas.names))
|
||||
f.write('library_dirs=%s\n' % ':'.join(lapackblas.directories))
|
||||
if not ((platform.system() == "Darwin") and
|
||||
(platform.mac_ver()[0] == '10.12')):
|
||||
f.write('rpath=%s\n' % ':'.join(lapackblas.directories))
|
||||
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -39,4 +39,4 @@ class PyOpenpyxl(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
41
var/spack/repos/builtin/packages/py-ordereddict/package.py
Normal file
41
var/spack/repos/builtin/packages/py-ordereddict/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyOrdereddict(Package):
|
||||
"""A drop-in substitute for Py2.7's new collections.
|
||||
OrderedDict that works in Python 2.4-2.6."""
|
||||
|
||||
homepage = "https://pypi.python.org/pypi/ordereddict"
|
||||
url = "https://pypi.python.org/packages/source/o/ordereddict/ordereddict-1.1.tar.gz"
|
||||
|
||||
version('1.1', 'a0ed854ee442051b249bfad0f638bbec')
|
||||
|
||||
extends('python')
|
||||
depends_on('python@2.4:2.6.999')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
@@ -51,4 +51,4 @@ class PyPandas(Package):
|
||||
depends_on('py-bottleneck', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -38,4 +38,4 @@ class PyPbr(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -1,15 +0,0 @@
|
||||
from spack import *
|
||||
|
||||
|
||||
class PyPep8(Package):
|
||||
"""python pep8 format checker"""
|
||||
homepage = "https://github.com/PyCQA/pycodestyle"
|
||||
url = "https://github.com/PyCQA/pycodestyle/archive/1.7.0.tar.gz"
|
||||
|
||||
version('1.7.0', '31070a3a6391928893cbf5fa523eb8d9')
|
||||
|
||||
extends('python')
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -39,4 +39,4 @@ class PyPeriodictable(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -35,4 +35,4 @@ class PyPexpect(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyPhonopy(Package):
|
||||
depends_on('py-pyyaml', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--home=%s' % prefix)
|
||||
setup_py('install', '--home=%s' % prefix)
|
||||
|
@@ -43,4 +43,4 @@ class PyPil(Package):
|
||||
depends_on('python@1.5.2:2.8')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -129,5 +129,5 @@ def variant_to_flag(variant):
|
||||
variants = ['jpeg', 'zlib', 'tiff', 'freetype', 'lcms', 'jpeg2000']
|
||||
build_args = list(map(variant_to_flag, variants))
|
||||
|
||||
python('setup.py', 'build_ext', *build_args)
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('build_ext', *build_args)
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -35,4 +35,4 @@ class PyPly(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -36,4 +36,4 @@ class PyPmw(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -40,4 +40,4 @@ class PyPrettytable(Package):
|
||||
depends_on("py-setuptools", type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -47,4 +47,4 @@ class PyProtobuf(Package):
|
||||
depends_on('py-setuptools', type='build')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix={0}'.format(prefix))
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
||||
|
@@ -43,4 +43,4 @@ class PyPy2neo(Package):
|
||||
extends("python")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
@@ -35,4 +35,4 @@ class PyPychecker(Package):
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
setup_py('install', '--prefix=%s' % prefix)
|
||||
|
52
var/spack/repos/builtin/packages/py-pycodestyle/package.py
Normal file
52
var/spack/repos/builtin/packages/py-pycodestyle/package.py
Normal file
@@ -0,0 +1,52 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013-2016, 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/llnl/spack
|
||||
# Please also see the LICENSE file 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 PyPycodestyle(Package):
|
||||
"""pycodestyle is a tool to check your Python code against some of the
|
||||
style conventions in PEP 8. Note: formerly called pep8."""
|
||||
|
||||
homepage = "https://github.com/PyCQA/pycodestyle"
|
||||
url = "https://github.com/PyCQA/pycodestyle/archive/2.0.0.tar.gz"
|
||||
|
||||
version('2.0.0', '5c3e90001f538bf3b7896d60e92eb6f6')
|
||||
version('1.7.0', '31070a3a6391928893cbf5fa523eb8d9')
|
||||
version('1.6.2', '8df18246d82ddd3d19ffe7518f983955')
|
||||
version('1.6.1', '9d59bdc7c60f46f7cee86c732e28aa1a')
|
||||
version('1.6', '340fa7e39bb44fb08db6eddf7cdc880a')
|
||||
version('1.5.7', '6d0f5fc7d95755999bc9275cad5cbf3e')
|
||||
version('1.5.6', 'c5c30e3d267b48bf3dfe7568e803a813')
|
||||
version('1.5.5', 'cfa12df9b86b3a1dfb13aced1927e12f')
|
||||
version('1.5.4', '3977a760829652543544074c684610ee')
|
||||
|
||||
extends('python')
|
||||
|
||||
# Most Python packages only require py-setuptools as a build dependency.
|
||||
# However, py-pycodestyle requires py-setuptools during runtime as well.
|
||||
depends_on('py-setuptools', type=nolink)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
setup_py('install', '--prefix={0}'.format(prefix))
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user