From 43190a6bf64ca13a2916d4d35e9f7572397ecc3d Mon Sep 17 00:00:00 2001 From: Milton Woods Date: Mon, 15 Jan 2018 08:42:17 +1100 Subject: Py-fparser: python parser for Fortran code (#6794) * py-fparser: parser for Fortran 77..2003 code * py-fparser: guard against external pytest.ini * py-fparser: define 'develop' version as latest master branch * py-fparser: fetch tagged versions from git repo * py-fparser: add latest release 0.0.6 * py-fparser: whitespace adjustments for flake8 * py-fparser: inherit python dependency from PythonPackage * py-fparser: rely on spack to resolve sub-dependencies * py-fparser: try type='test' for py-pytest * py-fparser: fetch release tarballs instead of git commits * py-fparser: test deptype is available, remove comment * py-fparser: limit versions that use py-six * py-fparser: version ranges do not need a lower bound --- .../repos/builtin/packages/py-fparser/package.py | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 var/spack/repos/builtin/packages/py-fparser/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-fparser/package.py b/var/spack/repos/builtin/packages/py-fparser/package.py new file mode 100644 index 0000000000..8ce756b421 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-fparser/package.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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 PyFparser(PythonPackage): + """Parser for Fortran 77..2003 code.""" + + homepage = "https://github.com/stfc/fparser" + url = "https://github.com/stfc/fparser/archive/0.0.5.tar.gz" + giturl = "https://github.com/stfc/fparser.git" + + version('0.0.6', '15553fde76b4685fa8edb0a5472b1b53d308c3b8') + version('0.0.5', '14630afdb8c8bd025e5504c5ab19d133aa8cf8c7') + version('develop', git=giturl, branch='master') + + depends_on('py-setuptools', type='build') + + depends_on('py-numpy', type=('build', 'run'), when='@:0.0.5') + depends_on('py-nose', type='build') + depends_on('py-six', type='build', when='@0.0.6:') + + depends_on('py-pytest', type='test') + + @run_after('install') + @on_package_attributes(run_tests=True) + def check_build(self): + # Ensure that pytest.ini exists inside the source tree, + # otherwise an external pytest.ini can cause havoc: + touch('pytest.ini') + with working_dir('src'): + Executable('py.test')() -- cgit v1.2.3-60-g2f50