From 6a5185a2a7dc728d770179bbb2b3b30b30e830d5 Mon Sep 17 00:00:00 2001 From: Jean-Paul Pelteret Date: Thu, 4 Aug 2016 13:58:42 +0200 Subject: Added npm, node.js, and Jupyter dependencies Adds the following packages: node-js py-backports-abc py-functools32 py-pycurl py-vcversione npm py-certifi py-jsonschema py-tornado py-zmq - Added python packages that are dependencies for the Jupyter suite - Update new python packaages to use extension package install function. - Added npm and node-js packages --- .../repos/builtin/packages/node-js/package.py | 105 +++++++++++++++++++++ var/spack/repos/builtin/packages/npm/package.py | 45 +++++++++ .../builtin/packages/py-backports-abc/package.py | 41 ++++++++ .../repos/builtin/packages/py-certifi/package.py | 42 +++++++++ .../builtin/packages/py-functools32/package.py | 41 ++++++++ .../builtin/packages/py-jsonschema/package.py | 43 +++++++++ .../repos/builtin/packages/py-pycurl/package.py | 42 +++++++++ .../repos/builtin/packages/py-tornado/package.py | 43 +++++++++ .../builtin/packages/py-vcversioner/package.py | 41 ++++++++ var/spack/repos/builtin/packages/py-zmq/package.py | 42 +++++++++ 10 files changed, 485 insertions(+) create mode 100644 var/spack/repos/builtin/packages/node-js/package.py create mode 100644 var/spack/repos/builtin/packages/npm/package.py create mode 100644 var/spack/repos/builtin/packages/py-backports-abc/package.py create mode 100644 var/spack/repos/builtin/packages/py-certifi/package.py create mode 100644 var/spack/repos/builtin/packages/py-functools32/package.py create mode 100644 var/spack/repos/builtin/packages/py-jsonschema/package.py create mode 100644 var/spack/repos/builtin/packages/py-pycurl/package.py create mode 100644 var/spack/repos/builtin/packages/py-tornado/package.py create mode 100644 var/spack/repos/builtin/packages/py-vcversioner/package.py create mode 100644 var/spack/repos/builtin/packages/py-zmq/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/node-js/package.py b/var/spack/repos/builtin/packages/node-js/package.py new file mode 100644 index 0000000000..55d7aabc54 --- /dev/null +++ b/var/spack/repos/builtin/packages/node-js/package.py @@ -0,0 +1,105 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * +import sys +import subprocess + + +class NodeJs(Package): + """Node.js is a JavaScript runtime built on Chrome's V8 JavaScript + engine.""" + + homepage = "https://nodejs.org/" + url = "https://nodejs.org/download/release/v6.3.0/node-v6.3.0.tar.gz" + + version('6.3.0', '8c14e5c89d66d4d060c91b3ba15dfd31') + version('6.2.2', '1120e8bf191fdaee42206d031935210d') + + # variant('bash-completion', default=False, description='Build with bash-completion support for npm') # NOQA: ignore=E501 + variant('debug', default=False, description='Include debugger support') + variant('doc', default=False, description='Compile with documentation') + variant('icu4c', default=False, description='Build with support for all locales instead of just English') + variant('openssl', default=True, description='Build with Spacks OpenSSL instead of the bundled version') + variant('zlib', default=True, description='Build with Spacks zlib instead of the bundled version') + + # depends_on('libtool', type='build') # if sys.platform != 'darwin' + depends_on('pkg-config', type='build') + depends_on('python@2.7:', type='build') + # depends_on('bash-completion', when="+bash-completion") + depends_on('icu4c', when='+icu4c') + depends_on('openssl', when='+openssl') + + def install(self, spec, prefix): + options = [] + options.extend(['--prefix={0}'.format(prefix)]) + + # Note: npm is updated more regularly than node.js, so we build the + # package instead of using the bundled version + options.extend(['--without-npm']) + + # On OSX, the system libtool must be used + # So, we ensure that this is the case by... + if sys.platform == 'darwin': + result_which = subprocess.check_output(["which", "libtool"]) + result_whereis = subprocess.check_output(["whereis", "libtool"]) + assert result_which == result_whereis, ( + 'On OSX the system libtool must be used. Please' + '(temporarily) remove \n %s or its link to libtool from' + 'path') + + # TODO: Add bash-completion + + if '+debug' in spec: + options.extend(['--debug']) + + if '+openssl' in spec: + options.extend([ + '--shared-openssl', + '--shared-openssl-includes=%s' % spec['openssl'].prefix.include, # NOQA: ignore=E501 + '--shared-openssl-libpath=%s' % spec['openssl'].prefix.lib, + ]) + + if '+zlib' in spec: + options.extend([ + '--shared-zlib', + '--shared-zlib-includes=%s' % spec['zlib'].prefix.include, + '--shared-zlib-libpath=%s' % spec['zlib'].prefix.lib, + ]) + + if '+icu4c' in spec: + options.extend(['--with-intl=full-icu']) + # else: + # options.extend(['--with-intl=system-icu']) + + configure(*options) + + if self.run_tests: + make('test') + make('test-addons') + + if '+doc' in spec: + make('doc') + + make('install') diff --git a/var/spack/repos/builtin/packages/npm/package.py b/var/spack/repos/builtin/packages/npm/package.py new file mode 100644 index 0000000000..36f460e1a2 --- /dev/null +++ b/var/spack/repos/builtin/packages/npm/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 Npm(Package): + """npm: A package manager for javascript.""" + + homepage = "https://github.com/npm/npm" + # base http://www.npmjs.com/ + url = "https://registry.npmjs.org/npm/-/npm-3.10.5.tgz" + + version('3.10.5', '46002413f4a71de9b0da5b506bf1d992') + + depends_on('node-js', type='build') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix)) + + if self.run_tests: + make('test') + + make('install') diff --git a/var/spack/repos/builtin/packages/py-backports-abc/package.py b/var/spack/repos/builtin/packages/py-backports-abc/package.py new file mode 100644 index 0000000000..d39cec83c8 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-backports-abc/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 PyBackportsAbc(Package): + """Backports_ABC: A backport of recent additions to the 'collections.abc' + module.""" + homepage = "https://github.com/cython/backports_abc" + # base https://pypi.python.org/pypi/backports_abc/ + url = "https://github.com/cython/backports_abc/archive/0.4.tar.gz" + + version('0.4', 'e4246ae689221c9cbe84369fdb59e8c74d02b298') + + extends('python') + depends_on('py-setuptools', type='build') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-certifi/package.py b/var/spack/repos/builtin/packages/py-certifi/package.py new file mode 100644 index 0000000000..996a90df8e --- /dev/null +++ b/var/spack/repos/builtin/packages/py-certifi/package.py @@ -0,0 +1,42 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class PyCertifi(Package): + """Certifi: A carefully curated collection of Root Certificates for validating + the trustworthiness of SSL certificates while verifying the identity of TLS + hosts.""" + homepage = "https://github.com/certifi/python-certifi" + # base https://pypi.python.org/pypi/certifi/ + url = "https://github.com/certifi/python-certifi/archive/2016.02.28.tar.gz" + + version('2016.02.28', '5ccfc23bd5e931863f0b01ef3e9d2dbd3bef0e1b') + + extends('python') + depends_on('py-setuptools', type='build') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-functools32/package.py b/var/spack/repos/builtin/packages/py-functools32/package.py new file mode 100644 index 0000000000..275d75f4ac --- /dev/null +++ b/var/spack/repos/builtin/packages/py-functools32/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 PyFunctools32(Package): + """Backport of the functools module from Python 3.2.3 for use on 2.7 and + PyPy.""" + + homepage = "https://github.com/MiCHiLU/python-functools32" + # base https://pypi.python.org/pypi/functools32 + url = "https://pypi.python.org/packages/source/f/functools32/functools32-3.2.3-2.tar.gz" + + version('3.2.3-2', '09f24ffd9af9f6cd0f63cb9f4e23d4b2') + + extends('python', type=nolink) + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-jsonschema/package.py b/var/spack/repos/builtin/packages/py-jsonschema/package.py new file mode 100644 index 0000000000..7f6c52a970 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-jsonschema/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 PyJsonschema(Package): + """Jsonschema: An(other) implementation of JSON Schema for Python.""" + + homepage = "http://github.com/Julian/jsonschema" + # base https://pypi.python.org/pypi/jsonschema + url = "https://pypi.python.org/packages/source/j/jsonschema/jsonschema-2.5.1.tar.gz" + + version('2.5.1', '374e848fdb69a3ce8b7e778b47c30640') + + extends('python') + depends_on('py-setuptools', type='build') + depends_on('py-vcversioner') + depends_on('py-functools32') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-pycurl/package.py b/var/spack/repos/builtin/packages/py-pycurl/package.py new file mode 100644 index 0000000000..9f93c1ca44 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-pycurl/package.py @@ -0,0 +1,42 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class PyPycurl(Package): + """PycURL is a Python interface to libcurl. PycURL can be used to fetch + objects identified by a URL from a Python program.""" + + homepage = "http://pycurl.io/" + url = "https://pypi.python.org/packages/source/p/pycurl/pycurl-7.43.0.tar.gz" + + version('7.43.0', 'c94bdba01da6004fa38325e9bd6b9760') + + extends('python') + depends_on('py-setuptools', type='build') + depends_on('curl') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-tornado/package.py b/var/spack/repos/builtin/packages/py-tornado/package.py new file mode 100644 index 0000000000..78ead79959 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-tornado/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 PyTornado(Package): + """Tornado is a Python web framework and asynchronous networking + library.""" + homepage = "https://github.com/tornadoweb/tornado" + # base https://pypi.python.org/pypi/tornado/ + url = "https://github.com/tornadoweb/tornado/archive/v4.4.0.tar.gz" + + version('4.4.0', 'c28675e944f364ee96dda3a8d2527a87ed28cfa3') + + extends('python') + depends_on('py-setuptools', type='build') + depends_on('py-backports-abc') + depends_on('py-certifi') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-vcversioner/package.py b/var/spack/repos/builtin/packages/py-vcversioner/package.py new file mode 100644 index 0000000000..246a3b7b43 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-vcversioner/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 PyVcversioner(Package): + """Vcversioner: Take version numbers from version control.""" + + homepage = "https://github.com/habnabit/vcversioner" + # base https://pypi.python.org/pypi/vcversioner/ + url = "https://pypi.python.org/packages/source/v/vcversioner/vcversioner-2.16.0.0.tar.gz" + + version('2.16.0.0', 'aab6ef5e0cf8614a1b1140ed5b7f107d') + + extends('python') + depends_on('py-setuptools', type='build') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) diff --git a/var/spack/repos/builtin/packages/py-zmq/package.py b/var/spack/repos/builtin/packages/py-zmq/package.py new file mode 100644 index 0000000000..1dfe07a8fb --- /dev/null +++ b/var/spack/repos/builtin/packages/py-zmq/package.py @@ -0,0 +1,42 @@ +############################################################################## +# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC. +# Produced at the Lawrence Livermore National Laboratory. +# +# This file is part of Spack. +# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. +# LLNL-CODE-647188 +# +# For details, see https://github.com/llnl/spack +# Please also see the LICENSE file for our notice and the LGPL. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License (as +# published by the Free Software Foundation) version 2.1, February 1999. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and +# conditions of the GNU Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +############################################################################## +from spack import * + + +class PyZmq(Package): + """PyZMQ: Python bindings for zeromq.""" + homepage = "https://github.com/zeromq/pyzmq" + # base https://pypi.python.org/pypi/pyzmq/ + url = "https://github.com/zeromq/pyzmq/archive/v14.7.0.tar.gz" + + version('14.7.0', 'bf304fb73d72aee314ff82d3554328c179938ecf') + + extends('python') + depends_on('py-setuptools', type='build') + depends_on('py-cython') + depends_on('zeromq') + + def install(self, spec, prefix): + setup_py('install', '--prefix={0}'.format(prefix)) -- cgit v1.2.3-60-g2f50