summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2016-06-10 09:25:53 -0500
committerAdam J. Stewart <ajstewart426@gmail.com>2016-08-11 10:28:33 -0500
commit11e595089d14423025c5c46eedb568616181e19f (patch)
tree353976ba0b1e9feba37454672e3a2dae0ddecc40
parente6a122417aee3dbb0f83c92d23a408a855b07c40 (diff)
downloadspack-11e595089d14423025c5c46eedb568616181e19f.tar.gz
spack-11e595089d14423025c5c46eedb568616181e19f.tar.bz2
spack-11e595089d14423025c5c46eedb568616181e19f.tar.xz
spack-11e595089d14423025c5c46eedb568616181e19f.zip
Matplotlib overhaul
-rw-r--r--var/spack/repos/builtin/packages/py-cycler/package.py39
-rw-r--r--var/spack/repos/builtin/packages/py-matplotlib/package.py84
-rw-r--r--var/spack/repos/builtin/packages/py2cairo/package.py43
-rw-r--r--var/spack/repos/builtin/packages/pygobject/package.py45
-rw-r--r--var/spack/repos/builtin/packages/pygtk/package.py48
-rw-r--r--var/spack/repos/builtin/packages/qhull/package.py2
-rw-r--r--var/spack/repos/builtin/packages/wxPython/package.py47
7 files changed, 267 insertions, 41 deletions
diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py
new file mode 100644
index 0000000000..764239d5f3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-cycler/package.py
@@ -0,0 +1,39 @@
+##############################################################################
+# 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 PyCycler(Package):
+ """Composable style cycles."""
+
+ homepage = "http://matplotlib.org/cycler/"
+ url = "https://github.com/matplotlib/cycler/archive/v0.10.0.tar.gz"
+
+ version('0.10.0', '83dd0df7810e838b59e4dd9fa6e2d198')
+
+ extends('python')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix={0}'.format(prefix))
diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py
index c454a47ec3..c1400a6c18 100644
--- a/var/spack/repos/builtin/packages/py-matplotlib/package.py
+++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py
@@ -23,59 +23,63 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import os
+
class PyMatplotlib(Package):
- """Python plotting package."""
+ """matplotlib is a python 2D plotting library which produces publication
+ quality figures in a variety of hardcopy formats and interactive
+ environments across platforms."""
+
homepage = "https://pypi.python.org/pypi/matplotlib"
url = "https://pypi.python.org/packages/source/m/matplotlib/matplotlib-1.4.2.tar.gz"
+ version('1.5.1', 'f51847d8692cb63df64cd0bd0304fd20')
version('1.4.2', '7d22efb6cce475025733c50487bd8898')
version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267')
variant('gui', default=False, description='Enable GUI')
- variant('ipython', default=False, description='Enable ipython support')
- extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
+ # Required dependencies
+ extends('python@2.7:2.8,3.4:3.5', ignore=r'bin/nosetests.*$|bin/pbr$')
+ #extends('python', ignore=r'bin/nosetests.*$|bin/pbr$')
+ depends_on('py-numpy@1.6:')
+ depends_on('py-setuptools')
+ depends_on('py-dateutil@1.1:')
+ depends_on('py-pyparsing')
+ depends_on('libpng@1.2:')
+ depends_on('py-pytz')
+ depends_on('freetype@2.3:')
+ depends_on('py-cycler@0.9:')
+ # depends_on('py-tornado')
+
+ # Optional GUI framework
+ depends_on('tk@8.3:', when='+gui')
+ depends_on('py-pyqt@4.0:', when='+gui')
+ depends_on('pygtk@2.4:', when='+gui')
+ depends_on('wxPython@2.8:', when='+gui')
+
+ # Optional external programs
+ depends_on('ImageMagick')
- depends_on('py-setuptools', type='build')
- depends_on('py-pyside', when='+gui', type=nolink)
- depends_on('py-ipython', when='+ipython', type=nolink)
- depends_on('py-pyparsing', type=nolink)
- depends_on('py-six', type=nolink)
- depends_on('py-dateutil', type=nolink)
- depends_on('py-pytz', type=nolink)
- depends_on('py-nose', type=nolink)
- depends_on('py-numpy', type=nolink)
- depends_on('py-mock', type=nolink)
- depends_on('py-pbr', type=nolink)
- depends_on('py-funcsigs', type=nolink)
+ # Optional dependencies
+ depends_on('py-pillow')
+ depends_on('pkg-config')
- depends_on('pkg-config', type='build')
- depends_on('freetype')
- depends_on('qt', when='+gui')
- depends_on('bzip2')
- depends_on('tcl', when='+gui')
- depends_on('tk', when='+gui')
- depends_on('qhull')
+ # Required libraries that ship with matplotlib
+ # depends_on('agg@2.4:')
+ depends_on('qhull@2012.1')
+ # depends_on('ttconv')
+ depends_on('py-six@1.9.0:')
def install(self, spec, prefix):
- python('setup.py', 'install', '--prefix=%s' % prefix)
+ site_packages = '{0}/lib/python{1}/site-packages'.format(
+ prefix, spec['python'].version.up_to(2))
+
+ # site-packages directory must already exist
+ mkdirp(site_packages)
- if str(self.version) in ['1.4.2', '1.4.3']:
- # hack to fix configuration file
- config_file = None
- for p, d, f in os.walk(prefix.lib):
- for file in f:
- if file.find('matplotlibrc') != -1:
- config_file = join_path(p, 'matplotlibrc')
- print config_file
- if config_file is None:
- raise InstallError('could not find config file')
- filter_file(r'backend : pyside',
- 'backend : Qt4Agg',
- config_file)
- filter_file(r'#backend.qt4 : PyQt4',
- 'backend.qt4 : PySide',
- config_file)
+ # PYTHONPATH must include site-packages directory
+ env['PYTHONPATH'] += ':{0}'.format(site_packages)
+
+ python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py2cairo/package.py b/var/spack/repos/builtin/packages/py2cairo/package.py
new file mode 100644
index 0000000000..f74868e6d4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py2cairo/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 Py2cairo(Package):
+ """Pycairo is a set of Python bindings for the cairo graphics library."""
+
+ homepage = "https://cairographics.org/pycairo/"
+ url = "https://cairographics.org/releases/py2cairo-1.10.0.tar.bz2"
+
+ version('1.10.0', '20337132c4ab06c1146ad384d55372c5')
+
+ depends_on('python@2.6:2.7')
+ depends_on('cairo@1.10.0:')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/pygobject/package.py b/var/spack/repos/builtin/packages/pygobject/package.py
new file mode 100644
index 0000000000..89cf13a349
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pygobject/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 Pygobject(Package):
+ """PyGObject is a Python extension module that gives clean and consistent
+ access to the entire GNOME software platform through the use of GObject
+ Introspection."""
+
+ homepage = "https://wiki.gnome.org/Projects/PyGObject"
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.10/pygobject-3.10.2.tar.xz"
+
+ version('3.10.2', 'f311155be8510df6ad8e4edf1cb463d4')
+
+ depends_on('python@2.7:')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix),
+ '--with-python={0}/python'.format(spec['python'].prefix.bin))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/pygtk/package.py b/var/spack/repos/builtin/packages/pygtk/package.py
new file mode 100644
index 0000000000..134bfd47b6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/pygtk/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 Pygtk(Package):
+ """PyGTK lets you to easily create programs with a graphical user
+ interface using the Python programming language."""
+
+ homepage = "http://www.pygtk.org/"
+ url = "http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.24/pygtk-2.24.0.tar.gz"
+
+ version('2.24.0', 'd27c7f245a9e027f6b6cd9acb7468e36')
+
+ depends_on('python@2.3.5:')
+ depends_on('pygobject@2.21.3:')
+ depends_on('pycairo@1.0.2:')
+ depends_on('glib@2.8.0:')
+ depends_on('gtkplus')
+ depends_on('py-numpy')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py
index 2733d8b652..2a06750ffd 100644
--- a/var/spack/repos/builtin/packages/qhull/package.py
+++ b/var/spack/repos/builtin/packages/qhull/package.py
@@ -40,7 +40,7 @@ class Qhull(Package):
version('7.2.0', 'e6270733a826a6a7c32b796e005ec3dc',
url="http://www.qhull.org/download/qhull-2015-src-7.2.0.tgz")
- version('1.0', 'd0f978c0d8dfb2e919caefa56ea2953c',
+ version('2012.1', 'd0f978c0d8dfb2e919caefa56ea2953c',
url="http://www.qhull.org/download/qhull-2012.1-src.tgz")
# https://github.com/qhull/qhull/pull/5
diff --git a/var/spack/repos/builtin/packages/wxPython/package.py b/var/spack/repos/builtin/packages/wxPython/package.py
new file mode 100644
index 0000000000..4f2bcce5ec
--- /dev/null
+++ b/var/spack/repos/builtin/packages/wxPython/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 Wxpython(Package):
+ """A blending of the wxWidgets C++ class library with the Python
+ programming language."""
+
+ homepage = "http://www.wxpython.org/"
+ url = "http://downloads.sourceforge.net/wxpython/wxPython-src-3.0.2.0.tar.bz2"
+
+ version('3.0.2.0', '922b02ff2c0202a7bf1607c98bbbbc04')
+
+ depends_on('python')
+ depends_on('libpng')
+ depends_on('zlib')
+ depends_on('jpeg')
+ depends_on('libtiff')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')