diff options
22 files changed, 421 insertions, 25 deletions
@@ -93,6 +93,12 @@ from llnl.util.tty.color import * import spack from spack.error import SpackError import argparse +import pstats + +# Get the allowed names of statistics for cProfile, and make a list of +# groups of 7 names to wrap them nicely. +stat_names = pstats.Stats.sort_arg_dict_default +stat_lines = list(zip(*(iter(stat_names),)*7)) # Command parsing parser = argparse.ArgumentParser( @@ -120,10 +126,15 @@ parser.add_argument('-m', '--mock', action='store_true', help="use mock packages instead of real ones") parser.add_argument('-p', '--profile', action='store_true', help="profile execution using cProfile") +parser.add_argument('-P', '--sorted-profile', default=None, metavar="STAT", + help="profile and sort by one or more of:\n[%s]" % + ',\n '.join([', '.join(line) for line in stat_lines])) +parser.add_argument('--lines', default=20, action='store', + help="lines of profile output: default 20; 'all' for all") parser.add_argument('-v', '--verbose', action='store_true', help="print additional output during builds") parser.add_argument('-s', '--stacktrace', action='store_true', - help="add stacktrace information to all printed statements") + help="add stacktrace info to all printed statements") parser.add_argument('-V', '--version', action='version', version="%s" % spack.spack_version) @@ -183,6 +194,8 @@ def _main(args, unknown_args): return_val = command(parser, args) except SpackError as e: e.die() + except Exception as e: + tty.die(str(e)) except KeyboardInterrupt: sys.stderr.write('\n') tty.die("Keyboard interrupt.") @@ -206,9 +219,37 @@ def main(args): # actually parse the args. args, unknown = parser.parse_known_args() - if args.profile: + if args.profile or args.sorted_profile: import cProfile - cProfile.runctx('_main(args, unknown)', globals(), locals()) + + try: + nlines = int(args.lines) + except ValueError: + if args.lines != 'all': + tty.die('Invalid number for --lines: %s' % args.lines) + nlines = -1 + + # allow comma-separated list of fields + sortby = ['time'] + if args.sorted_profile: + sortby = args.sorted_profile.split(',') + for stat in sortby: + if stat not in stat_names: + tty.die("Invalid sort field: %s" % stat) + + try: + # make a profiler and run the code. + pr = cProfile.Profile() + pr.enable() + _main(args, unknown) + finally: + pr.disable() + + # print out profile stats. + stats = pstats.Stats(pr) + stats.sort_stats(*sortby) + stats.print_stats(nlines) + elif args.pdb: import pdb pdb.runctx('_main(args, unknown)', globals(), locals()) diff --git a/lib/spack/docs/workflows.rst b/lib/spack/docs/workflows.rst index 7814ebf3cd..84da3b0f44 100644 --- a/lib/spack/docs/workflows.rst +++ b/lib/spack/docs/workflows.rst @@ -476,10 +476,11 @@ if the view is built with hardlinks. .. FIXME: reference the relocation work of Hegner and Gartung (PR #1013) +.. _cmd-spack-view: -"""""""""""""""""""""" -Using Filesystem Views -"""""""""""""""""""""" +"""""""""""""" +``spack view`` +"""""""""""""" A filesystem view is created, and packages are linked in, by the ``spack view`` command's ``symlink`` and ``hardlink`` sub-commands. The diff --git a/lib/spack/spack/compilers/cce.py b/lib/spack/spack/compilers/cce.py index 43d000dd69..94956b9d83 100644 --- a/lib/spack/spack/compilers/cce.py +++ b/lib/spack/spack/compilers/cce.py @@ -53,3 +53,15 @@ class Cce(Compiler): @classmethod def default_version(cls, comp): return get_compiler_version(comp, '-V', r'[Vv]ersion.*(\d+(\.\d+)+)') + + @property + def openmp_flag(self): + return "-h omp" + + @property + def cxx11_flag(self): + return "-h std=c++11" + + @property + def pic_flag(self): + return "-h PIC" diff --git a/lib/spack/spack/variant.py b/lib/spack/spack/variant.py index 7102676b69..2d02ab1253 100644 --- a/lib/spack/spack/variant.py +++ b/lib/spack/spack/variant.py @@ -389,9 +389,9 @@ class BoolValuedVariant(SingleValuedVariant): self._original_value = value self._value = False else: - msg = 'cannot construct a BoolValuedVariant from ' + msg = 'cannot construct a BoolValuedVariant for "{0}" from ' msg += 'a value that does not represent a bool' - raise ValueError(msg) + raise ValueError(msg.format(self.name)) def __contains__(self, item): return item is self.value diff --git a/share/spack/qa/run-unit-tests b/share/spack/qa/run-unit-tests index 7e300280ff..fe2ec6f54a 100755 --- a/share/spack/qa/run-unit-tests +++ b/share/spack/qa/run-unit-tests @@ -20,6 +20,9 @@ cd "$SPACK_ROOT" # Print compiler information spack config get compilers +# Profile and print top 20 lines for a simple call to spack spec +${coverage_run} bin/spack -p --lines 20 spec mpileaks + # Run unit tests with code coverage ${coverage_run} bin/spack test "$@" ${coverage_combine} diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 819dcc06ab..b8d104aca8 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -53,6 +53,9 @@ function _bash_completion_spack { # For example, `spack -d install []` will call _spack_install # and `spack compiler add []` will call _spack_compiler_add local subfunction=$(IFS='_'; echo "_${COMP_WORDS_NO_FLAGS[*]}") + # Translate dashes to underscores, as dashes are not permitted in + # compatibility mode. See https://github.com/LLNL/spack/pull/4079 + subfunction=${subfunction//-/_} # However, the word containing the current cursor position needs to be # added regardless of whether or not it is a flag. This allows us to @@ -288,7 +291,7 @@ function _spack_debug { fi } -function _spack_create-db-tarball { +function _spack_debug_create_db_tarball { compgen -W "-h --help" -- "$cur" } diff --git a/var/spack/repos/builtin/packages/cgal/package.py b/var/spack/repos/builtin/packages/cgal/package.py index a16572246b..60762006f9 100644 --- a/var/spack/repos/builtin/packages/cgal/package.py +++ b/var/spack/repos/builtin/packages/cgal/package.py @@ -35,6 +35,7 @@ class Cgal(Package): homepage = 'http://www.cgal.org/' url = 'https://github.com/CGAL/cgal/archive/releases/CGAL-4.7.tar.gz' + version('4.9.1', 'df6517df3320bf6c9de2e1b0361738b9') version('4.9', '7b628db3e5614347f776c046b7666089') version('4.7', '4826714810f3b4c65cac96b90fb03b67') version('4.6.3', 'e8ee2ecc8d2b09b94a121c09257b576d') diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index dac57682ea..195cb1281f 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -36,10 +36,17 @@ class Emacs(AutotoolsPackage): version('24.5', 'd74b597503a68105e61b5b9f6d065b44') variant('X', default=False, description="Enable an X toolkit") - variant('toolkit', default='gtk', - description="Select an X toolkit (gtk, athena)") + variant( + 'toolkit', + default='gtk', + values=('gtk', 'athena'), + description="Select an X toolkit (gtk, athena)" + ) + + depends_on('pkg-config@0.9.0:', type='build') depends_on('ncurses') + depends_on('zlib') depends_on('libtiff', when='+X') depends_on('libpng', when='+X') depends_on('libxpm', when='+X') @@ -50,12 +57,9 @@ class Emacs(AutotoolsPackage): def configure_args(self): spec = self.spec - args = [] + toolkit = spec.variants['toolkit'].value if '+X' in spec: - if toolkit not in ('gtk', 'athena'): - raise InstallError("toolkit must be in (gtk, athena), not %s" % - toolkit) args = [ '--with-x', '--with-x-toolkit={0}'.format(toolkit) diff --git a/var/spack/repos/builtin/packages/findutils/package.py b/var/spack/repos/builtin/packages/findutils/package.py new file mode 100644 index 0000000000..f436e53d1a --- /dev/null +++ b/var/spack/repos/builtin/packages/findutils/package.py @@ -0,0 +1,53 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class Findutils(AutotoolsPackage): + """The GNU Find Utilities are the basic directory searching + utilities of the GNU operating system.""" + + homepage = "https://www.gnu.org/software/findutils/" + url = "http://ftpmirror.gnu.org/findutils/findutils-4.6.0.tar.gz" + + version('4.6.0', '9936aa8009438ce185bea2694a997fc1') + version('4.4.2', '351cc4adb07d54877fa15f75fb77d39f') + version('4.4.1', '5883f569dc021eee765f330bb7a3782d') + version('4.4.0', '49e769ac4382fae6f104f99d54d0a112') + version('4.2.33', 'b7e35aa175778c84942b1fee4144988b') + version('4.2.32', 'aaa6beeb41a6f04963dff58f24a55b96') + version('4.2.31', 'a0e31a0f18a49709bf5a449867c8049a') + version('4.2.30', 'c35ff6502e0b3514c99089cb5d333c25') + version('4.2.29', '24e76434ca74ba3c2c6ad621eb64e1ff') + version('4.2.28', 'f5fb3349354ee3d94fceb81dab5c71fd') + version('4.2.27', 'f1e0ddf09f28f8102ff3b90f3b5bc920') + version('4.2.26', '9ac4e62937b1fdc4eb643d1d4bf117d3') + version('4.2.25', 'e92fef6714ffa9972f28a1a423066921') + version('4.2.23', 'ecaff8b060e8d69c10eb2391a8032e26') + version('4.2.20', '7c8e12165b221dd67a19c00d780437a4') + version('4.2.18', '8aac2498435f3f1882678fb9ebda5c34') + version('4.2.15', 'a881b15aa7170aea045bf35cc92d48e7') + version('4.1.20', 'e90ce7222daadeb8616b8db461e17cbc') + version('4.1', '3ea8fe58ef5386da75f6c707713aa059') diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py index 2e884b4278..255abaa6bd 100644 --- a/var/spack/repos/builtin/packages/ghostscript/package.py +++ b/var/spack/repos/builtin/packages/ghostscript/package.py @@ -23,28 +23,59 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## from spack import * +import shutil -class Ghostscript(Package): +class Ghostscript(AutotoolsPackage): """An interpreter for the PostScript language and for PDF.""" homepage = "http://ghostscript.com/" url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/ghostscript-9.21.tar.gz" - version('9.21', '6f60d7fcb5eef6a8bec5abedf21c6a7008a8c0c7') + version('9.21', '5f213281761d2750fcf27476c404d17f') version('9.18', '33a47567d7a591c00a253caddd12a88a') - parallel = False + depends_on('pkg-config', type='build') + depends_on('freetype@2.4.2:') + depends_on('jpeg') + depends_on('lcms') + depends_on('libpng') depends_on('libtiff') + depends_on('zlib') def url_for_version(self, version): baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz" return baseurl.format(version.joined, version.dotted) - def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix), - '--with-system-libtiff') + def patch(self): + """Ghostscript comes with all of its dependencies vendored. + In order to build with Spack versions of these dependencies, + we have to remove these vendored dependencies. + + Note that this approach is also recommended by Linux from Scratch: + http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html + """ + directories = ['freetype', 'jpeg', 'lcms2', 'libpng', 'zlib'] + for directory in directories: + shutil.rmtree(directory) + + filter_file('ZLIBDIR=src', + 'ZLIBDIR={0}'.format(self.spec['zlib'].prefix.include), + 'configure.ac', 'configure', + string=True) + def configure_args(self): + return [ + '--disable-compile-inits', + '--enable-dynamic', + '--with-system-libtiff', + ] + + def build(self, spec, prefix): make() + make('so') + + def install(self, spec, prefix): make('install') + make('soinstall') diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index 5a3f9e5657..3fc978e725 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -37,6 +37,7 @@ class Hdf5(AutotoolsPackage): list_url = "http://www.hdfgroup.org/ftp/HDF5/releases" list_depth = 3 + version('1.10.1', '43a2f9466702fb1db31df98ae6677f15') version('1.10.0-patch1', '9180ff0ef8dc2ef3f61bd37a7404f295') version('1.10.0', 'bdc935337ee8282579cd6bc4270ad199') version('1.8.18', 'dd2148b740713ca0295442ec683d7b1c', diff --git a/var/spack/repos/builtin/packages/libconfig/package.py b/var/spack/repos/builtin/packages/libconfig/package.py new file mode 100644 index 0000000000..54aeec5b2f --- /dev/null +++ b/var/spack/repos/builtin/packages/libconfig/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 Libconfig(AutotoolsPackage): + """C/C++ Configuration File Library""" + + homepage = "http://www.hyperrealm.com/libconfig/" + url = "https://github.com/hyperrealm/libconfig/archive/v1.6.tar.gz" + + force_autoreconf = True + # there is currently a build error with version 1.6, see: + # https://github.com/hyperrealm/libconfig/issues/47 + # version('1.6', '2ccd24b6a2ee39f7ff8a3badfafb6539') + version('1.5', 'e92a91c2ddf3bf77bea0f5ed7f09e492', preferred=True) + + depends_on('m4', type=('build')) + depends_on('autoconf', type=('build')) + depends_on('automake', type=('build')) + depends_on('libtool', type=('build')) diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index 3844f804be..cc874356d3 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -190,6 +190,7 @@ class Mvapich2(AutotoolsPackage): ) def configure_args(self): + spec = self.spec args = [ '--enable-shared', '--enable-romio', diff --git a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py index 3a90d02127..f97c01dced 100644 --- a/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py +++ b/var/spack/repos/builtin/packages/py-beautifulsoup4/package.py @@ -31,11 +31,10 @@ class PyBeautifulsoup4(PythonPackage): of navigating, searching, and modifying the parse tree.""" homepage = "https://www.crummy.com/software/BeautifulSoup" - url = "https://pypi.python.org/packages/source/b/beautifulsoup4/beautifulsoup4-4.4.1.tar.gz" + url = "https://pypi.io/packages/source/b/beautifulsoup4/beautifulsoup4-4.5.3.tar.gz" - version('4.5.1', '994abd90e691beaf7d42c00ffb2f3a67', - url='https://www.crummy.com/software/BeautifulSoup/bs4/' - 'download/4.5/beautifulsoup4-4.5.1.tar.gz') + version('4.5.3', '937e0df0d699a1237646f38fd567f0c6') + version('4.5.1', '994abd90e691beaf7d42c00ffb2f3a67') version('4.4.1', '8fbd9a7cac0704645fa20d1419036815') depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-dryscrape/package.py b/var/spack/repos/builtin/packages/py-dryscrape/package.py new file mode 100644 index 0000000000..e3dd3506a2 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-dryscrape/package.py @@ -0,0 +1,41 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class PyDryscrape(PythonPackage): + """a lightweight Javascript-aware, headless web scraping library + for Python""" + + homepage = "https://github.com/niklasb/dryscrape" + url = "https://pypi.io/packages/source/d/dryscrape/dryscrape-1.0.tar.gz" + + version('develop', git="https://github.com/niklasb/dryscrape", + branch="master") + version('1.0', '267e380a8efaf9cd8fd94de1639d3198') + + depends_on('py-lxml', type=('build', 'run')) + depends_on('py-webkit-server@1.0:', type=('build', 'run')) + depends_on('py-xvfbwrapper', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-libconf/package.py b/var/spack/repos/builtin/packages/py-libconf/package.py new file mode 100644 index 0000000000..d43479d9ef --- /dev/null +++ b/var/spack/repos/builtin/packages/py-libconf/package.py @@ -0,0 +1,36 @@ +############################################################################## +# 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 PyLibconf(PythonPackage): + """A pure-Python libconfig reader/writer with permissive license""" + + homepage = "https://pypi.python.org/pypi/libconf" + url = "https://pypi.io/packages/source/l/libconf/libconf-1.0.1.tar.gz" + + version('1.0.1', 'd37d355b3248f99802c46669ba38e406') + + depends_on('py-setuptools', type='build') diff --git a/var/spack/repos/builtin/packages/py-lxml/package.py b/var/spack/repos/builtin/packages/py-lxml/package.py index ad78d816ce..fe63f87639 100644 --- a/var/spack/repos/builtin/packages/py-lxml/package.py +++ b/var/spack/repos/builtin/packages/py-lxml/package.py @@ -32,6 +32,10 @@ class PyLxml(PythonPackage): homepage = "http://lxml.de/" url = "https://pypi.io/packages/source/l/lxml/lxml-2.3.tar.gz" + version('3.7.3', '075692ce442e69bbd604d44e21c02753') version('2.3', 'a245a015fd59b63e220005f263e1682a') depends_on('py-setuptools@0.6c5:', type='build') + depends_on('py-cython@0.20:', type='build') + depends_on('libxml2', type=('build', 'run')) + depends_on('libxslt', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-pyprof2html/package.py b/var/spack/repos/builtin/packages/py-pyprof2html/package.py new file mode 100644 index 0000000000..19e3967e35 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyprof2html/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 PyPyprof2html(PythonPackage): + """Python cProfile and hotshot profile's data to HTML Converter""" + + homepage = "https://pypi.python.org/pypi/pyprof2html/" + url = "https://pypi.io/packages/source/p/pyprof2html/pyprof2html-0.3.1.tar.gz" + + version('0.3.1', 'aa65a1635aac95e0487d7749a6351c43') + + patch('version_0.3.1.patch', when="@0.3.1") + + depends_on('py-setuptools', type='build') + depends_on('py-jinja2', type=('build', 'run')) diff --git a/var/spack/repos/builtin/packages/py-pyprof2html/version_0.3.1.patch b/var/spack/repos/builtin/packages/py-pyprof2html/version_0.3.1.patch new file mode 100644 index 0000000000..fd0e856cb5 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pyprof2html/version_0.3.1.patch @@ -0,0 +1,10 @@ +diff --git a/pyprof2html/__init__.py b/pyprof2html/__init__.py +index 342eb6d..74b3392 100644 +--- a/pyprof2html/__init__.py ++++ b/pyprof2html/__init__.py +@@ -10,3 +10,5 @@ __licence__ = 'New BSD License' + __author__ = 'Hideo Hattori <hhatto.jp@gmail.com>' + + __all__ = ['Converter', 'pyprof2html_main'] ++ ++__version__ = '0.3.1' diff --git a/var/spack/repos/builtin/packages/py-webkit-server/package.py b/var/spack/repos/builtin/packages/py-webkit-server/package.py new file mode 100644 index 0000000000..8393ddabbf --- /dev/null +++ b/var/spack/repos/builtin/packages/py-webkit-server/package.py @@ -0,0 +1,35 @@ +############################################################################## +# 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 PyWebkitServer(PythonPackage): + """a Webkit-based, headless web client""" + + homepage = "https://github.com/niklasb/webkit-server" + url = "https://pypi.io/packages/source/w/webkit-server/webkit-server-1.0.tar.gz" + + version('develop', git="https://github.com/niklasb/webkit-server", branch="master") + version('1.0', '8463245c2b4f0264d934c0ae20bd4654') diff --git a/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py new file mode 100644 index 0000000000..3c10c179d1 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-xvfbwrapper/package.py @@ -0,0 +1,37 @@ +############################################################################## +# 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 PyXvfbwrapper(PythonPackage): + """run headless display inside X virtual framebuffer (Xvfb)""" + + homepage = "https://pypi.python.org/pypi/xvfbwrapper/0.2.9" + url = "https://pypi.io/packages/source/x/xvfbwrapper/xvfbwrapper-0.2.9.tar.gz" + + version('0.2.9', '3f3cbed698606f4b14e76ccc7b5dd366') + + depends_on('py-setuptools', type='build') + # Eventually add xvfb! diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py index aff771b723..10b8c33d31 100644 --- a/var/spack/repos/builtin/packages/wget/package.py +++ b/var/spack/repos/builtin/packages/wget/package.py @@ -39,6 +39,7 @@ class Wget(Package): version('1.16', '293a37977c41b5522f781d3a3a078426') depends_on("openssl") + depends_on("perl@5.12.0:", type='build') def install(self, spec, prefix): configure( |