summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/spack2
-rw-r--r--lib/spack/docs/packaging_guide.rst20
-rw-r--r--lib/spack/spack/cmd/create.py3
-rw-r--r--lib/spack/spack/directives.py6
-rw-r--r--lib/spack/spack/provider_index.py10
-rw-r--r--var/spack/repos/builtin/packages/libpciaccess/package.py2
-rw-r--r--var/spack/repos/builtin/packages/nano/package.py40
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py14
-rw-r--r--var/spack/repos/builtin/packages/py-alabaster/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-babel/package.py45
-rw-r--r--var/spack/repos/builtin/packages/py-docutils/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-imagesize/package.py43
-rw-r--r--var/spack/repos/builtin/packages/py-jinja2/package.py31
-rw-r--r--var/spack/repos/builtin/packages/py-markupsafe/package.py32
-rw-r--r--var/spack/repos/builtin/packages/py-pygments/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pytz/package.py7
-rw-r--r--var/spack/repos/builtin/packages/py-setuptools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/py-six/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-snowballstemmer/package.py40
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py42
-rw-r--r--var/spack/repos/builtin/packages/py-sphinx/package.py20
-rw-r--r--var/spack/repos/builtin/packages/qt-creator/package.py46
22 files changed, 406 insertions, 57 deletions
diff --git a/bin/spack b/bin/spack
index 9fed11f33b..7efa88f1ee 100755
--- a/bin/spack
+++ b/bin/spack
@@ -176,7 +176,7 @@ def main():
if args.profile:
import cProfile
- cProfile.run('main()', sort='tottime')
+ cProfile.run('main()', sort='time')
elif args.pdb:
import pdb
pdb.run('main()')
diff --git a/lib/spack/docs/packaging_guide.rst b/lib/spack/docs/packaging_guide.rst
index 879beb2476..34fcb1e101 100644
--- a/lib/spack/docs/packaging_guide.rst
+++ b/lib/spack/docs/packaging_guide.rst
@@ -759,6 +759,26 @@ Fetching a revision
Subversion branches are handled as part of the directory structure, so
you can check out a branch or tag by changing the ``url``.
+Expanding additional resources in the source tree
+-------------------------------------------------
+
+Some packages (most notably compilers) provide optional features if additional
+resources are expanded within their source tree before building. In Spack it is
+possible to describe such a need with the ``resource`` directive :
+
+ .. code-block:: python
+
+ resource(
+ name='cargo',
+ git='https://github.com/rust-lang/cargo.git',
+ tag='0.10.0',
+ destination='cargo'
+ )
+
+Based on the keywords present among the arguments the appropriate ``FetchStrategy``
+will be used for the resource. The keyword ``destination`` is relative to the source
+root of the package and should point to where the resource is to be expanded.
+
Automatic caching of files fetched during installation
------------------------------------------------------
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index 52a82eb38f..aa7c42def0 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -120,7 +120,8 @@ dependencies_dict = {
extends('python')
# FIXME: Add additional dependencies if required.
- # depends_on('py-foo', type=nolink)""",
+ # depends_on('py-setuptools', type='build')
+ # depends_on('py-foo', type=nolink)""",
'R': """\
extends('R')
diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py
index 313bf48f0d..2a151e0374 100644
--- a/lib/spack/spack/directives.py
+++ b/lib/spack/spack/directives.py
@@ -292,17 +292,17 @@ def resource(pkg, **kwargs):
Define an external resource to be fetched and staged when building the
package. Based on the keywords present in the dictionary the appropriate
FetchStrategy will be used for the resource. Resources are fetched and
- staged in their own folder inside spack stage area, and then linked into
+ staged in their own folder inside spack stage area, and then moved into
the stage area of the package that needs them.
List of recognized keywords:
* 'when' : (optional) represents the condition upon which the resource is
needed
- * 'destination' : (optional) path where to link the resource. This path
+ * 'destination' : (optional) path where to move the resource. This path
must be relative to the main package stage area.
* 'placement' : (optional) gives the possibility to fine tune how the
- resource is linked into the main package stage area.
+ resource is moved into the main package stage area.
"""
when = kwargs.get('when', pkg.name)
destination = kwargs.get('destination', "")
diff --git a/lib/spack/spack/provider_index.py b/lib/spack/spack/provider_index.py
index 3f9cd285e7..2be48b43c1 100644
--- a/lib/spack/spack/provider_index.py
+++ b/lib/spack/spack/provider_index.py
@@ -32,6 +32,7 @@ import yaml
from yaml.error import MarkedYAMLError
import spack
+import spack.error
class ProviderIndex(object):
@@ -201,11 +202,10 @@ class ProviderIndex(object):
"error parsing YAML ProviderIndex cache:", str(e))
if not isinstance(yfile, dict):
- raise spack.spec.SpackYAMLError(
- "YAML ProviderIndex was not a dict.")
+ raise ProviderIndexError("YAML ProviderIndex was not a dict.")
if 'provider_index' not in yfile:
- raise spack.spec.SpackYAMLError(
+ raise ProviderIndexError(
"YAML ProviderIndex does not start with 'provider_index'")
index = ProviderIndex()
@@ -291,3 +291,7 @@ def _transform(providers, transform_fun, out_mapping_type=dict):
(name, out_mapping_type([
transform_fun(vpkg, pset) for vpkg, pset in mapiter(mappings)]))
for name, mappings in providers.items())
+
+
+class ProviderIndexError(spack.error.SpackError):
+ """Raised when there is a problem with a ProviderIndex."""
diff --git a/var/spack/repos/builtin/packages/libpciaccess/package.py b/var/spack/repos/builtin/packages/libpciaccess/package.py
index a65b81b69b..1775a24ebc 100644
--- a/var/spack/repos/builtin/packages/libpciaccess/package.py
+++ b/var/spack/repos/builtin/packages/libpciaccess/package.py
@@ -33,7 +33,7 @@ class Libpciaccess(Package):
version('0.13.4', 'ace78aec799b1cf6dfaea55d3879ed9f')
- depends_on('libtool')
+ depends_on('libtool', type='build')
def install(self, spec, prefix):
# libpciaccess does not support OS X
diff --git a/var/spack/repos/builtin/packages/nano/package.py b/var/spack/repos/builtin/packages/nano/package.py
new file mode 100644
index 0000000000..3e87ec8ffe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nano/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# 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 Nano(Package):
+ """Tiny little text editor"""
+
+ homepage = "http://www.nano-editor.org"
+ url = "https://www.nano-editor.org/dist/v2.6/nano-2.6.3.tar.gz"
+
+ version('2.6.3', '1213c7f17916e65afefc95054c1f90f9')
+ version('2.6.2', '58568a4b8a33841d774c25f285fc11c1')
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" % prefix)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
index 074d28540b..648b2fab98 100644
--- a/var/spack/repos/builtin/packages/pdt/package.py
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -22,7 +22,6 @@
# 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 *
@@ -36,14 +35,15 @@ class Pdt(Package):
"""
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
+ url = "http://www.cs.uoregon.edu/research/paracomp/pdtoolkit/Download/pdt-3.22.1.tar.gz"
- version('3.21', '3092ca0d8833b69992c17e63ae66c263')
- version('3.19', '5c5e1e6607086aa13bf4b1b9befc5864')
-
- def url_for_version(self, version):
- return 'https://www.cs.uoregon.edu/research/tau/pdt_releases/pdtoolkit-%s.tar.gz' % (version)
+ version('3.22.1', 'be6fac0b1edb3e3287b0cb78741a24b6')
+ version('3.22', 'e6c7879fc49ac5ff67a76ce31ef9e251')
+ version('3.21', '8df94298b71703decf680709a4ddf68f')
+ version('3.19', 'ba5591994998771fdab216699e362228')
+ version('3.18.1', '05281b5c82a4754df936df99ad7eec0f')
def install(self, spec, prefix):
configure('-prefix=%s' % prefix)
make()
- make("install")
+ make('install')
diff --git a/var/spack/repos/builtin/packages/py-alabaster/package.py b/var/spack/repos/builtin/packages/py-alabaster/package.py
new file mode 100644
index 0000000000..24cb5dce22
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-alabaster/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 PyAlabaster(Package):
+ """Alabaster is a visually (c)lean, responsive, configurable theme
+ for the Sphinx documentation system."""
+
+ homepage = "https://pypi.python.org/pypi/alabaster"
+ url = "https://pypi.python.org/packages/source/a/alabaster/alabaster-0.7.9.tar.gz"
+
+ version('0.7.9', 'b29646a8bbe7aa52830375b7d17b5d7a',
+ url="https://pypi.python.org/packages/71/c3/70da7d8ac18a4f4c502887bd2549e05745fa403e2cd9d06a8a9910a762bc/alabaster-0.7.9.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-babel/package.py b/var/spack/repos/builtin/packages/py-babel/package.py
new file mode 100644
index 0000000000..8beb216fd3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-babel/package.py
@@ -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 PyBabel(Package):
+ """Babel is an integrated collection of utilities that assist in
+ internationalizing and localizing Python applications, with an
+ emphasis on web-based applications."""
+
+ homepage = "http://babel.pocoo.org/en/latest/"
+ url = "https://pypi.python.org/packages/source/B/Babel/Babel-2.3.4.tar.gz"
+
+ version('2.3.4', 'afa20bc55b0e991833030129ad498f35',
+ url="https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114/Babel-2.3.4.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-pytz', type=nolink)
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-docutils/package.py b/var/spack/repos/builtin/packages/py-docutils/package.py
index 3a938d918b..114131df90 100644
--- a/var/spack/repos/builtin/packages/py-docutils/package.py
+++ b/var/spack/repos/builtin/packages/py-docutils/package.py
@@ -40,4 +40,4 @@ class PyDocutils(Package):
extends('python')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix={0}'.format(prefix))
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-imagesize/package.py b/var/spack/repos/builtin/packages/py-imagesize/package.py
new file mode 100644
index 0000000000..941e64610e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-imagesize/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 PyImagesize(Package):
+ """Parses image file headers and returns image size. Supports PNG, JPEG,
+ JPEG2000, and GIF image file formats."""
+
+ homepage = "https://pypi.python.org/pypi/imagesize"
+ url = "https://pypi.python.org/packages/source/i/imagesize/imagesize-0.7.1.tar.gz"
+
+ version('0.7.1', '976148283286a6ba5f69b0f81aef8052',
+ url="https://pypi.python.org/packages/53/72/6c6f1e787d9cab2cc733cf042f125abec07209a58308831c9f292504e826/imagesize-0.7.1.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-jinja2/package.py b/var/spack/repos/builtin/packages/py-jinja2/package.py
index 943edf521a..8ef4f568c5 100644
--- a/var/spack/repos/builtin/packages/py-jinja2/package.py
+++ b/var/spack/repos/builtin/packages/py-jinja2/package.py
@@ -22,29 +22,28 @@
# 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 depends_on, extends, version, nolink
-from spack import Package
+from spack import *
class PyJinja2(Package):
- """
- Jinja2 is a template engine written in pure Python. It provides
+ """Jinja2 is a template engine written in pure Python. It provides
a Django inspired non-XML syntax but supports inline expressions
- and an optional sandboxed environment.
- """
+ and an optional sandboxed environment."""
homepage = "http://jinja.pocoo.org/"
- url = "https://github.com/pallets/jinja/archive/2.8.tar.gz"
+ url = "https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.8.tar.gz"
- version('2.8', '4114200650d7630594e3bc70af23f59e')
- version('2.7.3', '55b87bdc8e585b8b5b86734eefce2621')
- version('2.7.2', '8e8f226809ae6363009b9296e30adf30')
- version('2.7.1', '69b6675553c81b1087f95cae7f2179bb')
- version('2.7', 'ec70433f325051dcedacbb2465028a35')
+ version('2.8', 'edb51693fe22c53cee5403775c71a99e')
+ version('2.7.3', 'b9dffd2f3b43d673802fe857c8445b1a')
+ version('2.7.2', 'df1581455564e97010e38bc792012aa5')
+ version('2.7.1', '282aed153e69f970d6e76f78ed9d027a')
+ version('2.7', 'c2fb12cbbb523c57d3d15bfe4dc0e8fe')
- extends("python")
- depends_on("py-setuptools", type='build')
- depends_on("py-markupsafe", type=nolink)
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+ depends_on('py-markupsafe', type=nolink)
+ depends_on('py-babel@0.8:', type=nolink) # optional, required for i18n
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-markupsafe/package.py b/var/spack/repos/builtin/packages/py-markupsafe/package.py
index 0a039d1d47..5ba5bfb997 100644
--- a/var/spack/repos/builtin/packages/py-markupsafe/package.py
+++ b/var/spack/repos/builtin/packages/py-markupsafe/package.py
@@ -22,29 +22,27 @@
# 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 depends_on, extends, version
-from spack import Package
+from spack import *
class PyMarkupsafe(Package):
- """
- MarkupSafe is a library for Python that implements a unicode
- string that is aware of HTML escaping rules and can be used
- to implement automatic string escaping. It is used by Jinja 2,
- the Mako templating engine, the Pylons web framework and many more.
- """
+ """MarkupSafe is a library for Python that implements a unicode
+ string that is aware of HTML escaping rules and can be used to
+ implement automatic string escaping. It is used by Jinja 2, the
+ Mako templating engine, the Pylons web framework and many more."""
homepage = "http://www.pocoo.org/projects/markupsafe/"
- url = "https://github.com/pallets/markupsafe/archive/0.23.tar.gz"
+ url = "https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.23.tar.gz"
- version('0.23', '1a0dadc95169832367c9dcf142155cde')
- version('0.22', '7a2ac7427b58def567628d06dc328396')
- version('0.21', 'aebcd93ee05269773c8b80bb6c86fc2f')
- version('0.20', '0c1fef97c8fd6a986d708f08d7f84a02')
- version('0.19', '64b05361adb92c11839fc470e308c593')
+ version('0.23', 'f5ab3deee4c37cd6a922fb81e730da6e')
+ version('0.22', 'cb3ec29fd5361add24cfd0c6e2953b3e')
+ version('0.21', 'fde838d9337fa51744283f46a1db2e74')
+ version('0.20', '7da066d9cb191a70aa85d0a3d43565d1')
+ version('0.19', 'ccb3f746c807c5500850987006854a6d')
- extends("python")
- depends_on("py-setuptools", type='build')
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-pygments/package.py b/var/spack/repos/builtin/packages/py-pygments/package.py
index 2d22bd9f03..c61b080e14 100644
--- a/var/spack/repos/builtin/packages/py-pygments/package.py
+++ b/var/spack/repos/builtin/packages/py-pygments/package.py
@@ -27,14 +27,17 @@ from spack import *
class PyPygments(Package):
"""Pygments is a syntax highlighting package written in Python."""
+
homepage = "https://pypi.python.org/pypi/pygments"
url = "https://pypi.python.org/packages/source/P/Pygments/Pygments-2.0.1.tar.gz"
+ version('2.1.3', 'ed3fba2467c8afcda4d317e4ef2c6150')
version('2.0.1', 'e0daf4c14a4fe5b630da765904de4d6c')
version('2.0.2', '238587a1370d62405edabd0794b3ec4a')
extends('python')
+
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-pytz/package.py b/var/spack/repos/builtin/packages/py-pytz/package.py
index 96f686d591..486b86a467 100644
--- a/var/spack/repos/builtin/packages/py-pytz/package.py
+++ b/var/spack/repos/builtin/packages/py-pytz/package.py
@@ -27,14 +27,19 @@ from spack import *
class PyPytz(Package):
"""World timezone definitions, modern and historical."""
+
homepage = "https://pypi.python.org/pypi/pytz"
url = "https://pypi.python.org/packages/source/p/pytz/pytz-2014.10.tar.gz"
+ version('2016.6.1', 'b6c28a3b968bc1d8badfb61b93874e03',
+ url="https://pypi.python.org/packages/5d/8e/6635d8f3f9f48c03bb925fab543383089858271f9cfd1216b83247e8df94/pytz-2016.6.1.tar.gz")
version('2014.10', 'eb1cb941a20c5b751352c52486aa1dd7')
version('2015.4', '417a47b1c432d90333e42084a605d3d8')
version('2016.3', 'abae92c3301b27bd8a9f56b14f52cb29')
extends('python')
+ depends_on('py-setuptools', type='build')
+
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-setuptools/package.py b/var/spack/repos/builtin/packages/py-setuptools/package.py
index 08d5e5d552..d696fdf776 100644
--- a/var/spack/repos/builtin/packages/py-setuptools/package.py
+++ b/var/spack/repos/builtin/packages/py-setuptools/package.py
@@ -32,6 +32,8 @@ class PySetuptools(Package):
homepage = "https://pypi.python.org/pypi/setuptools"
url = "https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz"
+ version('25.2.0', 'a0dbb65889c46214c691f6c516cf959c',
+ url="https://pypi.python.org/packages/9f/32/81c324675725d78e7f6da777483a3453611a427db0145dfb878940469692/setuptools-25.2.0.tar.gz")
version('20.7.0', '5d12b39bf3e75e80fdce54e44b255615')
version('20.6.7', '45d6110f3ec14924e44c33411db64fe6')
version('20.5', 'fadc1e1123ddbe31006e5e43e927362b')
@@ -43,4 +45,4 @@ class PySetuptools(Package):
extends('python')
def install(self, spec, prefix):
- setup_py('install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-six/package.py b/var/spack/repos/builtin/packages/py-six/package.py
index da0c7aa003..e7b7177586 100644
--- a/var/spack/repos/builtin/packages/py-six/package.py
+++ b/var/spack/repos/builtin/packages/py-six/package.py
@@ -27,14 +27,16 @@ from spack import *
class PySix(Package):
"""Python 2 and 3 compatibility utilities."""
+
homepage = "https://pypi.python.org/pypi/six"
url = "https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz"
- version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
version('1.10.0', '34eed507548117b2ab523ab14b2f8b55')
+ version('1.9.0', '476881ef4012262dfc8adc645ee786c4')
extends('python')
+
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-snowballstemmer/package.py b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
new file mode 100644
index 0000000000..44c0548932
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-snowballstemmer/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# 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 PySnowballstemmer(Package):
+ """This package provides 16 stemmer algorithms (15 + Poerter
+ English stemmer) generated from Snowball algorithms."""
+
+ homepage = "https://pypi.python.org/pypi/snowballstemmer"
+ url = "https://pypi.python.org/packages/source/s/snowballstemmer/snowballstemmer-1.2.1.tar.gz"
+
+ version('1.2.1', '643b019667a708a922172e33a99bf2fa')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
new file mode 100644
index 0000000000..9c57628e2c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-sphinx-rtd-theme/package.py
@@ -0,0 +1,42 @@
+##############################################################################
+# 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 PySphinxRtdTheme(Package):
+ """ReadTheDocs.org theme for Sphinx."""
+
+ homepage = "https://pypi.python.org/pypi/sphinx_rtd_theme"
+ url = "https://pypi.python.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-0.1.10a0.tar.gz"
+
+ version('0.1.10a0', '83bd95cae55aa8b773a8cc3a41094282',
+ url="https://pypi.python.org/packages/da/6b/1b75f13d8aa3333f19c6cdf1f0bc9f52ea739cae464fbee050307c121857/sphinx_rtd_theme-0.1.10a0.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-sphinx/package.py b/var/spack/repos/builtin/packages/py-sphinx/package.py
index 2295a6a0c3..923962a2dc 100644
--- a/var/spack/repos/builtin/packages/py-sphinx/package.py
+++ b/var/spack/repos/builtin/packages/py-sphinx/package.py
@@ -30,9 +30,25 @@ class PySphinx(Package):
homepage = "http://sphinx-doc.org"
url = "https://pypi.python.org/packages/source/S/Sphinx/Sphinx-1.3.1.tar.gz"
+ version('1.4.5', '5c2cd2dac45dfa6123d067e32a89e89a',
+ url='https://pypi.python.org/packages/8b/78/eeea2b837f911cdc301f5f05163f9729a2381cadd03ccf35b25afe816c90/Sphinx-1.4.5.tar.gz')
version('1.3.1', '8786a194acf9673464c5455b11fd4332')
- extends('python')
+ extends('python', ignore='bin/(pybabel|pygmentize)')
+
+ # Most Python packages only require py-setuptools as a build dependency.
+ # However, py-sphinx requires py-setuptools during runtime as well.
+ depends_on('py-setuptools', type=nolink)
+
+ depends_on('py-six@1.4:', type=nolink)
+ depends_on('py-jinja2@2.3:', type=nolink)
+ depends_on('py-pygments@2.0:', type=nolink)
+ depends_on('py-docutils@0.11:', type=nolink)
+ depends_on('py-snowballstemmer@1.1:', type=nolink)
+ depends_on('py-babel@1.3:', type=nolink) # not 2.0
+ depends_on('py-alabaster@0.7:', type=nolink)
+ depends_on('py-imagesize', when='@1.4:', type=nolink)
+ depends_on('py-sphinx-rtd-theme@0.1:', type=nolink) # optional as of 1.4
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ setup_py('install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/qt-creator/package.py b/var/spack/repos/builtin/packages/qt-creator/package.py
new file mode 100644
index 0000000000..347cf4d6ee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt-creator/package.py
@@ -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 *
+import os
+
+
+class QtCreator(Package):
+ """The Qt Creator IDE."""
+ homepage = 'https://www.qt.io/ide/'
+ url = 'http://download.qt.io/official_releases/qtcreator/4.1/4.1.0/qt-creator-opensource-src-4.1.0.tar.gz'
+
+ list_url = 'http://download.qt.io/official_releases/qtcreator/'
+ list_depth = 3
+
+ version('4.1.0', '657727e4209befa4bf5889dff62d9e0a')
+
+ depends_on("qt")
+
+ def install(self, spec, prefix):
+ os.environ['INSTALL_ROOT'] = self.prefix
+ qmake = which('qmake')
+ qmake('-r')
+ make()
+ make("install")