Merge remote-tracking branch 'upstream/develop' into develop

This commit is contained in:
Jim Galarowicz
2017-01-06 14:47:20 -08:00
13 changed files with 124 additions and 7 deletions

View File

@@ -154,6 +154,20 @@ def test_version_regular(self):
'foo-bar', '1.21',
'http://example.com/foo_bar-1.21.tar.gz')
def test_version_gitlab(self):
self.check(
'vtk', '7.0.0',
'https://gitlab.kitware.com/vtk/vtk/repository/'
'archive.tar.bz2?ref=v7.0.0')
self.check(
'icet', '1.2.3',
'https://gitlab.kitware.com/icet/icet/repository/'
'archive.tar.gz?ref=IceT-1.2.3')
self.check(
'foo', '42.1337',
'http://example.com/org/foo/repository/'
'archive.zip?ref=42.1337bar')
def test_version_github(self):
self.check(
'yajl', '1.0.5',

View File

@@ -106,19 +106,22 @@ def split_url_extension(path):
1. https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7.tgz?raw=true
2. http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.0/apache-cassandra-1.2.0-rc2-bin.tar.gz
3. https://gitlab.kitware.com/vtk/vtk/repository/archive.tar.bz2?ref=v7.0.0
In (1), the query string needs to be stripped to get at the
extension, but in (2), the filename is IN a single final query
extension, but in (2) & (3), the filename is IN a single final query
argument.
This strips the URL into three pieces: prefix, ext, and suffix.
The suffix contains anything that was stripped off the URL to
get at the file extension. In (1), it will be '?raw=true', but
in (2), it will be empty. e.g.:
in (2), it will be empty. In (3) the suffix is a parameter that follows
after the file extension, e.g.:
1. ('https://github.com/losalamos/CLAMR/blob/packages/PowerParser_v2.0.7', '.tgz', '?raw=true')
2. ('http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.2.0/apache-cassandra-1.2.0-rc2-bin',
'.tar.gz', None)
3. ('https://gitlab.kitware.com/vtk/vtk/repository/archive', '.tar.bz2', '?ref=v7.0.0')
"""
prefix, ext, suffix = path, '', ''
@@ -203,6 +206,15 @@ def parse_version_offset(path, debug=False):
# https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
(r'github.com/[^/]+/[^/]+/releases/download/v?([^/]+)/.*$', path),
# GitLab syntax:
# {baseUrl}{/organization}{/projectName}/repository/archive.{fileEnding}?ref={gitTag}
# as with github releases, we hope a version can be found in the
# git tag
# Search dotted versions:
# e.g., https://gitlab.kitware.com/vtk/vtk/repository/archive.tar.bz2?ref=v7.0.0
# e.g., https://example.com/org/repo/repository/archive.tar.bz2?ref=SomePrefix-2.1.1
(r'\?ref=(?:.*-|v)*((\d+\.)+\d+).*$', suffix),
# e.g. boost_1_39_0
(r'((\d+_)+\d+)$', stem),
@@ -291,6 +303,7 @@ def parse_name_offset(path, v=None, debug=False):
(r'/([^/]+)/(tarball|zipball)/', path),
(r'/([^/]+)[_.-](bin|dist|stable|src|sources)[_.-]%s' % v, path),
(r'github.com/[^/]+/([^/]+)/archive', path),
(r'[^/]+/([^/]+)/repository/archive', path), # gitlab
(r'([^/]+)[_.-]v?%s' % v, stem), # prefer the stem
(r'([^/]+)%s' % v, stem),

View File

@@ -42,6 +42,7 @@ class Boost(Package):
list_url = "http://sourceforge.net/projects/boost/files/boost/"
list_depth = 2
version('1.63.0', '1c837ecd990bb022d07e7aab32b09847')
version('1.62.0', '5fb94629535c19e48703bdb2b2e9490f')
version('1.61.0', '6095876341956f65f9d35939ccea1a9f')
version('1.60.0', '65a840e1a0b13a558ff19eeb2c4f0cbe')

View File

@@ -45,8 +45,9 @@ class Conduit(Package):
coupling between packages in-core, serialization, and I/O tasks."""
homepage = "http://software.llnl.gov/conduit"
url = "https://github.com/LLNL/conduit/archive/v0.2.0.tar.gz"
url = "https://github.com/LLNL/conduit/archive/v0.2.1.tar.gz"
version('0.2.1', 'cd2b42c76f70ac3546582b6da77c6028')
version('0.2.0', 'd595573dedf55514c11d7391092fd760')
version('master', git='https://github.com/LLNL/conduit.git')

View File

@@ -0,0 +1,79 @@
##############################################################################
# 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 Espressopp(CMakePackage):
"""ESPResSo++ is an extensible, flexible, fast and parallel simulation
software for soft matter research. It is a highly versatile software
package for the scientific simulation and analysis of coarse-grained
atomistic or bead-spring models as they are used in soft matter research
"""
homepage = "https://espressopp.github.io"
url = "https://github.com/espressopp/espressopp/tarball/v1.9.4.1"
version('develop', git='https://github.com/espressopp/espressopp.git', branch='master')
version('1.9.4.1', '0da74a6d4e1bfa6a2a24fca354245a4f')
version('1.9.4', 'f2a27993a83547ad014335006eea74ea')
variant('debug', default=False, description='Build debug version')
variant('ug', default=False, description='Build user guide')
variant('pdf', default=False, description='Build user guide in pdf format')
variant('dg', default=False, description='Build developer guide')
depends_on("cmake@2.8:", type='build')
depends_on("mpi")
depends_on("boost+serialization+filesystem+system+python+mpi", when='@1.9.4:')
extends("python")
depends_on("python@2:2.7.13")
depends_on("py-mpi4py@2.0.0:", when='@1.9.4', type='nolink')
depends_on("py-mpi4py@1.3.1:", when='@1.9.4.1:', type='nolink')
depends_on("fftw")
depends_on("py-sphinx", when="+ug", type='build')
depends_on("py-sphinx", when="+pdf", type='build')
depends_on("texlive", when="+pdf", type='build')
depends_on("doxygen", when="+dg", type='build')
def cmake_args(self):
spec = self.spec
options = []
options.extend(['-DEXTERNAL_MPI4PY=ON', '-DEXTERNAL_BOOST=ON'])
if '+debug' in spec:
options.extend(['-DCMAKE_BUILD_TYPE:STRING=Debug'])
else:
options.extend(['-DCMAKE_BUILD_TYPE:STRING=Release'])
return options
def build(self, spec, prefix):
with working_dir(self.build_directory()):
make()
if '+ug' in spec:
make("ug", parallel=False)
if '+pdf' in spec:
make("ug-pdf", parallel=False)
if '+dg' in spec:
make("doc", parallel=False)

View File

@@ -28,7 +28,7 @@
from spack.pkg.builtin.intel import IntelInstaller
class Mkl(IntelInstaller):
class IntelMkl(IntelInstaller):
"""Intel Math Kernel Library.
Note: You will have to add the download file to a
@@ -55,6 +55,7 @@ class Mkl(IntelInstaller):
# virtual dependency
provides('blas')
provides('lapack')
provides('mkl')
# TODO: MKL also provides implementation of Scalapack.
@property

View File

@@ -33,7 +33,7 @@ class PyLogilabCommon(Package):
version('1.2.0', 'f7b51351b7bfe052746fa04c03253c0b')
extends("python")
extends('python', ignore=r'bin/pytest')
depends_on("py-setuptools", type='build')
depends_on("py-six", type=nolink)

View File

@@ -33,7 +33,10 @@ class PyPylint(Package):
version('1.4.1', 'df7c679bdcce5019389038847e4de622')
version('1.4.3', '5924c1c7ca5ca23647812f5971d0ea44')
extends('python')
extends('python', ignore=r'bin/pytest')
depends_on('py-six', type=nolink)
depends_on('py-astroid', type=nolink)
depends_on('py-logilab-common', type=nolink)
depends_on('py-nose', type='build')
depends_on('py-setuptools', type='build')

View File

@@ -38,6 +38,7 @@ class PyPyside(Package):
extends('python')
depends_on('py-setuptools', type='build')
depends_on('py-sphinx', type=nolink)
depends_on('qt@4.5:4.9')
depends_on('libxml2@2.6.32:')
depends_on('libxslt@1.1.19:')

View File

@@ -31,6 +31,8 @@ class PyPytables(Package):
homepage = "http://www.pytables.org/"
url = "https://github.com/PyTables/PyTables/archive/v.3.2.2.tar.gz"
version('3.3.0', '056c161ae0fd2d6e585b766adacf3b0b',
url='https://github.com/PyTables/PyTables/archive/v3.3.0.tar.gz')
version('3.2.2', '7cbb0972e4d6580f629996a5bed92441')
extends('python')

View File

@@ -39,6 +39,7 @@ class PyRpy2(Package):
version('2.5.6', 'a36e758b633ce6aec6a5f450bfee980f')
extends('python')
depends_on('py-six', type=nolink)
depends_on('py-setuptools', type='build')
depends_on('R')

View File

@@ -34,7 +34,7 @@ class PySix(Package):
version('1.10.0', '34eed507548117b2ab523ab14b2f8b55')
version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
extends('python')
extends('python', ignore=r'bin/pytest')
depends_on('py-setuptools', type='build')

View File

@@ -44,6 +44,7 @@ class Python(Package):
list_url = "https://www.python.org/downloads/"
list_depth = 2
version('3.6.0', '3f7062ccf8be76491884d0e47ac8b251')
version('3.5.2', '3fe8434643a78630c61c6464fe2e7e72')
version('3.5.1', 'be78e48cdfc1a7ad90efff146dce6cfe')
version('3.5.0', 'a56c0c0b45d75a0ec9c6dee933c41c36')