From 11e595089d14423025c5c46eedb568616181e19f Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 10 Jun 2016 09:25:53 -0500 Subject: Matplotlib overhaul --- .../repos/builtin/packages/py-cycler/package.py | 39 ++++++++++ .../builtin/packages/py-matplotlib/package.py | 84 +++++++++++----------- .../repos/builtin/packages/py2cairo/package.py | 43 +++++++++++ .../repos/builtin/packages/pygobject/package.py | 45 ++++++++++++ var/spack/repos/builtin/packages/pygtk/package.py | 48 +++++++++++++ var/spack/repos/builtin/packages/qhull/package.py | 2 +- .../repos/builtin/packages/wxPython/package.py | 47 ++++++++++++ 7 files changed, 267 insertions(+), 41 deletions(-) create mode 100644 var/spack/repos/builtin/packages/py-cycler/package.py create mode 100644 var/spack/repos/builtin/packages/py2cairo/package.py create mode 100644 var/spack/repos/builtin/packages/pygobject/package.py create mode 100644 var/spack/repos/builtin/packages/pygtk/package.py create mode 100644 var/spack/repos/builtin/packages/wxPython/package.py 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') -- cgit v1.2.3-70-g09d2 From e905ce16c90c98acba98fe30a1d568244c70ea1c Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 10 Jun 2016 15:13:01 -0500 Subject: Flake8 --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index c1400a6c18..b988161301 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -42,7 +42,6 @@ class PyMatplotlib(Package): # 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:') -- cgit v1.2.3-70-g09d2 From aa6a6df640558d93add9cbfd4f94ba6a2c80fc54 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 2 Aug 2016 11:19:44 -0500 Subject: Undo changes to GUI framework --- .../builtin/packages/py-matplotlib/package.py | 63 +++++++++++++--------- .../repos/builtin/packages/py2cairo/package.py | 43 --------------- .../repos/builtin/packages/pygobject/package.py | 45 ---------------- var/spack/repos/builtin/packages/pygtk/package.py | 48 ----------------- .../repos/builtin/packages/wxPython/package.py | 47 ---------------- 5 files changed, 37 insertions(+), 209 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/py2cairo/package.py delete mode 100644 var/spack/repos/builtin/packages/pygobject/package.py delete mode 100644 var/spack/repos/builtin/packages/pygtk/package.py delete mode 100644 var/spack/repos/builtin/packages/wxPython/package.py diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index b988161301..51a198bd2b 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -35,50 +35,61 @@ class PyMatplotlib(Package): 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') + version('1.4.2', '7d22efb6cce475025733c50487bd8898') variant('gui', default=False, description='Enable GUI') + variant('ipython', default=False, description='Enable ipython support') + + # Python 2.7, 3.4, or 3.5 + 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$') - depends_on('py-numpy@1.6:') - depends_on('py-setuptools') - depends_on('py-dateutil@1.1:') - depends_on('py-pyparsing') + depends_on('py-numpy@1.6:', type=nolink) + depends_on('py-setuptools', type='build') + depends_on('py-dateutil@1.1:', type=nolink) + depends_on('py-pyparsing', type=nolink) depends_on('libpng@1.2:') - depends_on('py-pytz') + depends_on('py-pytz', type=nolink) depends_on('freetype@2.3:') - depends_on('py-cycler@0.9:') - # depends_on('py-tornado') + depends_on('py-cycler@0.9:', type=nolink) # 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') + depends_on('tk@8.3:', when='+gui') # not 8.6.0 or 8.6.1 + depends_on('qt', when='+gui') + depends_on('py-pyside', when='+gui', type=nolink) + # TODO: Add more GUI dependencies # Optional external programs + # ffmpeg/avconv or mencoder depends_on('ImageMagick') # Optional dependencies - depends_on('py-pillow') - depends_on('pkg-config') + depends_on('py-pillow', type=nolink) + depends_on('pkg-config', type='build') # Required libraries that ship with matplotlib # depends_on('agg@2.4:') - depends_on('qhull@2012.1') + depends_on('qhull@2012.1:') # depends_on('ttconv') - depends_on('py-six@1.9.0:') + depends_on('py-six@1.9.0:', type=nolink) def install(self, spec, 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) - - # PYTHONPATH must include site-packages directory - env['PYTHONPATH'] += ':{0}'.format(site_packages) - python('setup.py', 'install', '--prefix=%s' % prefix) + + 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 == 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) diff --git a/var/spack/repos/builtin/packages/py2cairo/package.py b/var/spack/repos/builtin/packages/py2cairo/package.py deleted file mode 100644 index f74868e6d4..0000000000 --- a/var/spack/repos/builtin/packages/py2cairo/package.py +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 89cf13a349..0000000000 --- a/var/spack/repos/builtin/packages/pygobject/package.py +++ /dev/null @@ -1,45 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 134bfd47b6..0000000000 --- a/var/spack/repos/builtin/packages/pygtk/package.py +++ /dev/null @@ -1,48 +0,0 @@ -############################################################################## -# 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/wxPython/package.py b/var/spack/repos/builtin/packages/wxPython/package.py deleted file mode 100644 index 4f2bcce5ec..0000000000 --- a/var/spack/repos/builtin/packages/wxPython/package.py +++ /dev/null @@ -1,47 +0,0 @@ -############################################################################## -# 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') -- cgit v1.2.3-70-g09d2 From 0b8a3ad8ad0ec5139f2fa83d67cfee98a709eacc Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 2 Aug 2016 11:21:23 -0500 Subject: Flake8 --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index 51a198bd2b..fdc312509d 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -23,6 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## from spack import * +import os @@ -80,12 +81,12 @@ class PyMatplotlib(Package): 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 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 == None: + if not config_file: raise InstallError('could not find config file') filter_file(r'backend : pyside', 'backend : Qt4Agg', -- cgit v1.2.3-70-g09d2 From f56de639721e24348fc889209036b22836232669 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 2 Aug 2016 12:02:06 -0500 Subject: Fix cycler dependencies, update qhull version names --- .../repos/builtin/packages/py-cycler/package.py | 5 ++- .../builtin/packages/py-matplotlib/package.py | 5 ++- var/spack/repos/builtin/packages/qhull/package.py | 7 +--- .../builtin/packages/qhull/qhull-iterator.patch | 45 ---------------------- 4 files changed, 9 insertions(+), 53 deletions(-) delete mode 100644 var/spack/repos/builtin/packages/qhull/qhull-iterator.patch diff --git a/var/spack/repos/builtin/packages/py-cycler/package.py b/var/spack/repos/builtin/packages/py-cycler/package.py index 764239d5f3..16da057f21 100644 --- a/var/spack/repos/builtin/packages/py-cycler/package.py +++ b/var/spack/repos/builtin/packages/py-cycler/package.py @@ -35,5 +35,8 @@ class PyCycler(Package): extends('python') + depends_on('py-setuptools', type='build') + depends_on('py-six', type=nolink) + 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-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index fdc312509d..d9f859eca2 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -39,7 +39,7 @@ class PyMatplotlib(Package): version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267') version('1.4.2', '7d22efb6cce475025733c50487bd8898') - variant('gui', default=False, description='Enable GUI') + variant('gui', default=False, description='Enable GUI') variant('ipython', default=False, description='Enable ipython support') # Python 2.7, 3.4, or 3.5 @@ -76,7 +76,8 @@ class PyMatplotlib(Package): depends_on('py-six@1.9.0:', type=nolink) def install(self, spec, prefix): - python('setup.py', 'install', '--prefix=%s' % prefix) + setup_py('build') + setup_py('install', '--prefix={0}'.format(prefix)) if str(self.version) in ['1.4.2', '1.4.3']: # hack to fix configuration file diff --git a/var/spack/repos/builtin/packages/qhull/package.py b/var/spack/repos/builtin/packages/qhull/package.py index 2a06750ffd..462a681ad9 100644 --- a/var/spack/repos/builtin/packages/qhull/package.py +++ b/var/spack/repos/builtin/packages/qhull/package.py @@ -37,16 +37,13 @@ class Qhull(Package): homepage = "http://www.qhull.org" - version('7.2.0', 'e6270733a826a6a7c32b796e005ec3dc', + version('2015.2', 'e6270733a826a6a7c32b796e005ec3dc', url="http://www.qhull.org/download/qhull-2015-src-7.2.0.tgz") version('2012.1', 'd0f978c0d8dfb2e919caefa56ea2953c', url="http://www.qhull.org/download/qhull-2012.1-src.tgz") - # https://github.com/qhull/qhull/pull/5 - patch('qhull-iterator.patch', when='@1.0') - - depends_on('cmake', type='build') + depends_on('cmake@2.6:', type='build') def install(self, spec, prefix): with working_dir('spack-build', create=True): diff --git a/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch b/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch deleted file mode 100644 index 88e931d84f..0000000000 --- a/var/spack/repos/builtin/packages/qhull/qhull-iterator.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 93f4b306c54bb5be7724dcc19c6e747b62ac76dd Mon Sep 17 00:00:00 2001 -From: Ben Boeckel -Date: Thu, 28 May 2015 11:12:25 -0400 -Subject: [PATCH] iterator: use the header - -Standard libraries are doing funky things with inline namespaces which -make these declarations impossible to get right. Just include the -header. ---- - src/libqhullcpp/QhullIterator.h | 3 +-- - src/libqhullcpp/QhullLinkedList.h | 5 +---- - 2 files changed, 2 insertions(+), 6 deletions(-) - -diff --git a/src/libqhullcpp/QhullIterator.h b/src/libqhullcpp/QhullIterator.h -index 9dde894..49f3a3b 100644 ---- a/src/libqhullcpp/QhullIterator.h -+++ b/src/libqhullcpp/QhullIterator.h -@@ -14,10 +14,9 @@ extern "C" { - } - - #include -+#include - #include - #include --//! Avoid dependence on --namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; } - - namespace orgQhull { - -diff --git a/src/libqhullcpp/QhullLinkedList.h b/src/libqhullcpp/QhullLinkedList.h -index d828ac6..00b9008 100644 ---- a/src/libqhullcpp/QhullLinkedList.h -+++ b/src/libqhullcpp/QhullLinkedList.h -@@ -9,10 +9,7 @@ - #ifndef QHULLLINKEDLIST_H - #define QHULLLINKEDLIST_H - --namespace std { -- struct bidirectional_iterator_tag; -- struct random_access_iterator_tag; --}//std -+#include - - #include "QhullError.h" - extern "C" { -- cgit v1.2.3-70-g09d2 From 2b83ea30e7f09a686568ae09ae3b8c1cf7086de8 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 2 Aug 2016 13:48:16 -0500 Subject: Re-add ipython support --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index d9f859eca2..e56d162232 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -56,9 +56,9 @@ class PyMatplotlib(Package): depends_on('py-cycler@0.9:', type=nolink) # Optional GUI framework - depends_on('tk@8.3:', when='+gui') # not 8.6.0 or 8.6.1 - depends_on('qt', when='+gui') - depends_on('py-pyside', when='+gui', type=nolink) + depends_on('tk@8.3:', when='+gui') # not 8.6.0 or 8.6.1 + depends_on('qt', when='+gui') + depends_on('py-pyside', when='+gui', type=nolink) # TODO: Add more GUI dependencies # Optional external programs @@ -68,6 +68,7 @@ class PyMatplotlib(Package): # Optional dependencies depends_on('py-pillow', type=nolink) depends_on('pkg-config', type='build') + depends_on('py-ipython', when='+ipython') # Required libraries that ship with matplotlib # depends_on('agg@2.4:') -- cgit v1.2.3-70-g09d2 From a388871083f60d0c35f78ceb4b0a4235458b57cb Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 3 Aug 2016 10:27:55 -0500 Subject: Update ImageMagick to latest version --- .../repos/builtin/packages/ImageMagick/package.py | 33 +++++++--------------- .../repos/builtin/packages/ghostscript/package.py | 12 +++++--- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/var/spack/repos/builtin/packages/ImageMagick/package.py b/var/spack/repos/builtin/packages/ImageMagick/package.py index b0ccba1009..966e375d48 100644 --- a/var/spack/repos/builtin/packages/ImageMagick/package.py +++ b/var/spack/repos/builtin/packages/ImageMagick/package.py @@ -26,29 +26,13 @@ from spack import * class Imagemagick(Package): - """ImageMagick is a image processing library""" - homepage = "http://www.imagemagic.org" + """ImageMagick is a software suite to create, edit, compose, + or convert bitmap images.""" - # ------------------------------------------------------------------------- - # ImageMagick does not keep around anything but *-10 versions, so - # this URL may change. If you want the bleeding edge, you can - # uncomment it and see if it works but you may need to try to - # fetch a newer version (-6, -7, -8, -9, etc.) or you can stick - # wtih the older, stable, archived -10 versions below. - # - # TODO: would be nice if spack had a way to recommend avoiding a - # TODO: bleeding edge version, but not comment it out. - # ------------------------------------------------------------------------- - # version('6.9.0-6', 'c1bce7396c22995b8bdb56b7797b4a1b', - # url="http://www.imagemagick.org/download/ImageMagick-6.9.0-6.tar.bz2") + homepage = "http://www.imagemagick.org" + url = "http://www.imagemagick.org/download/ImageMagick-7.0.2-6.tar.gz" - # ------------------------------------------------------------------------- - # *-10 versions are archived, so these versions should fetch reliably. - # ------------------------------------------------------------------------- - version( - '6.8.9-10', - 'aa050bf9785e571c956c111377bbf57c', - url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download") + version('7.0.2-6', 'c29c98d2496fbc66adb05a28d8fad21a') depends_on('jpeg') depends_on('libtool', type='build') @@ -56,8 +40,11 @@ class Imagemagick(Package): depends_on('freetype') depends_on('fontconfig') depends_on('libtiff') + depends_on('ghostscript') def install(self, spec, prefix): - configure("--prefix=%s" % prefix) + configure('--prefix={0}'.format(prefix)) + make() - make("install") + make('check') + make('install') diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py index c22b90088e..f63ebac0c1 100644 --- a/var/spack/repos/builtin/packages/ghostscript/package.py +++ b/var/spack/repos/builtin/packages/ghostscript/package.py @@ -26,16 +26,20 @@ from spack import * class Ghostscript(Package): - """an interpreter for the PostScript language and for PDF. """ + """An interpreter for the PostScript language and for PDF.""" + homepage = "http://ghostscript.com/" - url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz" + url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz" version('9.18', '33a47567d7a591c00a253caddd12a88a') parallel = False + depends_on('libtiff') + def install(self, spec, prefix): - configure("--prefix=%s" % prefix, "--enable-shared") + configure('--prefix={0}'.format(prefix), + '--with-system-libtiff') make() - make("install") + make('install') -- cgit v1.2.3-70-g09d2 From 8a0824df09dfe5d8ff0b34a35ee93be81fc75380 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 3 Aug 2016 12:35:09 -0500 Subject: Update matplotlibrc filtering for GUI backends --- .../repos/builtin/packages/py-matplotlib/package.py | 18 ++++++++---------- var/spack/repos/builtin/packages/python/package.py | 2 ++ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index e56d162232..7b7239d1f0 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -80,19 +80,17 @@ class PyMatplotlib(Package): setup_py('build') setup_py('install', '--prefix={0}'.format(prefix)) - if str(self.version) in ['1.4.2', '1.4.3']: - # hack to fix configuration file + if '+gui' in spec: + # Set backend in matplotlib 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 not config_file: - 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) + raise InstallError('Could not find matplotlibrc') + + kwargs = {'ignore_absent': False, 'backup': False, 'string': False} + rc = FileFilter(config_file) + rc.filter('^backend.*', 'backend : Qt4Agg', **kwargs) + rc.filter('^#backend.qt4.*', 'backend.qt4 : PySide', **kwargs) diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index c4e6754969..57783b0542 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -133,6 +133,8 @@ class Python(Package): # TODO: Once better testing support is integrated, add the following tests # https://wiki.python.org/moin/TkInter # + # Note: Only works if ForwardX11Trusted is enabled, i.e. `ssh -Y` + # # if '+tk' in spec: # env['TK_LIBRARY'] = join_path(spec['tk'].prefix.lib, # 'tk{0}'.format(spec['tk'].version.up_to(2))) -- cgit v1.2.3-70-g09d2 From 80742b264743f4db814997656c5c72f9a8e8fad8 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 4 Aug 2016 10:59:01 -0500 Subject: Add latest version of qt --- var/spack/repos/builtin/packages/qt/package.py | 32 +++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index e496a3e4d5..bae0873c44 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -29,7 +29,11 @@ import os class Qt(Package): """Qt is a comprehensive cross-platform C++ application framework.""" homepage = 'http://qt.io' + url = 'http://download.qt.io/archive/qt/5.7/5.7.0/single/qt-everywhere-opensource-src-5.7.0.tar.gz' + list_url = 'http://download.qt.io/archive/qt/' + list_depth = 4 + version('5.7.0', '9a46cce61fc64c20c3ac0a0e0fa41b42') version('5.5.1', '59f0216819152b77536cf660b015d784') version('5.4.2', 'fa1c4d819b401b267eb246a543a63ea5') version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6') @@ -127,7 +131,7 @@ class Qt(Package): @property def common_config_args(self): - config_args = [ + return [ '-prefix', self.prefix, '-v', '-opensource', @@ -144,20 +148,13 @@ class Qt(Package): '-no-nis' ] - if '+gtk' in self.spec: - config_args.append('-gtkstyle') - else: - config_args.append('-no-gtkstyle') - - return config_args - # Don't disable all the database drivers, but should # really get them into spack at some point. @when('@3') def configure(self): - # An user report that this was necessary to link Qt3 on ubuntu - os.environ['LD_LIBRARY_PATH'] = os.getcwd() + '/lib' + # A user reported that this was necessary to link Qt3 on ubuntu + os.environ['LD_LIBRARY_PATH'] = os.getcwd()+'/lib' configure('-prefix', self.prefix, '-v', '-thread', @@ -169,18 +166,27 @@ class Qt(Package): def configure(self): configure('-fast', '-no-webkit', + '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'), *self.common_config_args) - @when('@5') + @when('@5.0:5.6') def configure(self): configure('-no-eglfs', '-no-directfb', '-qt-xcb', - # If someone wants to get a webkit build working, be my - # guest! + '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'), + # If someone wants to get a webkit build working, be my guest! '-skip', 'qtwebkit', *self.common_config_args) + @when('@5.7:') + def configure(self): + configure('-no-eglfs', + '-no-directfb', + '-qt-xcb', + '{0}-gtk'.format('' if '+gtk' in self.spec else '-no'), + *self.common_config_args) + def install(self, spec, prefix): self.configure() make() -- cgit v1.2.3-70-g09d2 From eac9a5905f2ac51b76ef53b409136038cc7b2b89 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 4 Aug 2016 12:14:40 -0500 Subject: Flake8 and url_for_version changes --- var/spack/repos/builtin/packages/qt/package.py | 61 +++++++++++++------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index bae0873c44..54d475932f 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -44,8 +44,7 @@ class Qt(Package): # Add patch for compile issues with qt3 found with use in the # OpenSpeedShop project - variant('krellpatch', default=False, - description="Build with openspeedshop based patch.") + variant('krellpatch', default=False, description="Build with openspeedshop based patch.") variant('mesa', default=False, description="Depend on mesa.") variant('gtk', default=False, description="Build with gtkplus.") @@ -77,29 +76,33 @@ class Qt(Package): depends_on("libxcb") def url_for_version(self, version): - url = "http://download.qt.io/archive/qt/" + # URL keeps getting more complicated with every release + url = self.list_url + + if version >= Version('4.0'): + url += version.up_to(2) + '/' + else: + url += version.up_to(1) + '/' + + if version >= Version('4.8'): + url += str(version) + '/' if version >= Version('5'): - url += "%s/%s/single/qt-everywhere-opensource-src-%s.tar.gz" % \ - (version.up_to(2), version, version) - elif version >= Version('4.8'): - url += "%s/%s/qt-everywhere-opensource-src-%s.tar.gz" % \ - (version.up_to(2), version, version) - elif version >= Version('4.6'): - url += "%s/qt-everywhere-opensource-src-%s.tar.gz" % \ - (version.up_to(2), version) - elif version >= Version('4.0'): - url += "%s/qt-x11-opensource-src-%s.tar.gz" % \ - (version.up_to(2), version) - elif version >= Version('3'): - url += "%s/qt-x11-free-%s.tar.gz" % \ - (version.up_to(1), version) + url += 'single/' + + url += 'qt-' + + if version >= Version('4.6'): + url += 'everywhere-' elif version >= Version('2.1'): - url += "%s/qt-x11-%s.tar.gz" % \ - (version.up_to(1), version) - else: - url += "%s/qt-%s.tar.gz" % \ - (version.up_to(1), version) + url += 'x11-' + + if version >= Version('4.0'): + url += 'opensource-src-' + elif version >= Version('3'): + url += 'free-' + + url += str(version) + '.tar.gz' return url @@ -120,13 +123,10 @@ class Qt(Package): return # Fix qmake compilers in the default mkspec - filter_file(r'^QMAKE_COMPILER *=.*$', - 'QMAKE_COMPILER = cc', qmake_conf) - filter_file(r'^QMAKE_CC *=.*$', - 'QMAKE_CC = cc', qmake_conf) - filter_file(r'^QMAKE_CXX *=.*$', - 'QMAKE_CXX = c++', qmake_conf) - filter_file(r'^QMAKE_LFLAGS_NOUNDEF *\+?=.*$', + filter_file('^QMAKE_COMPILER.*', 'QMAKE_COMPILER = cc', qmake_conf) + filter_file('^QMAKE_CC.*', 'QMAKE_CC = cc', qmake_conf) + filter_file('^QMAKE_CXX.*', 'QMAKE_CXX = c++', qmake_conf) + filter_file('^QMAKE_LFLAGS_NOUNDEF.*', 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf) @property @@ -154,7 +154,7 @@ class Qt(Package): @when('@3') def configure(self): # A user reported that this was necessary to link Qt3 on ubuntu - os.environ['LD_LIBRARY_PATH'] = os.getcwd()+'/lib' + os.environ['LD_LIBRARY_PATH'] = os.getcwd() + '/lib' configure('-prefix', self.prefix, '-v', '-thread', @@ -175,7 +175,6 @@ class Qt(Package): '-no-directfb', '-qt-xcb', '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'), - # If someone wants to get a webkit build working, be my guest! '-skip', 'qtwebkit', *self.common_config_args) -- cgit v1.2.3-70-g09d2 From ac15d5d6191f4a8e90dd307249d7ed8f8bfb466b Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 8 Aug 2016 11:44:29 -0500 Subject: Add patch for qt gamepad compilation problems --- .../repos/builtin/packages/qt/btn_trigger_happy.patch | 17 +++++++++++++++++ var/spack/repos/builtin/packages/qt/package.py | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch diff --git a/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch new file mode 100644 index 0000000000..711e209136 --- /dev/null +++ b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch @@ -0,0 +1,17 @@ +--- a/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp 2016-08-08 11:34:44.517184658 -0500 ++++ b/qtgamepad/src/plugins/gamepads/evdev/qevdevgamepadbackend.cpp 2016-08-08 11:36:42.371995567 -0500 +@@ -262,10 +262,10 @@ + m_buttonsMap[BTN_TR2] = QGamepadManager::ButtonR2; + m_buttonsMap[BTN_THUMB] = m_buttonsMap[BTN_THUMBL] = QGamepadManager::ButtonL3; + m_buttonsMap[BTN_THUMBR] = QGamepadManager::ButtonR3; +- m_buttonsMap[BTN_TRIGGER_HAPPY1] = QGamepadManager::ButtonLeft; +- m_buttonsMap[BTN_TRIGGER_HAPPY2] = QGamepadManager::ButtonRight; +- m_buttonsMap[BTN_TRIGGER_HAPPY3] = QGamepadManager::ButtonUp; +- m_buttonsMap[BTN_TRIGGER_HAPPY4] = QGamepadManager::ButtonDown; ++ m_buttonsMap[BTN_TRIGGER_HAPPY1] = 0x2c0; ++ m_buttonsMap[BTN_TRIGGER_HAPPY2] = 0x2c1; ++ m_buttonsMap[BTN_TRIGGER_HAPPY3] = 0x2c2; ++ m_buttonsMap[BTN_TRIGGER_HAPPY4] = 0x2c3; + + if (m_productId) + m_backend->saveSettings(m_productId, QVariant()); diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index 54d475932f..6438714a57 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -50,6 +50,9 @@ class Qt(Package): patch('qt3krell.patch', when='@3.3.8b+krellpatch') + # https://github.com/xboxdrv/xboxdrv/issues/188 + patch('btn_trigger_happy.patch', when='@5.7.0:') + # Use system openssl for security. # depends_on("openssl") -- cgit v1.2.3-70-g09d2 From 7135299a66ead59b9e58e71844331cee6204791f Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 8 Aug 2016 13:51:45 -0500 Subject: Add latest version of pcre --- var/spack/repos/builtin/packages/pcre/package.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/pcre/package.py b/var/spack/repos/builtin/packages/pcre/package.py index 6f306ab0f9..a2236e682b 100644 --- a/var/spack/repos/builtin/packages/pcre/package.py +++ b/var/spack/repos/builtin/packages/pcre/package.py @@ -32,10 +32,10 @@ class Pcre(Package): homepage = "http://www.pcre.org""" url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2" - version('8.36', 'b767bc9af0c20bc9c1fe403b0d41ad97') + version('8.39', 'e3fca7650a0556a2647821679d81f585') version('8.38', '00aabbfe56d5a48b270f999b508c5ad2') - patch("intel.patch") + patch("intel.patch", when='@8.38') variant('utf', default=True, description='Enable support for UTF-8/16/32, ' -- cgit v1.2.3-70-g09d2 From 90dd26397c87748f0693271d538ae0e37a1c67a0 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 8 Aug 2016 14:59:05 -0500 Subject: Fix qt patch --- var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch index 711e209136..e6a27d5fab 100644 --- a/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch +++ b/var/spack/repos/builtin/packages/qt/btn_trigger_happy.patch @@ -8,10 +8,10 @@ - m_buttonsMap[BTN_TRIGGER_HAPPY2] = QGamepadManager::ButtonRight; - m_buttonsMap[BTN_TRIGGER_HAPPY3] = QGamepadManager::ButtonUp; - m_buttonsMap[BTN_TRIGGER_HAPPY4] = QGamepadManager::ButtonDown; -+ m_buttonsMap[BTN_TRIGGER_HAPPY1] = 0x2c0; -+ m_buttonsMap[BTN_TRIGGER_HAPPY2] = 0x2c1; -+ m_buttonsMap[BTN_TRIGGER_HAPPY3] = 0x2c2; -+ m_buttonsMap[BTN_TRIGGER_HAPPY4] = 0x2c3; ++ m_buttonsMap[0x2c0] = QGamepadManager::ButtonLeft; ++ m_buttonsMap[0x2c1] = QGamepadManager::ButtonRight; ++ m_buttonsMap[0x2c2] = QGamepadManager::ButtonUp; ++ m_buttonsMap[0x2c3] = QGamepadManager::ButtonDown; if (m_productId) m_backend->saveSettings(m_productId, QVariant()); -- cgit v1.2.3-70-g09d2 From ddf1879bed09dd0b323f393ab82cdda9d7143af9 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 8 Aug 2016 17:52:35 -0500 Subject: Remove glib dependency, causes problems with PCRE and JavaScript --- var/spack/repos/builtin/packages/qt/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index 6438714a57..ecc38f32db 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -56,7 +56,6 @@ class Qt(Package): # Use system openssl for security. # depends_on("openssl") - depends_on("glib") depends_on("gtkplus", when='+gtk') depends_on("libxml2") depends_on("zlib") -- cgit v1.2.3-70-g09d2 From 59ce0c751409af36c13da64843f4ee6d7d3419ef Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 9 Aug 2016 16:13:57 -0500 Subject: Add patch to build qt 4 with GCC 6 --- .../repos/builtin/packages/py-pyside/package.py | 3 +- var/spack/repos/builtin/packages/qt/package.py | 38 ++++++++++++++-------- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index 1cb3e4745f..eda14660da 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -31,13 +31,14 @@ class PyPyside(Package): homepage = "https://pypi.python.org/pypi/pyside" url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz" + version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d') depends_on('cmake', type='build') extends('python') depends_on('py-setuptools', type='build') - depends_on('qt@:4') + depends_on('qt@4.6:4.999') def patch(self): """Undo PySide RPATH handling and add Spack RPATH.""" diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index ecc38f32db..44dbc7f709 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -114,22 +114,34 @@ class Qt(Package): def setup_dependent_environment(self, spack_env, run_env, dspec): spack_env.set('QTDIR', self.prefix) + @when('@4') def patch(self): - if self.spec.satisfies('@4'): - qmake_conf = 'mkspecs/common/g++-base.conf' - qmake_unix_conf = 'mkspecs/common/g++-unix.conf' - elif self.spec.satisfies('@5'): - qmake_conf = 'qtbase/mkspecs/common/g++-base.conf' - qmake_unix_conf = 'qtbase/mkspecs/common/g++-unix.conf' - else: - return + # Fix qmake compilers in the default mkspec + filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', + 'mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', + 'mkspecs/common/g++-base.conf') + # Necessary to build with GCC 6 and other modern compilers + # http://stackoverflow.com/questions/10354371/ + filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98', + 'mkspecs/common/gcc-base.conf') + + filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', + 'mkspecs/common/g++-unix.conf') + + @when('@5:') + def patch(self): # Fix qmake compilers in the default mkspec - filter_file('^QMAKE_COMPILER.*', 'QMAKE_COMPILER = cc', qmake_conf) - filter_file('^QMAKE_CC.*', 'QMAKE_CC = cc', qmake_conf) - filter_file('^QMAKE_CXX.*', 'QMAKE_CXX = c++', qmake_conf) - filter_file('^QMAKE_LFLAGS_NOUNDEF.*', - 'QMAKE_LFLAGS_NOUNDEF =', qmake_unix_conf) + filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc', + 'qtbase/mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', + 'qtbase/mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', + 'qtbase/mkspecs/common/g++-base.conf') + + filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', + 'qtbase/mkspecs/common/g++-unix.conf') @property def common_config_args(self): -- cgit v1.2.3-70-g09d2 From 5cc76f7d841fccfe2b2bdb4b4a4e540d6152f6d6 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 9 Aug 2016 17:00:31 -0500 Subject: Fix patch for py-pyside 1.2.4 --- var/spack/repos/builtin/packages/py-pyside/package.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index eda14660da..032ae50440 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -59,10 +59,12 @@ class PyPyside(Package): # PySide tries to patch ELF files to remove RPATHs # Disable this and go with the one we set. - filter_file( - r'^\s*rpath_cmd\(pyside_path, srcpath\)', - r'#rpath_cmd(pyside_path, srcpath)', - 'pyside_postinstall.py') + if self.spec.satisfies('@1.2.4:'): + rpath_file = 'setup.py' + else: + rpath_file = 'pyside_postinstall.py' + + filter_file(r'(^\s*)(rpath_cmd\(.*\))', r'\1#\2', rpath_file) def install(self, spec, prefix): python('setup.py', 'install', -- cgit v1.2.3-70-g09d2 From 1363b05e93dc5ba48cdfe73d2f9ad4c2cc68b08a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 9 Aug 2016 17:10:30 -0500 Subject: Add test dependencies --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index 7b7239d1f0..aae18d0fa3 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -70,6 +70,10 @@ class PyMatplotlib(Package): depends_on('pkg-config', type='build') depends_on('py-ipython', when='+ipython') + # Testing dependencies + depends_on('py-nose') # type='test' + depends_on('py-mock') # type='test' + # Required libraries that ship with matplotlib # depends_on('agg@2.4:') depends_on('qhull@2012.1:') -- cgit v1.2.3-70-g09d2 From b6fad65f52c781e63065e68e9d42be5f3dfc8ace Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 10 Aug 2016 10:39:49 -0500 Subject: Combine patch for all versions Patch doesn't work with @when unless you specify a patch for every version. When running `spack patch` for a version without a patch, spack thinks that a patch exists, tries to apply it, but it doesn't exist. Spack gets very confused. --- var/spack/repos/builtin/packages/qt/package.py | 52 +++++++++++++------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index 44dbc7f709..ba701d5253 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -114,34 +114,32 @@ class Qt(Package): def setup_dependent_environment(self, spack_env, run_env, dspec): spack_env.set('QTDIR', self.prefix) - @when('@4') - def patch(self): - # Fix qmake compilers in the default mkspec - filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', - 'mkspecs/common/g++-base.conf') - filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', - 'mkspecs/common/g++-base.conf') - - # Necessary to build with GCC 6 and other modern compilers - # http://stackoverflow.com/questions/10354371/ - filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98', - 'mkspecs/common/gcc-base.conf') - - filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', - 'mkspecs/common/g++-unix.conf') - - @when('@5:') def patch(self): - # Fix qmake compilers in the default mkspec - filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc', - 'qtbase/mkspecs/common/g++-base.conf') - filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', - 'qtbase/mkspecs/common/g++-base.conf') - filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', - 'qtbase/mkspecs/common/g++-base.conf') - - filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', - 'qtbase/mkspecs/common/g++-unix.conf') + if self.spec.satisfies('@4'): + # Fix qmake compilers in the default mkspec + filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', + 'mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', + 'mkspecs/common/g++-base.conf') + + # Necessary to build with GCC 6 and other modern compilers + # http://stackoverflow.com/questions/10354371/ + filter_file('(^QMAKE_CXXFLAGS .*)', r'\1 -std=gnu++98', + 'mkspecs/common/gcc-base.conf') + + filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', + 'mkspecs/common/g++-unix.conf') + elif self.spec.satisfies('@5:'): + # Fix qmake compilers in the default mkspec + filter_file('^QMAKE_COMPILER .*', 'QMAKE_COMPILER = cc', + 'qtbase/mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CC .*', 'QMAKE_CC = cc', + 'qtbase/mkspecs/common/g++-base.conf') + filter_file('^QMAKE_CXX .*', 'QMAKE_CXX = c++', + 'qtbase/mkspecs/common/g++-base.conf') + + filter_file('^QMAKE_LFLAGS_NOUNDEF .*', 'QMAKE_LFLAGS_NOUNDEF = ', + 'qtbase/mkspecs/common/g++-unix.conf') @property def common_config_args(self): -- cgit v1.2.3-70-g09d2 From 2b0444b6f43a83d4408a4f13054f4d3b4960460a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 10 Aug 2016 11:26:15 -0500 Subject: Latest version of pyside still has problems, add deps --- var/spack/repos/builtin/packages/py-pyside/package.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index 032ae50440..c938c5a3ce 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -31,14 +31,16 @@ class PyPyside(Package): homepage = "https://pypi.python.org/pypi/pyside" url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz" - version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') + # version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') # rpath problems version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d') depends_on('cmake', type='build') extends('python') depends_on('py-setuptools', type='build') - depends_on('qt@4.6:4.999') + depends_on('qt@4.5:4.9') + depends_on('libxml2@2.6.32:') + depends_on('libxslt@1.1.19:') def patch(self): """Undo PySide RPATH handling and add Spack RPATH.""" @@ -66,6 +68,10 @@ class PyPyside(Package): filter_file(r'(^\s*)(rpath_cmd\(.*\))', r'\1#\2', rpath_file) + # TODO: rpath handling for PySide 1.2.4 still doesn't work. + # PySide can't find the Shiboken library, even though it comes + # bundled with it and is installed in the same directory. + def install(self, spec, prefix): python('setup.py', 'install', '--prefix=%s' % prefix, -- cgit v1.2.3-70-g09d2 From 04cee45ac927eb49ecc274383f766f0974b9cf7d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 10 Aug 2016 13:36:16 -0500 Subject: Skip webengine until webkit support is added --- var/spack/repos/builtin/packages/qt/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py index ba701d5253..e66be34db2 100644 --- a/var/spack/repos/builtin/packages/qt/package.py +++ b/var/spack/repos/builtin/packages/qt/package.py @@ -196,6 +196,7 @@ class Qt(Package): '-no-directfb', '-qt-xcb', '{0}-gtk'.format('' if '+gtk' in self.spec else '-no'), + '-skip', 'webengine', *self.common_config_args) def install(self, spec, prefix): -- cgit v1.2.3-70-g09d2 From f147d645272bc96e57c707f39a80b64d1e637fb1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 11 Aug 2016 11:01:57 -0500 Subject: Rebase messed up flake8 --- var/spack/repos/builtin/packages/py-matplotlib/package.py | 1 - 1 file changed, 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/py-matplotlib/package.py b/var/spack/repos/builtin/packages/py-matplotlib/package.py index aae18d0fa3..0b8ff4715d 100644 --- a/var/spack/repos/builtin/packages/py-matplotlib/package.py +++ b/var/spack/repos/builtin/packages/py-matplotlib/package.py @@ -26,7 +26,6 @@ from spack import * import os - class PyMatplotlib(Package): """matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive -- cgit v1.2.3-70-g09d2 From 633e540a1718a5cc515725b13d3f1740bb950bb6 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 11 Aug 2016 14:13:33 -0500 Subject: Use GitHub URL for ImageMagick --- var/spack/repos/builtin/packages/ImageMagick/package.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/ImageMagick/package.py b/var/spack/repos/builtin/packages/ImageMagick/package.py index 966e375d48..61d4cc0cb4 100644 --- a/var/spack/repos/builtin/packages/ImageMagick/package.py +++ b/var/spack/repos/builtin/packages/ImageMagick/package.py @@ -30,9 +30,10 @@ class Imagemagick(Package): or convert bitmap images.""" homepage = "http://www.imagemagick.org" - url = "http://www.imagemagick.org/download/ImageMagick-7.0.2-6.tar.gz" + url = "https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz" - version('7.0.2-6', 'c29c98d2496fbc66adb05a28d8fad21a') + version('7.0.2-7', 'c59cdc8df50e481b2bd1afe09ac24c08') + version('7.0.2-6', 'aa5689129c39a5146a3212bf5f26d478') depends_on('jpeg') depends_on('libtool', type='build') @@ -42,6 +43,9 @@ class Imagemagick(Package): depends_on('libtiff') depends_on('ghostscript') + def url_for_version(self, version): + return "https://github.com/ImageMagick/ImageMagick/archive/{0}.tar.gz".format(version) + def install(self, spec, prefix): configure('--prefix={0}'.format(prefix)) -- cgit v1.2.3-70-g09d2 From d4377c129358c8e1ab05a75e8728d1db439625ba Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 12 Aug 2016 09:59:38 -0500 Subject: Add Python 3.5 support, latest version of PySide --- var/spack/repos/builtin/packages/py-pyside/package.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index c938c5a3ce..186f4556bf 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -31,8 +31,8 @@ class PyPyside(Package): homepage = "https://pypi.python.org/pypi/pyside" url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz" - # version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') # rpath problems - version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d') + version('1.2.4', '3cb7174c13bd45e3e8f77638926cb8c0') # rpath problems + version('1.2.2', 'c45bc400c8a86d6b35f34c29e379e44d', preferred=True) depends_on('cmake', type='build') @@ -72,6 +72,13 @@ class PyPyside(Package): # PySide can't find the Shiboken library, even though it comes # bundled with it and is installed in the same directory. + # PySide does not provide official support for + # Python 3.5, but it should work fine + filter_file("'Programming Language :: Python :: 3.4'", + "'Programming Language :: Python :: 3.4',\r\n " + "'Programming Language :: Python :: 3.5'", + "setup.py") + def install(self, spec, prefix): python('setup.py', 'install', '--prefix=%s' % prefix, -- cgit v1.2.3-70-g09d2 From bc64990bc65bba623f789116ab0937c896c840ea Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 12 Aug 2016 12:16:48 -0500 Subject: Replace python('setup.py' with setup_py( --- var/spack/repos/builtin/packages/py-pyside/package.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/py-pyside/package.py b/var/spack/repos/builtin/packages/py-pyside/package.py index 186f4556bf..e575864fab 100644 --- a/var/spack/repos/builtin/packages/py-pyside/package.py +++ b/var/spack/repos/builtin/packages/py-pyside/package.py @@ -80,6 +80,4 @@ class PyPyside(Package): "setup.py") def install(self, spec, prefix): - python('setup.py', 'install', - '--prefix=%s' % prefix, - '--jobs=%s' % make_jobs) + setup_py('install', '--prefix=%s' % prefix, '--jobs=%s' % make_jobs) -- cgit v1.2.3-70-g09d2