From 7e53f4328fcb94190bf7c54287aee95df563af01 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 1 Jul 2016 16:30:11 -0500 Subject: Add py-meep package and dependencies --- var/spack/repos/builtin/packages/gc/package.py | 52 ++++++++++++ .../repos/builtin/packages/gettext/package.py | 98 ++++++++++++++++++---- var/spack/repos/builtin/packages/gmp/package.py | 12 +-- var/spack/repos/builtin/packages/guile/package.py | 54 ++++++++++++ .../repos/builtin/packages/harminv/package.py | 53 ++++++++++++ .../builtin/packages/libatomic-ops/package.py | 41 +++++++++ var/spack/repos/builtin/packages/libctl/package.py | 47 +++++++++++ .../repos/builtin/packages/libiconv/package.py | 41 +++++++++ .../repos/builtin/packages/libunistring/package.py | 44 ++++++++++ var/spack/repos/builtin/packages/meep/package.py | 96 +++++++++++++++++++++ .../repos/builtin/packages/pkg-config/package.py | 21 +++-- .../repos/builtin/packages/py-meep/package.py | 54 ++++++++++++ 12 files changed, 581 insertions(+), 32 deletions(-) create mode 100644 var/spack/repos/builtin/packages/gc/package.py create mode 100644 var/spack/repos/builtin/packages/guile/package.py create mode 100644 var/spack/repos/builtin/packages/harminv/package.py create mode 100644 var/spack/repos/builtin/packages/libatomic-ops/package.py create mode 100644 var/spack/repos/builtin/packages/libctl/package.py create mode 100644 var/spack/repos/builtin/packages/libiconv/package.py create mode 100644 var/spack/repos/builtin/packages/libunistring/package.py create mode 100644 var/spack/repos/builtin/packages/meep/package.py create mode 100644 var/spack/repos/builtin/packages/py-meep/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/gc/package.py b/var/spack/repos/builtin/packages/gc/package.py new file mode 100644 index 0000000000..f03f139410 --- /dev/null +++ b/var/spack/repos/builtin/packages/gc/package.py @@ -0,0 +1,52 @@ +############################################################################## +# 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 Gc(Package): + """The Boehm-Demers-Weiser conservative garbage collector is a garbage + collecting replacement for C malloc or C++ new.""" + + homepage = "http://www.hboehm.info/gc/" + url = "http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz" + + version('7.4.4', '96d18b0448a841c88d56e4ab3d180297') + + variant('libatomic-ops', default=True, description='Use external libatomic-ops') + + depends_on('libatomic-ops', when='+libatomic-ops') + + def install(self, spec, prefix): + config_args = [ + '--prefix={0}'.format(prefix), + '--with-libatomic-ops={0}'.format( + 'yes' if '+libatomic-ops' in spec else 'no') + ] + + configure(*config_args) + + make() + make('check') + make('install') diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py index df301aea3c..9a67c4d608 100644 --- a/var/spack/repos/builtin/packages/gettext/package.py +++ b/var/spack/repos/builtin/packages/gettext/package.py @@ -24,31 +24,93 @@ ############################################################################## from spack import * + class Gettext(Package): """GNU internationalization (i18n) and localization (l10n) library.""" homepage = "https://www.gnu.org/software/gettext/" url = "http://ftpmirror.gnu.org/gettext/gettext-0.19.7.tar.xz" - version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5') + version('0.19.8.1', 'df3f5690eaa30fd228537b00cb7b7590') + version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5') + + # Recommended variants + variant('libiconv', default=True, description='Use libiconv') + variant('curses', default=True, description='Use libncurses') + variant('libxml2', default=True, description='Use libxml2') + variant('git', default=True, description='Enable git support') + variant('tar', default=True, description='Enable tar support') + variant('gzip', default=True, description='Enable gzip support') + variant('bzip2', default=True, description='Enable bzip2 support') + variant('xz', default=True, description='Enable xz support') + + # Optional variants + variant('libunistring', default=False, description='Use libunistring') + + # Recommended dependencies + depends_on('libiconv', when='+libiconv') + depends_on('ncurses', when='+curses') + depends_on('libxml2', when='+libxml2') + # Java runtime and compiler (e.g. GNU gcj or kaffe) + # C# runtime and compiler (e.g. pnet or mono) + depends_on('git@1.6:', when='+git') + depends_on('tar', when='+tar') + depends_on('gzip', when='+gzip') + depends_on('bzip2', when='+bzip2') + depends_on('xz', when='+xz') + + # Optional dependencies + # depends_on('glib') # circular dependency? + # depends_on('libcroco@0.6.1:') + depends_on('libunistring', when='+libunistring') + # depends_on('cvs') def install(self, spec, prefix): - options = ['--disable-dependency-tracking', - '--disable-silent-rules', - '--disable-debug', - '--prefix=%s' % prefix, - '--with-included-gettext', - '--with-included-glib', - '--with-included-libcroco', - '--with-included-libunistring', - '--with-emacs', - '--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share, - '--disable-java', - '--disable-csharp', - '--without-git', # Don't use VCS systems to create these archives - '--without-cvs', - '--without-xz'] - - configure(*options) + config_args = [ + '--prefix={0}'.format(prefix), + '--disable-java', + '--disable-csharp', + '--with-included-glib', + '--with-included-gettext', + '--with-included-libcroco', + '--without-emacs', + '--with-lispdir=%s/emacs/site-lisp/gettext' % prefix.share, + '--without-cvs' + ] + + if '+libiconv' in spec: + config_args.append('--with-libiconv-prefix={0}'.format( + spec['libiconv'].prefix)) + else: + config_args.append('--without-libiconv-prefix') + + if '+curses' in spec: + config_args.append('--with-ncurses-prefix={0}'.format( + spec['ncurses'].prefix)) + else: + config_args.append('--disable-curses') + + if '+libxml2' in spec: + config_args.append('--with-libxml2-prefix={0}'.format( + spec['libxml2'].prefix)) + else: + config_args.append('--with-included-libxml') + + if '+git' not in spec: + config_args.append('--without-git') + + if '+bzip2' not in spec: + config_args.append('--without-bzip2') + + if '+xz' not in spec: + config_args.append('--without-xz') + + if '+libunistring' in spec: + config_args.append('--with-libunistring-prefix={0}'.format( + spec['libunistring'].prefix)) + else: + config_args.append('--with-included-libunistring') + + configure(*config_args) make() make("install") diff --git a/var/spack/repos/builtin/packages/gmp/package.py b/var/spack/repos/builtin/packages/gmp/package.py index e2c2892f18..d85330dd6e 100644 --- a/var/spack/repos/builtin/packages/gmp/package.py +++ b/var/spack/repos/builtin/packages/gmp/package.py @@ -24,16 +24,18 @@ ############################################################################## from spack import * + class Gmp(Package): - """GMP is a free library for arbitrary precision arithmetic, - operating on signed integers, rational numbers, and - floating-point numbers.""" + """GMP is a free library for arbitrary precision arithmetic, operating + on signed integers, rational numbers, and floating-point numbers.""" + homepage = "https://gmplib.org" url = "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2" - version('6.1.0' , '86ee6e54ebfc4a90b643a65e402c4048') + version('6.1.1', '4c175f86e11eb32d8bf9872ca3a8e11d') + version('6.1.0', '86ee6e54ebfc4a90b643a65e402c4048') version('6.0.0a', 'b7ff2d88cae7f8085bd5006096eed470') - version('6.0.0' , '6ef5869ae735db9995619135bd856b84') + version('6.0.0', '6ef5869ae735db9995619135bd856b84') depends_on("m4", type='build') diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py new file mode 100644 index 0000000000..0392fd43e0 --- /dev/null +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -0,0 +1,54 @@ +############################################################################## +# 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 Guile(Package): + """Guile is designed to help programmers create flexible applications + that can be extended by users or other programmers with plug-ins, + modules, or scripts.""" + + homepage = "https://www.gnu.org/software/guile/" + url = "ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.gz" + + version('2.0.11', 'e532c68c6f17822561e3001136635ddd') + + variant('readline', default=True, description='Use the readline library') + + depends_on('gmp@4.2:') + depends_on('libiconv') + depends_on('gettext') + depends_on('libtool@1.5.6:') + depends_on('libunistring@0.9.3:') + depends_on('gc@7.0:') + depends_on('libffi') + depends_on('readline', when='+readline') + depends_on('pkg-config') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix)) + + make() + make('install') diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py new file mode 100644 index 0000000000..4b07d6687c --- /dev/null +++ b/var/spack/repos/builtin/packages/harminv/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 Harminv(Package): + """Harminv is a free program (and accompanying library) to solve the + problem of harmonic inversion - given a discrete-time, finite-length + signal that consists of a sum of finitely-many sinusoids (possibly + exponentially decaying) in a given bandwidth, it determines the + frequencies, decay constants, amplitudes, and phases of those sinusoids.""" + + homepage = "http://ab-initio.mit.edu/wiki/index.php/Harminv" + url = "http://ab-initio.mit.edu/harminv/harminv-1.4.tar.gz" + + version('1.4', 'b95e24a9bc7e07d3d2202d1605e9e86f') + + depends_on('blas') + depends_on('lapack') + + def install(self, spec, prefix): + config_args = [ + '--prefix={0}'.format(prefix), + '--with-blas={0}'.format(spec['blas'].prefix.lib), + '--with-lapack={0}'.format(spec['lapack'].prefix.lib) + ] + + configure(*config_args) + + make() + make('install') diff --git a/var/spack/repos/builtin/packages/libatomic-ops/package.py b/var/spack/repos/builtin/packages/libatomic-ops/package.py new file mode 100644 index 0000000000..bc9be5cc64 --- /dev/null +++ b/var/spack/repos/builtin/packages/libatomic-ops/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 LibatomicOps(Package): + """This package provides semi-portable access to hardware-provided + atomic memory update operations on a number architectures.""" + + homepage = "https://github.com/ivmai/libatomic_ops" + url = "http://www.hboehm.info/gc/gc_source/libatomic_ops-7.4.4.tar.gz" + + version('7.4.4', '426d804baae12c372967a6d183e25af2') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix)) + + make() + make('install') diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py new file mode 100644 index 0000000000..e0b509c2e7 --- /dev/null +++ b/var/spack/repos/builtin/packages/libctl/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 Libctl(Package): + """libctl is a free Guile-based library implementing flexible + control files for scientific simulations.""" + + homepage = "http://ab-initio.mit.edu/wiki/index.php/Libctl" + url = "http://ab-initio.mit.edu/libctl/libctl-3.2.2.tar.gz" + + version('3.2.2', '5fd7634dc9ae8e7fa70a68473b9cbb68') + + depends_on('guile') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix) + 'GUILE={0}'.format(spec['guile'].prefix)) + #GUILE_CONFIG=/path/to/guile-config + + make() + make('check') + make('install') + make('installcheck') diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py new file mode 100644 index 0000000000..a1e7e966c9 --- /dev/null +++ b/var/spack/repos/builtin/packages/libiconv/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 Libiconv(Package): + """GNU libiconv provides an implementation of the iconv() function + and the iconv program for character set conversion.""" + + homepage = "https://www.gnu.org/software/libiconv/" + url = "http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz" + + version('1.14', 'e34509b1623cec449dfeb73d7ce9c6c6') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix)) + + make() + make('install') diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py new file mode 100644 index 0000000000..585590be55 --- /dev/null +++ b/var/spack/repos/builtin/packages/libunistring/package.py @@ -0,0 +1,44 @@ +############################################################################## +# 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 Libunistring(Package): + """This library provides functions for manipulating Unicode strings + and for manipulating C strings according to the Unicode standard.""" + + homepage = "https://www.gnu.org/software/libunistring/" + url = "http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.6.tar.xz" + + version('0.9.6', 'cb09c398020c27edac10ca590e9e9ef3') + + depends_on('libiconv') + + def install(self, spec, prefix): + configure('--prefix={0}'.format(prefix), + '--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)) + + make() + make('install') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py new file mode 100644 index 0000000000..e47e9dbc45 --- /dev/null +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -0,0 +1,96 @@ +############################################################################## +# 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 Meep(Package): + """Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation + software package developed at MIT to model electromagnetic systems.""" + + homepage = "http://ab-initio.mit.edu/wiki/index.php/Meep" + + version('1.3', '18a5b9e18008627a0411087e0bb60db5') + version('1.1.1', '415e0cd312b6caa22b5dd612490e1ccf') + + variant('blas', default=True, description='Enable BLAS support') + variant('lapack', default=True, description='Enable LAPACK support') + variant('harminv', default=True, description='Enable Harminv support') + variant('guile', default=True, description='Enable Guilde support') + variant('libctl', default=True, description='Enable libctl support') + variant('mpi', default=True, description='Enable MPI support') + variant('hdf5', default=True, description='Enable HDF5 support') + + # Recommended dependencies + depends_on('blas', when='+blas') + depends_on('lapack', when='+lapack') + depends_on('harminv', when='+harminv') + depends_on('guile', when='+guile') + depends_on('libctl@3.2:', when='+libctl') + depends_on('mpi', when='+mpi') + depends_on('hdf5', when='+hdf5') + + def url_for_version(self, version): + base_url = "http://ab-initio.mit.edu/meep" + if version == Version('1.3'): + return "{0}/meep-{1}.tar.gz".format(base_url, version) + else: + return "{0}/old/meep-{1}.tar.gz".format(base_url, version) + + def install(self, spec, prefix): + config_args = ['--prefix={0}'.format(prefix)] + + if '+blas' in spec: + config_args.append('--with-blas={0}'.format( + spec['blas'].prefix.lib)) + else: + config_args.append('--without-blas') + + if '+lapack' in spec: + config_args.append('--with-lapack={0}'.format( + spec['lapack'].prefix.lib)) + else: + config_args.append('--without-lapack') + + if '+libctl' in spec: + config_args.append('--with-libctl={0}'.format( + spec['libctl'].prefix)) + else: + config_args.append('--without-libctl') + + if '+mpi' in spec: + config_args.append('--with-mpi') + else: + config_args.append('--without-mpi') + + if '+hdf5' in spec: + config_args.append('--with-hdf5') + else: + config_args.append('--without-hdf5') + + configure(*config_args) + + make() + make('check') + make('install') diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index ddbc151767..9227931a0f 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -24,23 +24,26 @@ ############################################################################## from spack import * + class PkgConfig(Package): - """pkg-config is a helper tool used when compiling applications and libraries""" + """pkg-config is a helper tool used when compiling applications + and libraries""" + homepage = "http://www.freedesktop.org/wiki/Software/pkg-config/" url = "http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" - version('0.28', 'aa3c86e67551adc3ac865160e34a2a0d') + version('0.29.1', 'f739a28cae4e0ca291f82d1d41ef107d') + version('0.28', 'aa3c86e67551adc3ac865160e34a2a0d') parallel = False def install(self, spec, prefix): - configure("--prefix=%s" %prefix, - "--enable-shared", - "--with-internal-glib") # There's a bootstrapping problem here; - # glib uses pkg-config as well, so - # break the cycle by using the internal - # glib. + configure("--prefix={0}".format(prefix), + "--enable-shared", + # There's a bootstrapping problem here; + # glib uses pkg-config as well, so break + # the cycle by using the internal glib. + "--with-internal-glib") make() make("install") - diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py new file mode 100644 index 0000000000..aefa854fc2 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -0,0 +1,54 @@ +############################################################################## +# 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 PyMeep(Package): + """Python-meep is a wrapper around libmeep. It allows the scripting of + Meep-simulations with Python""" + + homepage = "https://launchpad.net/python-meep" + url = "https://launchpad.net/python-meep/1.4/1.4/+download/python-meep-1.4.2.tar" + + version('1.4.2', 'f8913542d18b0dda92ebc64f0a10ce56') + + variant('mpi', default=True, description='Enable MPI support') + + extends('python') + depends_on('meep@1.1.1') # must be compiled with -fPIC + depends_on('swig@1.3.39:') + depends_on('py-numpy') + depends_on('py-scipy') + depends_on('py-matplotlib') + depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended + # depends_on('hdf5+mpi', when='+mpi') # ??? + + def install(self, spec, prefix): + setup = 'setup-mpi.py' if '+mpi' in spec else 'setup.py' + + python(setup, 'clean', '--all') + python(setup, 'build_ext') + python(setup, 'install', '--prefix={0}'.format(prefix)) + python(setup, 'bdist') -- cgit v1.2.3-60-g2f50 From 9e05fdf4a1c5949fbe2958a954a733eceb426b45 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 5 Jul 2016 11:12:26 -0500 Subject: Bug fixes --- var/spack/repos/builtin/packages/gettext/package.py | 3 +-- var/spack/repos/builtin/packages/libctl/package.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py index 9a67c4d608..8583ae4b5e 100644 --- a/var/spack/repos/builtin/packages/gettext/package.py +++ b/var/spack/repos/builtin/packages/gettext/package.py @@ -39,7 +39,6 @@ class Gettext(Package): variant('libxml2', default=True, description='Use libxml2') variant('git', default=True, description='Enable git support') variant('tar', default=True, description='Enable tar support') - variant('gzip', default=True, description='Enable gzip support') variant('bzip2', default=True, description='Enable bzip2 support') variant('xz', default=True, description='Enable xz support') @@ -54,7 +53,7 @@ class Gettext(Package): # C# runtime and compiler (e.g. pnet or mono) depends_on('git@1.6:', when='+git') depends_on('tar', when='+tar') - depends_on('gzip', when='+gzip') + # depends_on('gzip', when='+gzip') depends_on('bzip2', when='+bzip2') depends_on('xz', when='+xz') diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py index e0b509c2e7..d20eff4f40 100644 --- a/var/spack/repos/builtin/packages/libctl/package.py +++ b/var/spack/repos/builtin/packages/libctl/package.py @@ -37,9 +37,9 @@ class Libctl(Package): depends_on('guile') def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix) + configure('--prefix={0}'.format(prefix), 'GUILE={0}'.format(spec['guile'].prefix)) - #GUILE_CONFIG=/path/to/guile-config + # GUILE_CONFIG=/path/to/guile-config make() make('check') -- cgit v1.2.3-60-g2f50 From 3b4820f2904e1a20e6b00c80e901261d354e181f Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 6 Jul 2016 13:24:23 -0500 Subject: Patch pkg-config and update installs for various packages --- var/spack/repos/builtin/packages/guile/package.py | 25 +++++++++++++--- var/spack/repos/builtin/packages/libctl/package.py | 1 - .../repos/builtin/packages/libiconv/package.py | 4 ++- var/spack/repos/builtin/packages/meep/package.py | 15 +++++----- .../packages/pkg-config/g_date_strftime.patch | 33 ++++++++++++++++++++++ .../repos/builtin/packages/pkg-config/package.py | 3 ++ .../repos/builtin/packages/py-meep/package.py | 4 +-- 7 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch (limited to 'var') diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 0392fd43e0..4b5f2c57e2 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -26,9 +26,8 @@ from spack import * class Guile(Package): - """Guile is designed to help programmers create flexible applications - that can be extended by users or other programmers with plug-ins, - modules, or scripts.""" + """Guile is the GNU Ubiquitous Intelligent Language for Extensions, + the official extension language for the GNU operating system.""" homepage = "https://www.gnu.org/software/guile/" url = "ftp://ftp.gnu.org/gnu/guile/guile-2.0.11.tar.gz" @@ -48,7 +47,25 @@ class Guile(Package): depends_on('pkg-config') def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix)) + config_args = [ + '--prefix={0}'.format(prefix), + '--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix), + '--with-libunistring-prefix={0}'.format( + spec['libunistring'].prefix), + '--with-libltdl-prefix={0}'.format(spec['libtool'].prefix), + '--with-libgmp-prefix={0}'.format(spec['gmp'].prefix), + '--with-libintl-prefix={0}'.format(spec['gettext'].prefix) + ] + + if '+readline' in spec: + config_args.append('--with-libreadline-prefix={0}'.format( + spec['readline'].prefix)) + else: + config_args.append('--without-libreadline-prefix') + + configure(*config_args) make() + make('check') make('install') + make('installcheck') diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py index d20eff4f40..1b48d4dc29 100644 --- a/var/spack/repos/builtin/packages/libctl/package.py +++ b/var/spack/repos/builtin/packages/libctl/package.py @@ -39,7 +39,6 @@ class Libctl(Package): def install(self, spec, prefix): configure('--prefix={0}'.format(prefix), 'GUILE={0}'.format(spec['guile'].prefix)) - # GUILE_CONFIG=/path/to/guile-config make() make('check') diff --git a/var/spack/repos/builtin/packages/libiconv/package.py b/var/spack/repos/builtin/packages/libiconv/package.py index a1e7e966c9..f2eeb07b26 100644 --- a/var/spack/repos/builtin/packages/libiconv/package.py +++ b/var/spack/repos/builtin/packages/libiconv/package.py @@ -35,7 +35,9 @@ class Libiconv(Package): version('1.14', 'e34509b1623cec449dfeb73d7ce9c6c6') def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix)) + configure('--prefix={0}'.format(prefix), + '--enable-extra-encodings') make() + make('check') make('install') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index e47e9dbc45..b88cec5a9c 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -34,13 +34,13 @@ class Meep(Package): version('1.3', '18a5b9e18008627a0411087e0bb60db5') version('1.1.1', '415e0cd312b6caa22b5dd612490e1ccf') - variant('blas', default=True, description='Enable BLAS support') - variant('lapack', default=True, description='Enable LAPACK support') - variant('harminv', default=True, description='Enable Harminv support') - variant('guile', default=True, description='Enable Guilde support') - variant('libctl', default=True, description='Enable libctl support') - variant('mpi', default=True, description='Enable MPI support') - variant('hdf5', default=True, description='Enable HDF5 support') + variant('blas', default=True, description='Enable BLAS support') + variant('lapack', default=True, description='Enable LAPACK support') + variant('harminv', default=True, description='Enable Harminv support') + variant('guile', default=False, description='Enable Guilde support') + variant('libctl', default=False, description='Enable libctl support') + variant('mpi', default=True, description='Enable MPI support') + variant('hdf5', default=True, description='Enable HDF5 support') # Recommended dependencies depends_on('blas', when='+blas') @@ -50,6 +50,7 @@ class Meep(Package): depends_on('libctl@3.2:', when='+libctl') depends_on('mpi', when='+mpi') depends_on('hdf5', when='+hdf5') + depends_on('hdf5+mpi', when='+hdf5+mpi') def url_for_version(self, version): base_url = "http://ab-initio.mit.edu/meep" diff --git a/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch new file mode 100644 index 0000000000..578cbf4d7c --- /dev/null +++ b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch @@ -0,0 +1,33 @@ +From 00148329967adb196138372771052a3f606a6ea3 Mon Sep 17 00:00:00 2001 +From: coypu +Date: Wed, 2 Mar 2016 19:43:10 +0200 +Subject: [PATCH 2/2] gdate: Suppress string format literal warning + +Newer versions of GCC emit an error here, but we know it's safe. +https://bugzilla.gnome.org/761550 +--- + glib/glib/gdate.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/glib/glib/gdate.c b/glib/glib/gdate.c +index 4aece02..92c34d2 100644 +--- a/glib/glib/gdate.c ++++ b/glib/glib/gdate.c +@@ -2439,6 +2439,9 @@ win32_strftime_helper (const GDate *d, + * + * Returns: number of characters written to the buffer, or 0 the buffer was too small + */ ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wformat-nonliteral" ++ + gsize + g_date_strftime (gchar *s, + gsize slen, +@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s, + return retval; + #endif + } ++ ++#pragma GCC diagnostic pop +-- +2.7.1 diff --git a/var/spack/repos/builtin/packages/pkg-config/package.py b/var/spack/repos/builtin/packages/pkg-config/package.py index 9227931a0f..45e8e8b74e 100644 --- a/var/spack/repos/builtin/packages/pkg-config/package.py +++ b/var/spack/repos/builtin/packages/pkg-config/package.py @@ -37,6 +37,9 @@ class PkgConfig(Package): parallel = False + # The following patch is needed for gcc-6.1 + patch('g_date_strftime.patch') + def install(self, spec, prefix): configure("--prefix={0}".format(prefix), "--enable-shared", diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index aefa854fc2..311d94b6bd 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -37,13 +37,13 @@ class PyMeep(Package): variant('mpi', default=True, description='Enable MPI support') extends('python') + depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended depends_on('meep@1.1.1') # must be compiled with -fPIC + depends_on('meep+mpi', when='+mpi') depends_on('swig@1.3.39:') depends_on('py-numpy') depends_on('py-scipy') depends_on('py-matplotlib') - depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended - # depends_on('hdf5+mpi', when='+mpi') # ??? def install(self, spec, prefix): setup = 'setup-mpi.py' if '+mpi' in spec else 'setup.py' -- cgit v1.2.3-60-g2f50 From 880cbb22172f32e4e9a8c1dfc1c11ce275419a1e Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 8 Jul 2016 12:56:08 -0500 Subject: Better testing for MEEP --- var/spack/repos/builtin/packages/meep/package.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index b88cec5a9c..cf4b72663d 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -41,8 +41,8 @@ class Meep(Package): variant('libctl', default=False, description='Enable libctl support') variant('mpi', default=True, description='Enable MPI support') variant('hdf5', default=True, description='Enable HDF5 support') + variant('gsl', default=False, description='Build with GSL (only necessary for testing)') - # Recommended dependencies depends_on('blas', when='+blas') depends_on('lapack', when='+lapack') depends_on('harminv', when='+harminv') @@ -51,6 +51,7 @@ class Meep(Package): depends_on('mpi', when='+mpi') depends_on('hdf5', when='+hdf5') depends_on('hdf5+mpi', when='+hdf5+mpi') + depends_on('gsl', when='+gsl') def url_for_version(self, version): base_url = "http://ab-initio.mit.edu/meep" @@ -93,5 +94,12 @@ class Meep(Package): configure(*config_args) make() - make('check') + + # aniso_disp test fails unless installed with harminv + # near2far test fails unless installed with gsl + if '+harminv' in spec and '+gsl' in spec: + # Most tests fail when run in parallel + # 2D_convergence tests still fails to converge for unknown reasons + make('check', parallel=False) + make('install') -- cgit v1.2.3-60-g2f50 From 8d0758fc4cf863ed82d6d4bacd9819e5fd69b3a4 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 8 Jul 2016 14:36:54 -0500 Subject: Allow py-meep to link properly --- var/spack/repos/builtin/packages/meep/package.py | 5 +++++ .../repos/builtin/packages/py-meep/package.py | 26 +++++++++++++++++----- .../repos/builtin/packages/py-numpy/package.py | 13 +++++++++++ var/spack/repos/builtin/packages/swig/package.py | 3 ++- 4 files changed, 41 insertions(+), 6 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index cf4b72663d..e651d80a0b 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -61,6 +61,11 @@ class Meep(Package): return "{0}/old/meep-{1}.tar.gz".format(base_url, version) def install(self, spec, prefix): + # Must be compiled with -fPIC for py-meep + env['CFLAGS'] = '-fPIC' + env['CXXFLAGS'] = '-fPIC' + env['FFLAGS'] = '-fPIC' + config_args = ['--prefix={0}'.format(prefix)] if '+blas' in spec: diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index 311d94b6bd..9582c81878 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -37,18 +37,34 @@ class PyMeep(Package): variant('mpi', default=True, description='Enable MPI support') extends('python') - depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended - depends_on('meep@1.1.1') # must be compiled with -fPIC - depends_on('meep+mpi', when='+mpi') - depends_on('swig@1.3.39:') depends_on('py-numpy') depends_on('py-scipy') depends_on('py-matplotlib') + depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended + depends_on('meep') # must be compiled with -fPIC + depends_on('meep+mpi', when='+mpi') + + # As of SWIG 3.0.3, Python-style comments are now treated as + # pre-processor directives. Use older SWIG. But not too old, + # or else it can't handle newer C++ compilers and flags. + depends_on('swig@1.3.39:3.0.2') + def install(self, spec, prefix): setup = 'setup-mpi.py' if '+mpi' in spec else 'setup.py' + include_dirs = [ + spec['meep'].prefix.include, + spec['py-numpy'].include + ] + + library_dirs = [ + spec['meep'].prefix.lib + ] + python(setup, 'clean', '--all') - python(setup, 'build_ext') + python(setup, 'build_ext', + '-I{0}'.format(','.join(include_dirs)), + '-L{0}'.format(','.join(library_dirs))) python(setup, 'install', '--prefix={0}'.format(prefix)) python(setup, 'bdist') diff --git a/var/spack/repos/builtin/packages/py-numpy/package.py b/var/spack/repos/builtin/packages/py-numpy/package.py index 2febdac658..f800b5e834 100644 --- a/var/spack/repos/builtin/packages/py-numpy/package.py +++ b/var/spack/repos/builtin/packages/py-numpy/package.py @@ -23,6 +23,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ############################################################################## from spack import * +import platform class PyNumpy(Package): @@ -48,6 +49,18 @@ class PyNumpy(Package): depends_on('blas', when='+blas') depends_on('lapack', when='+lapack') + def setup_dependent_package(self, module, dep_spec): + python_version = self.spec['python'].version.up_to(2) + arch = '{0}-{1}'.format(platform.system().lower(), platform.machine()) + + self.spec.include = join_path( + self.prefix.lib, + 'python{0}'.format(python_version), + 'site-packages', + 'numpy-{0}-py{1}-{2}.egg'.format( + self.spec.version, python_version, arch), + 'numpy/core/include') + def install(self, spec, prefix): libraries = [] library_dirs = [] diff --git a/var/spack/repos/builtin/packages/swig/package.py b/var/spack/repos/builtin/packages/swig/package.py index f552621821..b43246dcee 100644 --- a/var/spack/repos/builtin/packages/swig/package.py +++ b/var/spack/repos/builtin/packages/swig/package.py @@ -22,9 +22,9 @@ # 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 Swig(Package): """SWIG is an interface compiler that connects programs written in C and C++ with scripting languages such as Perl, Python, Ruby, @@ -38,6 +38,7 @@ class Swig(Package): homepage = "http://www.swig.org" url = "http://prdownloads.sourceforge.net/swig/swig-3.0.8.tar.gz" + version('3.0.10', 'bb4ab8047159469add7d00910e203124') version('3.0.8', 'c96a1d5ecb13d38604d7e92148c73c97') version('3.0.2', '62f9b0d010cef36a13a010dc530d0d41') version('2.0.12', 'c3fb0b2d710cc82ed0154b91e43085a4') -- cgit v1.2.3-60-g2f50 From a2578c21e4a96e7734981570675dfb85cde74e93 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 8 Jul 2016 16:08:53 -0500 Subject: Supply flags to bdist --- var/spack/repos/builtin/packages/py-meep/package.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index 9582c81878..a8e11a12ff 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -62,9 +62,10 @@ class PyMeep(Package): spec['meep'].prefix.lib ] + include_flags = '-I{0}'.format(','.join(include_dirs)) + library_flags = '-L{0}'.format(','.join(library_dirs)) + python(setup, 'clean', '--all') - python(setup, 'build_ext', - '-I{0}'.format(','.join(include_dirs)), - '-L{0}'.format(','.join(library_dirs))) + python(setup, 'build_ext', include_flags, library_flags) python(setup, 'install', '--prefix={0}'.format(prefix)) - python(setup, 'bdist') + python(setup, 'bdist', include_flags, library_flags) -- cgit v1.2.3-60-g2f50 From 5b1a882fc22483ed4cbc7ac993dea6babff358d1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 11 Jul 2016 11:42:36 -0500 Subject: Update meep's url_for_version --- var/spack/repos/builtin/packages/meep/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index e651d80a0b..73ed09af05 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -32,6 +32,7 @@ class Meep(Package): homepage = "http://ab-initio.mit.edu/wiki/index.php/Meep" version('1.3', '18a5b9e18008627a0411087e0bb60db5') + version('1.2.1', '9be2e743c3a832ae922de9d955d016c5') version('1.1.1', '415e0cd312b6caa22b5dd612490e1ccf') variant('blas', default=True, description='Enable BLAS support') @@ -55,7 +56,7 @@ class Meep(Package): def url_for_version(self, version): base_url = "http://ab-initio.mit.edu/meep" - if version == Version('1.3'): + if version > Version('1.1.1'): return "{0}/meep-{1}.tar.gz".format(base_url, version) else: return "{0}/old/meep-{1}.tar.gz".format(base_url, version) -- cgit v1.2.3-60-g2f50 From 6db99a4fe707e935127e98b0d85fa2f783f0ab45 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 13 Jul 2016 14:36:35 -0500 Subject: Rename gc => bdw-gc, fix libunistring bug --- var/spack/repos/builtin/packages/bdw-gc/package.py | 52 ++++++++++++++++++++++ var/spack/repos/builtin/packages/gc/package.py | 52 ---------------------- var/spack/repos/builtin/packages/guile/package.py | 2 +- .../repos/builtin/packages/libunistring/package.py | 6 +-- 4 files changed, 55 insertions(+), 57 deletions(-) create mode 100644 var/spack/repos/builtin/packages/bdw-gc/package.py delete mode 100644 var/spack/repos/builtin/packages/gc/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/bdw-gc/package.py b/var/spack/repos/builtin/packages/bdw-gc/package.py new file mode 100644 index 0000000000..2c61c21b43 --- /dev/null +++ b/var/spack/repos/builtin/packages/bdw-gc/package.py @@ -0,0 +1,52 @@ +############################################################################## +# 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 BdwGc(Package): + """The Boehm-Demers-Weiser conservative garbage collector is a garbage + collecting replacement for C malloc or C++ new.""" + + homepage = "http://www.hboehm.info/gc/" + url = "http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz" + + version('7.4.4', '96d18b0448a841c88d56e4ab3d180297') + + variant('libatomic-ops', default=True, description='Use external libatomic-ops') + + depends_on('libatomic-ops', when='+libatomic-ops') + + def install(self, spec, prefix): + config_args = [ + '--prefix={0}'.format(prefix), + '--with-libatomic-ops={0}'.format( + 'yes' if '+libatomic-ops' in spec else 'no') + ] + + configure(*config_args) + + make() + make('check') + make('install') diff --git a/var/spack/repos/builtin/packages/gc/package.py b/var/spack/repos/builtin/packages/gc/package.py deleted file mode 100644 index f03f139410..0000000000 --- a/var/spack/repos/builtin/packages/gc/package.py +++ /dev/null @@ -1,52 +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 Gc(Package): - """The Boehm-Demers-Weiser conservative garbage collector is a garbage - collecting replacement for C malloc or C++ new.""" - - homepage = "http://www.hboehm.info/gc/" - url = "http://www.hboehm.info/gc/gc_source/gc-7.4.4.tar.gz" - - version('7.4.4', '96d18b0448a841c88d56e4ab3d180297') - - variant('libatomic-ops', default=True, description='Use external libatomic-ops') - - depends_on('libatomic-ops', when='+libatomic-ops') - - def install(self, spec, prefix): - config_args = [ - '--prefix={0}'.format(prefix), - '--with-libatomic-ops={0}'.format( - 'yes' if '+libatomic-ops' in spec else 'no') - ] - - configure(*config_args) - - make() - make('check') - make('install') diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 4b5f2c57e2..03bdca440a 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -41,7 +41,7 @@ class Guile(Package): depends_on('gettext') depends_on('libtool@1.5.6:') depends_on('libunistring@0.9.3:') - depends_on('gc@7.0:') + depends_on('bdw-gc@7.0:') depends_on('libffi') depends_on('readline', when='+readline') depends_on('pkg-config') diff --git a/var/spack/repos/builtin/packages/libunistring/package.py b/var/spack/repos/builtin/packages/libunistring/package.py index 585590be55..5b8837e72b 100644 --- a/var/spack/repos/builtin/packages/libunistring/package.py +++ b/var/spack/repos/builtin/packages/libunistring/package.py @@ -34,11 +34,9 @@ class Libunistring(Package): version('0.9.6', 'cb09c398020c27edac10ca590e9e9ef3') - depends_on('libiconv') - def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix), - '--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)) + configure('--prefix={0}'.format(prefix)) make() + # make('check') # test-verify fails for me, contacted developers make('install') -- cgit v1.2.3-60-g2f50 From 1e3a5d4e26a8da593dcb5334673c4541ab31baa7 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 13 Jul 2016 15:51:55 -0500 Subject: Final fixes to get guile to build --- var/spack/repos/builtin/packages/gettext/package.py | 8 -------- var/spack/repos/builtin/packages/guile/package.py | 3 --- 2 files changed, 11 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/gettext/package.py b/var/spack/repos/builtin/packages/gettext/package.py index 8583ae4b5e..0a0b163a74 100644 --- a/var/spack/repos/builtin/packages/gettext/package.py +++ b/var/spack/repos/builtin/packages/gettext/package.py @@ -34,7 +34,6 @@ class Gettext(Package): version('0.19.7', 'f81e50556da41b44c1d59ac93474dca5') # Recommended variants - variant('libiconv', default=True, description='Use libiconv') variant('curses', default=True, description='Use libncurses') variant('libxml2', default=True, description='Use libxml2') variant('git', default=True, description='Enable git support') @@ -46,7 +45,6 @@ class Gettext(Package): variant('libunistring', default=False, description='Use libunistring') # Recommended dependencies - depends_on('libiconv', when='+libiconv') depends_on('ncurses', when='+curses') depends_on('libxml2', when='+libxml2') # Java runtime and compiler (e.g. GNU gcj or kaffe) @@ -76,12 +74,6 @@ class Gettext(Package): '--without-cvs' ] - if '+libiconv' in spec: - config_args.append('--with-libiconv-prefix={0}'.format( - spec['libiconv'].prefix)) - else: - config_args.append('--without-libiconv-prefix') - if '+curses' in spec: config_args.append('--with-ncurses-prefix={0}'.format( spec['ncurses'].prefix)) diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 03bdca440a..936ad154bd 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -37,7 +37,6 @@ class Guile(Package): variant('readline', default=True, description='Use the readline library') depends_on('gmp@4.2:') - depends_on('libiconv') depends_on('gettext') depends_on('libtool@1.5.6:') depends_on('libunistring@0.9.3:') @@ -49,7 +48,6 @@ class Guile(Package): def install(self, spec, prefix): config_args = [ '--prefix={0}'.format(prefix), - '--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix), '--with-libunistring-prefix={0}'.format( spec['libunistring'].prefix), '--with-libltdl-prefix={0}'.format(spec['libtool'].prefix), @@ -68,4 +66,3 @@ class Guile(Package): make() make('check') make('install') - make('installcheck') -- cgit v1.2.3-60-g2f50 From 0903ae0599b6a2a9ff91d3f7939b56a6dc476032 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 13 Jul 2016 16:34:11 -0500 Subject: Final fixes to get libctl working --- var/spack/repos/builtin/packages/libctl/package.py | 7 ++++--- var/spack/repos/builtin/packages/meep/package.py | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py index 1b48d4dc29..946fc11271 100644 --- a/var/spack/repos/builtin/packages/libctl/package.py +++ b/var/spack/repos/builtin/packages/libctl/package.py @@ -38,9 +38,10 @@ class Libctl(Package): def install(self, spec, prefix): configure('--prefix={0}'.format(prefix), - 'GUILE={0}'.format(spec['guile'].prefix)) + 'GUILE={0}'.format(join_path( + spec['guile'].prefix.bin, 'guile')), + 'GUILE_CONFIG={0}'.format(join_path( + spec['guile'].prefix.bin, 'guile-config'))) make() - make('check') make('install') - make('installcheck') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index 73ed09af05..184b6f438e 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -38,8 +38,8 @@ class Meep(Package): variant('blas', default=True, description='Enable BLAS support') variant('lapack', default=True, description='Enable LAPACK support') variant('harminv', default=True, description='Enable Harminv support') - variant('guile', default=False, description='Enable Guilde support') - variant('libctl', default=False, description='Enable libctl support') + variant('guile', default=True, description='Enable Guilde support') + variant('libctl', default=True, description='Enable libctl support') variant('mpi', default=True, description='Enable MPI support') variant('hdf5', default=True, description='Enable HDF5 support') variant('gsl', default=False, description='Build with GSL (only necessary for testing)') -- cgit v1.2.3-60-g2f50 From bdb64c2e390c4d2295f6d037201da2f5961512f8 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 14 Jul 2016 09:46:09 -0500 Subject: Tell MEEP where to find libctl --- var/spack/repos/builtin/packages/meep/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index 184b6f438e..603b916da4 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -83,7 +83,7 @@ class Meep(Package): if '+libctl' in spec: config_args.append('--with-libctl={0}'.format( - spec['libctl'].prefix)) + join_path(spec['libctl'].prefix.share, 'libctl'))) else: config_args.append('--without-libctl') -- cgit v1.2.3-60-g2f50 From 5cac0a528cd39d082d53af9e241763f24ddf0cd3 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 20 Jul 2016 12:57:43 -0500 Subject: Fix undefined symbols by building shared libraries --- .../repos/builtin/packages/harminv/package.py | 3 ++- .../builtin/packages/libatomic-ops/package.py | 3 ++- var/spack/repos/builtin/packages/libctl/package.py | 1 + var/spack/repos/builtin/packages/meep/package.py | 30 ++++++++++------------ .../repos/builtin/packages/py-meep/package.py | 4 +-- 5 files changed, 21 insertions(+), 20 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/harminv/package.py b/var/spack/repos/builtin/packages/harminv/package.py index 4b07d6687c..184535ebb0 100644 --- a/var/spack/repos/builtin/packages/harminv/package.py +++ b/var/spack/repos/builtin/packages/harminv/package.py @@ -44,7 +44,8 @@ class Harminv(Package): config_args = [ '--prefix={0}'.format(prefix), '--with-blas={0}'.format(spec['blas'].prefix.lib), - '--with-lapack={0}'.format(spec['lapack'].prefix.lib) + '--with-lapack={0}'.format(spec['lapack'].prefix.lib), + '--enable-shared' ] configure(*config_args) diff --git a/var/spack/repos/builtin/packages/libatomic-ops/package.py b/var/spack/repos/builtin/packages/libatomic-ops/package.py index bc9be5cc64..0167fbcb33 100644 --- a/var/spack/repos/builtin/packages/libatomic-ops/package.py +++ b/var/spack/repos/builtin/packages/libatomic-ops/package.py @@ -35,7 +35,8 @@ class LibatomicOps(Package): version('7.4.4', '426d804baae12c372967a6d183e25af2') def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix)) + configure('--prefix={0}'.format(prefix), + '--enable-shared') make() make('install') diff --git a/var/spack/repos/builtin/packages/libctl/package.py b/var/spack/repos/builtin/packages/libctl/package.py index 946fc11271..53d30ce5c3 100644 --- a/var/spack/repos/builtin/packages/libctl/package.py +++ b/var/spack/repos/builtin/packages/libctl/package.py @@ -38,6 +38,7 @@ class Libctl(Package): def install(self, spec, prefix): configure('--prefix={0}'.format(prefix), + '--enable-shared', 'GUILE={0}'.format(join_path( spec['guile'].prefix.bin, 'guile')), 'GUILE_CONFIG={0}'.format(join_path( diff --git a/var/spack/repos/builtin/packages/meep/package.py b/var/spack/repos/builtin/packages/meep/package.py index 603b916da4..2c1018e711 100644 --- a/var/spack/repos/builtin/packages/meep/package.py +++ b/var/spack/repos/builtin/packages/meep/package.py @@ -35,14 +35,14 @@ class Meep(Package): version('1.2.1', '9be2e743c3a832ae922de9d955d016c5') version('1.1.1', '415e0cd312b6caa22b5dd612490e1ccf') - variant('blas', default=True, description='Enable BLAS support') - variant('lapack', default=True, description='Enable LAPACK support') - variant('harminv', default=True, description='Enable Harminv support') - variant('guile', default=True, description='Enable Guilde support') - variant('libctl', default=True, description='Enable libctl support') - variant('mpi', default=True, description='Enable MPI support') - variant('hdf5', default=True, description='Enable HDF5 support') - variant('gsl', default=False, description='Build with GSL (only necessary for testing)') + variant('blas', default=True, description='Enable BLAS support') + variant('lapack', default=True, description='Enable LAPACK support') + variant('harminv', default=True, description='Enable Harminv support') + variant('guile', default=True, description='Enable Guilde support') + variant('libctl', default=True, description='Enable libctl support') + variant('mpi', default=True, description='Enable MPI support') + variant('hdf5', default=True, description='Enable HDF5 support') + variant('gsl', default=True, description='Enable GSL support') depends_on('blas', when='+blas') depends_on('lapack', when='+lapack') @@ -50,7 +50,7 @@ class Meep(Package): depends_on('guile', when='+guile') depends_on('libctl@3.2:', when='+libctl') depends_on('mpi', when='+mpi') - depends_on('hdf5', when='+hdf5') + depends_on('hdf5~mpi', when='+hdf5~mpi') depends_on('hdf5+mpi', when='+hdf5+mpi') depends_on('gsl', when='+gsl') @@ -62,12 +62,10 @@ class Meep(Package): return "{0}/old/meep-{1}.tar.gz".format(base_url, version) def install(self, spec, prefix): - # Must be compiled with -fPIC for py-meep - env['CFLAGS'] = '-fPIC' - env['CXXFLAGS'] = '-fPIC' - env['FFLAGS'] = '-fPIC' - - config_args = ['--prefix={0}'.format(prefix)] + config_args = [ + '--prefix={0}'.format(prefix), + '--enable-shared' + ] if '+blas' in spec: config_args.append('--with-blas={0}'.format( @@ -103,7 +101,7 @@ class Meep(Package): # aniso_disp test fails unless installed with harminv # near2far test fails unless installed with gsl - if '+harminv' in spec and '+gsl' in spec: + if self.run_tests and '+harminv' in spec and '+gsl' in spec: # Most tests fail when run in parallel # 2D_convergence tests still fails to converge for unknown reasons make('check', parallel=False) diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index a8e11a12ff..5170111e1f 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -41,8 +41,8 @@ class PyMeep(Package): depends_on('py-scipy') depends_on('py-matplotlib') - depends_on('mpi', when='+mpi') # OpenMPI 1.3.3 is recommended - depends_on('meep') # must be compiled with -fPIC + depends_on('mpi', when='+mpi') + depends_on('meep~mpi', when='~mpi') depends_on('meep+mpi', when='+mpi') # As of SWIG 3.0.3, Python-style comments are now treated as -- cgit v1.2.3-60-g2f50 From f5aed63b0b85cab6eb19958f608e242bf5723d5b Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Wed, 20 Jul 2016 13:42:07 -0500 Subject: pkg-config should be a build dependency only --- var/spack/repos/builtin/packages/guile/package.py | 2 +- var/spack/repos/builtin/packages/py-meep/package.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/guile/package.py b/var/spack/repos/builtin/packages/guile/package.py index 936ad154bd..22aff1bddf 100644 --- a/var/spack/repos/builtin/packages/guile/package.py +++ b/var/spack/repos/builtin/packages/guile/package.py @@ -43,7 +43,7 @@ class Guile(Package): depends_on('bdw-gc@7.0:') depends_on('libffi') depends_on('readline', when='+readline') - depends_on('pkg-config') + depends_on('pkg-config', type='build') def install(self, spec, prefix): config_args = [ diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index 5170111e1f..2331571d3e 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -62,6 +62,10 @@ class PyMeep(Package): spec['meep'].prefix.lib ] + if '+mpi' in spec: + include_dirs.append(spec['mpi'].prefix.include) + library_dirs.append(spec['mpi'].prefix.lib) + include_flags = '-I{0}'.format(','.join(include_dirs)) library_flags = '-L{0}'.format(','.join(library_dirs)) -- cgit v1.2.3-60-g2f50 From 4014a29d2b163aaa3906bee1adeb2ca778ddd620 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 22 Jul 2016 11:38:12 -0500 Subject: Use proper deptype so that spack activate works --- var/spack/repos/builtin/packages/py-meep/package.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/py-meep/package.py b/var/spack/repos/builtin/packages/py-meep/package.py index 2331571d3e..269ac55c67 100644 --- a/var/spack/repos/builtin/packages/py-meep/package.py +++ b/var/spack/repos/builtin/packages/py-meep/package.py @@ -37,9 +37,9 @@ class PyMeep(Package): variant('mpi', default=True, description='Enable MPI support') extends('python') - depends_on('py-numpy') - depends_on('py-scipy') - depends_on('py-matplotlib') + depends_on('py-numpy', type=nolink) + depends_on('py-scipy', type=nolink) + depends_on('py-matplotlib', type=nolink) depends_on('mpi', when='+mpi') depends_on('meep~mpi', when='~mpi') -- cgit v1.2.3-60-g2f50 From ab885a53972cb9de8f8658c340883f35aef071c5 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 26 Jul 2016 09:47:45 -0500 Subject: Allow git to depend on gettext now that it works --- var/spack/repos/builtin/packages/git/package.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/git/package.py b/var/spack/repos/builtin/packages/git/package.py index 4cbbaac342..01364580a0 100644 --- a/var/spack/repos/builtin/packages/git/package.py +++ b/var/spack/repos/builtin/packages/git/package.py @@ -24,6 +24,7 @@ ############################################################################## from spack import * + class Git(Package): """Git is a free and open source distributed version control system designed to handle everything from small to very large @@ -36,31 +37,27 @@ class Git(Package): version('2.7.3', 'fa1c008b56618c355a32ba4a678305f6') version('2.7.1', 'bf0706b433a8dedd27a63a72f9a66060') - # See here for info on vulnerable Git versions: # http://www.theregister.co.uk/2016/03/16/git_server_client_patch_now/ # All the following are vulnerable - #version('2.6.3', 'b711be7628a4a2c25f38d859ee81b423') - #version('2.6.2', 'da293290da69f45a86a311ad3cd43dc8') - #version('2.6.1', '4c62ee9c5991fe93d99cf2a6b68397fd') - #version('2.6.0', 'eb76a07148d94802a1745d759716a57e') - #version('2.5.4', '3eca2390cf1fa698b48e2a233563a76b') - #version('2.2.1', 'ff41fdb094eed1ec430aed8ee9b9849c') - + # version('2.6.3', 'b711be7628a4a2c25f38d859ee81b423') + # version('2.6.2', 'da293290da69f45a86a311ad3cd43dc8') + # version('2.6.1', '4c62ee9c5991fe93d99cf2a6b68397fd') + # version('2.6.0', 'eb76a07148d94802a1745d759716a57e') + # version('2.5.4', '3eca2390cf1fa698b48e2a233563a76b') + # version('2.2.1', 'ff41fdb094eed1ec430aed8ee9b9849c') depends_on("openssl") depends_on("autoconf", type='build') depends_on("curl") depends_on("expat") - - # Also depends_on gettext: apt-get install gettext (Ubuntu) + depends_on("gettext") + depends_on("zlib") # Use system perl for now. # depends_on("perl") # depends_on("pcre") - depends_on("zlib") - def install(self, spec, prefix): configure_args = [ "--prefix=%s" % prefix, @@ -68,8 +65,8 @@ class Git(Package): "--with-openssl=%s" % spec['openssl'].prefix, "--with-zlib=%s" % spec['zlib'].prefix, "--with-curl=%s" % spec['curl'].prefix, - "--with-expat=%s" % spec['expat'].prefix, - ] + "--with-expat=%s" % spec['expat'].prefix + ] which('autoreconf')('-i') configure(*configure_args) -- cgit v1.2.3-60-g2f50