Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase

Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/astyle/package.py
	var/spack/repos/builtin/packages/lzo/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
	var/spack/repos/builtin/packages/swiftsim/package.py
This commit is contained in:
alalazo
2016-09-04 10:12:52 +02:00
233 changed files with 14351 additions and 2338 deletions

View File

@@ -26,38 +26,32 @@
class Imagemagick(Package):
"""ImageMagick is a image processing library"""
homepage = "http://www.imagemagic.org"
"""ImageMagick is a software suite to create, edit, compose,
or convert bitmap images."""
# -------------------------------------------------------------------------
# ImageMagick does not keep around anything but *-10 versions, so
# this URL may change. If you want the bleeding edge, you can
# uncomment it and see if it works but you may need to try to
# fetch a newer version (-6, -7, -8, -9, etc.) or you can stick
# wtih the older, stable, archived -10 versions below.
#
# TODO: would be nice if spack had a way to recommend avoiding a
# TODO: bleeding edge version, but not comment it out.
# -------------------------------------------------------------------------
# version('6.9.0-6', 'c1bce7396c22995b8bdb56b7797b4a1b',
# url="http://www.imagemagick.org/download/ImageMagick-6.9.0-6.tar.bz2")
homepage = "http://www.imagemagick.org"
url = "https://github.com/ImageMagick/ImageMagick/archive/7.0.2-7.tar.gz"
# -------------------------------------------------------------------------
# *-10 versions are archived, so these versions should fetch reliably.
# -------------------------------------------------------------------------
version(
'6.8.9-10',
'aa050bf9785e571c956c111377bbf57c',
url="http://sourceforge.net/projects/imagemagick/files/old-sources/6.x/6.8/ImageMagick-6.8.9-10.tar.gz/download")
version('7.0.2-7', 'c59cdc8df50e481b2bd1afe09ac24c08')
version('7.0.2-6', 'aa5689129c39a5146a3212bf5f26d478')
depends_on('jpeg')
depends_on('pango')
depends_on('libtool', type='build')
depends_on('libpng')
depends_on('freetype')
depends_on('fontconfig')
depends_on('libtiff')
depends_on('ghostscript')
depends_on('ghostscript-fonts')
def url_for_version(self, version):
return "https://github.com/ImageMagick/ImageMagick/archive/{0}.tar.gz".format(version)
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
gs_font_dir = join_path(spec['ghostscript-fonts'].prefix.share, "font")
configure('--prefix={0}'.format(prefix),
'--with-gs-font-dir={0}'.format(gs_font_dir))
make()
make("install")
make('check')
make('install')

View File

@@ -1,41 +1,127 @@
import os
##############################################################################
# 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 Adios(Package):
"""
The Adaptable IO System (ADIOS) provides a simple,
"""The Adaptable IO System (ADIOS) provides a simple,
flexible way for scientists to describe the
data in their code that may need to be written,
read, or processed outside of the running simulation
read, or processed outside of the running simulation.
"""
homepage = "http://www.olcf.ornl.gov/center-projects/adios/"
url = "https://github.com/ornladios/ADIOS/archive/v1.9.0.tar.gz"
url = "https://github.com/ornladios/ADIOS/archive/v1.10.0.tar.gz"
version('1.10.0', 'eff450a4c0130479417cfd63186957f3')
version('1.9.0', '310ff02388bbaa2b1c1710ee970b5678')
variant('shared', default=True,
description='Builds a shared version of the library')
variant('fortran', default=False,
description='Enable Fortran bindings support')
variant('mpi', default=True, description='Enable MPI support')
variant('infiniband', default=False, description='Enable infiniband support')
variant('zlib', default=True, description='Enable szip transform support')
variant('szip', default=False, description='Enable szip transform support')
variant('hdf5', default=False, description='Enable HDF5 transport support')
variant('netcdf', default=False, description='Enable NetCDF transport support')
# Lots of setting up here for this package
# module swap PrgEnv-intel PrgEnv-$COMP
# module load cray-netcdf/4.3.3.1
# module load cray-hdf5/1.8.14
# module load python/2.7.10
depends_on('hdf5')
depends_on('mxml')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('python', type='build')
depends_on('mpi', when='+mpi')
depends_on('mxml@2.9:')
# optional transformations
depends_on('zlib', when='+zlib')
depends_on('szip', when='+szip')
# optional transports
depends_on('hdf5', when='+hdf5')
depends_on('netcdf', when='+netcdf')
def validate(self, spec):
"""
Checks if incompatible variants have been activated at the same time
:param spec: spec of the package
:raises RuntimeError: in case of inconsistencies
"""
if '+fortran' in spec and not self.compiler.fc:
msg = 'cannot build a fortran variant without a fortran compiler'
raise RuntimeError(msg)
def install(self, spec, prefix):
configure_args = ["--prefix=%s" % prefix,
"--with-mxml=%s" % spec['mxml'].prefix,
"--with-hdf5=%s" % spec['hdf5'].prefix,
"--with-netcdf=%s" % os.environ["NETCDF_DIR"],
"--with-infiniband=no",
"MPICC=cc", "MPICXX=CC", "MPIFC=ftn",
"CPPFLAGS=-DMPICH_IGNORE_CXX_SEEK"]
self.validate(spec)
# Handle compilation after spec validation
extra_args = []
if spec.satisfies('%gcc'):
configure_args.extend(["CC=gcc", "CXX=g++", "FC=gfortran"])
# required, otherwise building its python bindings on ADIOS will fail
extra_args.append("CFLAGS=-fPIC")
configure(*configure_args)
# always build external MXML, even in ADIOS 1.10.0+
extra_args.append('--with-mxml=%s' % spec['mxml'].prefix)
if '+shared' in spec:
extra_args.append('--enable-shared')
if '+mpi' in spec:
extra_args.append('--with-mpi')
if '+infiniband' in spec:
extra_args.append('--with-infiniband')
else:
extra_args.append('--with-infiniband=no')
if '+fortran' in spec:
extra_args.append('--enable-fortran')
else:
extra_args.append('--disable-fortran')
if '+zlib' in spec:
extra_args.append('--with-zlib=%s' % spec['zlib'].prefix)
if '+szip' in spec:
extra_args.append('--with-szip=%s' % spec['szip'].prefix)
if '+hdf5' in spec:
extra_args.append('--with-hdf5=%s' % spec['hdf5'].prefix)
if '+netcdf' in spec:
extra_args.append('--with-netcdf=%s' % spec['netcdf'].prefix)
sh = which('sh')
sh('./autogen.sh')
configure("--prefix=%s" % prefix,
*extra_args)
make()
make("install")

View File

@@ -26,6 +26,11 @@
class Antlr(Package):
"""ANTLR (ANother Tool for Language Recognition) is a powerful parser
generator for reading, processing, executing, or translating structured
text or binary files. It's widely used to build languages, tools, and
frameworks. From a grammar, ANTLR generates a parser that can build and
walk parse trees."""
homepage = "http://www.antlr.org"
url = "https://github.com/antlr/antlr/tarball/v2.7.7"

View File

@@ -0,0 +1,62 @@
##############################################################################
# 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 Ape(Package):
"""A tool for generating atomic pseudopotentials within a Density-Functional
Theory framework"""
homepage = "http://www.tddft.org/programs/APE/"
url = "http://www.tddft.org/programs/APE/sites/default/files/ape-2.2.1.tar.gz"
version('2.2.1', 'ab81da85bd749c0c136af088c7f9ad58')
depends_on('gsl')
depends_on('libxc')
def install(self, spec, prefix):
args = []
args.extend([
'--prefix=%s' % prefix,
'--with-gsl-prefix=%s' % spec['gsl'].prefix,
'--with-libxc-prefix=%s' % spec['libxc'].prefix
])
# When preprocessor expands macros (i.e. CFLAGS) defined as quoted
# strings the result may be > 132 chars and is terminated.
# This will look to a compiler as an Unterminated character constant
# and produce Line truncated errors. To vercome this, add flags to
# let compiler know that the entire line is meaningful.
# TODO: For the lack of better approach, assume that clang is mixed
# with GNU fortran.
if spec.satisfies('%clang') or spec.satisfies('%gcc'):
args.extend([
'FCFLAGS=-O2 -ffree-line-length-none'
])
configure(*args)
make()
make('install')

View File

@@ -26,8 +26,7 @@
class ArpackNg(Package):
"""
ARPACK-NG is a collection of Fortran77 subroutines designed to solve large
"""ARPACK-NG is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems.
Important Features:
@@ -53,6 +52,7 @@ class ArpackNg(Package):
arpack-ng is replacing arpack almost everywhere.
"""
homepage = 'https://github.com/opencollab/arpack-ng'
url = 'https://github.com/opencollab/arpack-ng/archive/3.3.0.tar.gz'

View File

@@ -26,8 +26,9 @@
class Asciidoc(Package):
""" A presentable text document format for writing articles, UNIX man
"""A presentable text document format for writing articles, UNIX man
pages and other small to medium sized documents."""
homepage = "http://asciidoc.org"
url = "http://downloads.sourceforge.net/project/asciidoc/asciidoc/8.6.9/asciidoc-8.6.9.tar.gz"

View File

@@ -26,10 +26,10 @@
class Astyle(EditableMakefile):
"""
A Free, Fast, and Small Automatic Formatter for C, C++, C++/CLI,
"""A Free, Fast, and Small Automatic Formatter for C, C++, C++/CLI,
Objective-C, C#, and Java Source Code.
"""
homepage = "http://astyle.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/astyle/astyle/astyle%202.04/astyle_2.04_linux.tar.gz"

View File

@@ -42,7 +42,7 @@ class Atk(Package):
def url_for_version(self, version):
"""Handle atk's version-based custom URLs."""
url = 'http://ftp.gnome.org/pub/gnome/sources/atk'
return 'url+/%s/atk-%s.tar.xz' % (version.up_to(2), version)
return url + '/%s/atk-%s.tar.xz' % (version.up_to(2), version)
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)

View File

@@ -34,6 +34,8 @@ class Autoconf(Package):
version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b')
version('2.62', '6c1f3b3734999035d77da5024aab4fbd')
version('2.59', 'd4d45eaa1769d45e59dcb131a4af17a0')
version('2.13', '9de56d4a161a723228220b0f425dc711')
depends_on('m4', type='build')

View File

@@ -0,0 +1,62 @@
--- old/Makefile.spack
+++ new/Makefile.spack
@@ -0,0 +1,59 @@
+# Set PREFIX to the install location for both building and installing
+# Set GMP_PREFIX to the location where GMP is installed
+
+SRCS = \
+ bliss_C.cc \
+ defs.cc \
+ graph.cc \
+ heap.cc \
+ orbit.cc \
+ partition.cc \
+ timer.cc \
+ uintseqhash.cc \
+ utils.cc
+
+all: libbliss.la bliss libbliss_gmp.la bliss_gmp
+
+libbliss.la: $(SRCS:%.cc=%.lo)
+ libtool --mode=link --tag=CXX c++ -g -O3 \
+ -rpath $(PREFIX)/lib -o $@ $^
+libbliss_gmp.la: $(SRCS:%.cc=%.gmp.lo)
+ libtool --mode=link --tag=CXX c++ -g -O3 \
+ -rpath $(PREFIX)/lib -o $@ $^ -L$(GMP_PREFIX)/lib -lgmp
+
+bliss: bliss.lo libbliss.la
+ libtool --mode=link --tag=CXX c++ -g -O3 -o $@ $^
+
+bliss_gmp: bliss.gmp.lo libbliss_gmp.la
+ libtool --mode=link --tag=CXX c++ -g -O3 -o $@ $^
+
+%.lo: %.cc
+ libtool --mode=compile --tag=CXX c++ -g -O3 -o $@ -c $*.cc
+%.gmp.lo: %.cc
+ libtool --mode=compile --tag=CXX c++ -g -O3 -o $@ \
+ -c -DBLISS_USE_GMP $*.cc
+
+install:
+ mkdir -p $(PREFIX)/bin
+ mkdir -p $(PREFIX)/include/bliss
+ mkdir -p $(PREFIX)/lib
+ libtool --mode=install cp bliss $(PREFIX)/bin/bliss
+ libtool --mode=install cp bliss_gmp $(PREFIX)/bin/bliss_gmp
+ libtool --mode=install cp bignum.hh $(PREFIX)/include/bliss/bignum.hh
+ libtool --mode=install cp bliss_C.h $(PREFIX)/include/bliss/bliss_C.h
+ libtool --mode=install cp defs.hh $(PREFIX)/include/bliss/defs.hh
+ libtool --mode=install cp graph.hh $(PREFIX)/include/bliss/graph.hh
+ libtool --mode=install cp heap.hh $(PREFIX)/include/bliss/heap.hh
+ libtool --mode=install cp kqueue.hh $(PREFIX)/include/bliss/kqueue.hh
+ libtool --mode=install cp kstack.hh $(PREFIX)/include/bliss/kstack.hh
+ libtool --mode=install cp orbit.hh $(PREFIX)/include/bliss/orbit.hh
+ libtool --mode=install cp partition.hh \
+ $(PREFIX)/include/bliss/partition.hh
+ libtool --mode=install cp timer.hh $(PREFIX)/include/bliss/timer.hh
+ libtool --mode=install cp uintseqhash.hh \
+ $(PREFIX)/include/bliss/uintseqhash.hh
+ libtool --mode=install cp utils.hh $(PREFIX)/include/bliss/utils.hh
+ libtool --mode=install cp libbliss.la $(PREFIX)/lib/libbliss.la
+ libtool --mode=install cp libbliss_gmp.la $(PREFIX)/lib/libbliss_gmp.la
+
+.PHONY: all install

View File

@@ -0,0 +1,50 @@
##############################################################################
# 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 Bliss(Package):
"""bliss: A Tool for Computing Automorphism Groups and Canonical
Labelings of Graphs"""
homepage = "http://www.tcs.hut.fi/Software/bliss/"
url = "http://www.tcs.hut.fi/Software/bliss/bliss-0.73.zip"
version('0.73', '72f2e310786923b5c398ba0fc40b42ce')
# Note: Bliss can also be built without gmp, but we don't support this yet
depends_on("gmp")
depends_on("libtool", type='build')
patch("Makefile.spack.patch")
def install(self, spec, prefix):
# The Makefile isn't portable; use our own instead
makeargs = ["-f", "Makefile.spack",
"PREFIX=%s" % prefix, "GMP_PREFIX=%s" % spec["gmp"].prefix]
make(*makeargs)
make("install", *makeargs)

View File

@@ -23,7 +23,6 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import spack
import sys
import os
@@ -114,7 +113,8 @@ class Boost(Package):
description="Build single-threaded versions of libraries")
variant('icu_support', default=False,
description="Include ICU support (for regex/locale libraries)")
variant('graph', default=False, description="Build the Boost Graph library")
variant('graph', default=False,
description="Build the Boost Graph library")
depends_on('icu', when='+icu_support')
depends_on('python', when='+python')
@@ -138,11 +138,15 @@ def url_for_version(self, version):
def determine_toolset(self, spec):
if spec.satisfies("platform=darwin"):
return 'darwin'
else:
platform = 'linux'
toolsets = {'g++': 'gcc',
'icpc': 'intel',
'clang++': 'clang'}
if spec.satisfies('@1.47:'):
toolsets['icpc'] += '-' + platform
for cc, toolset in toolsets.iteritems():
if cc in self.compiler.cxx_names:
return toolset
@@ -160,16 +164,13 @@ def determine_bootstrap_options(self, spec, withLibs, options):
join_path(spec['python'].prefix.bin, 'python'))
with open('user-config.jam', 'w') as f:
compiler_wrapper = join_path(spack.build_env_path, 'c++')
f.write("using {0} : : {1} ;\n".format(boostToolsetId,
compiler_wrapper))
if '+mpi' in spec:
f.write('using mpi : %s ;\n' %
join_path(spec['mpi'].prefix.bin, 'mpicxx'))
if '+python' in spec:
f.write('using python : %s : %s ;\n' %
(spec['python'].version,
(spec['python'].version.up_to(2),
join_path(spec['python'].prefix.bin, 'python')))
def determine_b2_options(self, spec, options):
@@ -202,7 +203,6 @@ def determine_b2_options(self, spec, options):
multithreaded} must be enabled""")
options.extend([
'toolset=%s' % self.determine_toolset(spec),
'link=%s' % ','.join(linkTypes),
'--layout=tagged'])

View File

@@ -33,7 +33,7 @@ class BppCore(Package):
version('2.2.0', '5789ed2ae8687d13664140cd77203477')
depends_on('cmake')
depends_on('cmake', type='build')
def install(self, spec, prefix):
cmake('-DBUILD_TESTING=FALSE', '.', *std_cmake_args)

View File

@@ -33,7 +33,7 @@ class BppPhyl(Package):
version('2.2.0', '5c40667ec0bf37e0ecaba321be932770')
depends_on('cmake')
depends_on('cmake', type='build')
depends_on('bpp-core')
depends_on('bpp-seq')

View File

@@ -33,7 +33,7 @@ class BppSeq(Package):
version('2.2.0', '44adef0ff4d5ca4e69ccf258c9270633')
depends_on('cmake')
depends_on('cmake', type='build')
depends_on('bpp-core')
def install(self, spec, prefix):

View File

@@ -35,8 +35,8 @@ class BppSuite(Package):
version('2.2.0', 'd8b29ad7ccf5bd3a7beb701350c9e2a4')
# FIXME: Add dependencies if required.
depends_on('cmake')
depends_on('texinfo')
depends_on('cmake', type='build')
depends_on('texinfo', type='build')
depends_on('bpp-core')
depends_on('bpp-seq')
depends_on('bpp-phyl')

View File

@@ -37,6 +37,7 @@ class Cairo(Package):
depends_on("glib")
depends_on("pixman")
depends_on("freetype")
depends_on("pkg-config", type="build")
depends_on("fontconfig@2.10.91:") # Require newer version of fontconfig.
def install(self, spec, prefix):

View File

@@ -26,8 +26,7 @@
class Caliper(Package):
"""
Caliper is a generic context annotation system. It gives programmers the
"""Caliper is a generic context annotation system. It gives programmers the
ability to provide arbitrary program context information to (performance)
tools at runtime.
"""

View File

@@ -0,0 +1,22 @@
--- old/Makefile.spack
+++ new/Makefile.spack
@@ -0,0 +1,19 @@
+# Set PREFIX to the install location for both building and installing
+
+all: cdd dplex_test
+
+cdd: cdd.lo cddio.lo cddarith.lo dplex.lo setoper.lo
+ libtool --mode=link --tag=CC cc -g -O2 -o $@ $^
+
+dplex_test: dplex.lo dplex_test.lo setoper.lo
+ libtool --mode=link --tag=CC cc -g -O2 -o $@ $^
+
+%.lo: %.c
+ libtool --mode=compile --tag=CC cc -g -O2 -c $*.c
+
+install:
+ mkdir -p $(PREFIX)/bin
+ libtool --mode=install cp cdd $(PREFIX)/bin/cdd
+ libtool --mode=install cp dplex_test $(PREFIX)/bin/dplex_test
+
+.PHONY: all install

View File

@@ -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 Cdd(Package):
"""The program cdd+ (cdd, respectively) is a C++ (ANSI C)
implementation of the Double Description Method [MRTT53] for
generating all vertices (i.e. extreme points) and extreme rays of
a general convex polyhedron given by a system of linear
inequalities"""
homepage = "https://www.inf.ethz.ch/personal/fukudak/cdd_home/cdd.html"
url = "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd-061a.tar.gz"
def url_for_version(self, version):
return ("ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cdd-%s.tar.gz" %
str(version.dotted()).replace('.', ''))
version('0.61a', '22c24a7a9349dd7ec0e24531925a02d9')
depends_on("libtool", type="build")
patch("Makefile.spack.patch")
def install(self, spec, prefix):
# The Makefile isn't portable; use our own instead
makeargs = ["-f", "Makefile.spack", "PREFIX=%s" % prefix]
make(*makeargs)
make("install", *makeargs)

View File

@@ -0,0 +1,58 @@
##############################################################################
# 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 Cddlib(Package):
"""The C-library cddlib is a C implementation of the Double Description
Method of Motzkin et al. for generating all vertices (i.e. extreme points)
and extreme rays of a general convex polyhedron in R^d given by a system
of linear inequalities"""
homepage = "https://www.inf.ethz.ch/personal/fukudak/cdd_home/"
# This is the original download url. It is currently down [2016-08-23],
# but should be reinstated or updated once the issue is resolved.
# url = "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-094h.tar.gz"
url = "http://pkgs.fedoraproject.org/lookaside/pkgs/cddlib/cddlib-094h.tar.gz/1467d270860bbcb26d3ebae424690e7c/cddlib-094h.tar.gz"
def url_for_version(self, version):
# Since the commit id is part of the version, we can't
# auto-generate the string, and we need to explicitly list all
# known versions here. Currently, there is only one version.
if str(version) == '0.94h':
return "http://pkgs.fedoraproject.org/lookaside/pkgs/cddlib/cddlib-094h.tar.gz/1467d270860bbcb26d3ebae424690e7c/cddlib-094h.tar.gz"
raise InstallError("Unsupported version %s" % str(version))
version('0.94h', '1467d270860bbcb26d3ebae424690e7c')
# Note: It should be possible to build cddlib also without gmp
depends_on("gmp")
depends_on("libtool", type="build")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make("install")

View File

@@ -34,7 +34,11 @@ class Cdo(Package):
version('1.6.9', 'bf0997bf20e812f35e10188a930e24e2')
variant('mpi', default=True)
depends_on('netcdf')
depends_on('netcdf+mpi', when='+mpi')
depends_on('netcdf~mpi', when='~mpi')
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))

View File

@@ -26,11 +26,12 @@
class Cfitsio(Package):
"""
CFITSIO is a library of C and Fortran subroutines for reading and writing
"""CFITSIO is a library of C and Fortran subroutines for reading and writing
data files in FITS (Flexible Image Transport System) data format.
"""
homepage = 'http://heasarc.gsfc.nasa.gov/fitsio/'
version('3.370', 'abebd2d02ba5b0503c633581e3bfa116')
def url_for_version(self, v):

View File

@@ -0,0 +1,73 @@
##############################################################################
# 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 Cgns(Package):
"""The CFD General Notation System (CGNS) provides a general, portable,
and extensible standard for the storage and retrieval of computational
fluid dynamics (CFD) analysis data."""
homepage = "http://cgns.github.io/"
url = "https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz"
version('3.3.0', '64e5e8d97144c1462bee9ea6b2a81d7f')
variant('hdf5', default=True, description='Enable HDF5 interface')
depends_on('cmake', type='build')
depends_on('hdf5', when='+hdf5')
def install(self, spec, prefix):
cmake_args = std_cmake_args[:]
if self.compiler.f77 and self.compiler.fc:
cmake_args.append('-DCGNS_ENABLE_FORTRAN=ON')
else:
cmake_args.append('-DCGNS_ENABLE_FORTRAN=OFF')
if '+hdf5' in spec:
cmake_args.extend([
'-DCGNS_ENABLE_HDF5=ON',
'-DHDF5_NEEDS_ZLIB=ON'
])
if spec.satisfies('^hdf5+mpi'):
cmake_args.append('-DHDF5_NEEDS_MPI=ON')
else:
cmake_args.append('-DHDF5_NEEDS_MPI=OFF')
if spec.satisfies('^hdf5+szip'):
cmake_args.append('-DHDF5_NEEDS_SZIP=ON')
else:
cmake_args.append('-DHDF5_NEEDS_SZIP=OFF')
else:
cmake_args.append('-DCGNS_ENABLE_HDF5=OFF')
with working_dir('spack-build', create=True):
cmake('..', *cmake_args)
make()
make('install')

View File

@@ -27,6 +27,8 @@
class Cityhash(Package):
"""CityHash, a family of hash functions for strings."""
homepage = "https://github.com/google/cityhash"
url = "https://github.com/google/cityhash"

View File

@@ -0,0 +1,23 @@
diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake
index eb9602a..edca154 100644
--- a/Modules/Compiler/Intel-C.cmake
+++ b/Modules/Compiler/Intel-C.cmake
@@ -16,14 +16,14 @@ endif()
if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0)
set(CMAKE_C11_STANDARD_COMPILE_OPTION "${_std}=c11")
- set(CMAKE_C11_EXTENSION_COMPILE_OPTION "${_std}=c11")
+ set(CMAKE_C11_EXTENSION_COMPILE_OPTION "${_std}=gnu11")
endif()
-if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)
+if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
set(CMAKE_C90_STANDARD_COMPILE_OPTION "${_std}=c89")
- set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=c89")
+ set(CMAKE_C90_EXTENSION_COMPILE_OPTION "${_std}=gnu89")
set(CMAKE_C99_STANDARD_COMPILE_OPTION "${_std}=c99")
- set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=c99")
+ set(CMAKE_C99_EXTENSION_COMPILE_OPTION "${_std}=gnu99")
endif()
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.1)

View File

@@ -31,6 +31,7 @@ class Cmake(Package):
homepage = 'https://www.cmake.org'
url = 'https://cmake.org/files/v3.4/cmake-3.4.3.tar.gz'
version('3.6.1', 'd6dd661380adacdb12f41b926ec99545')
version('3.6.0', 'aa40fbecf49d99c083415c2411d12db9')
version('3.5.2', '701386a1b5ec95f8d1075ecf96383e02')
version('3.5.1', 'ca051f4a66375c89d1a524e726da0296')
@@ -41,19 +42,28 @@ class Cmake(Package):
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f')
version('2.8.10.2', '097278785da7182ec0aea8769d06860c')
variant('ncurses', default=True,
description='Enables the build of the ncurses gui')
variant('openssl', default=True,
description="Enables CMake's OpenSSL features")
variant('qt', default=False, description='Enables the build of cmake-gui')
variant('doc', default=False,
description='Enables the generation of html and man page docs')
variant('ownlibs', default=False, description='Use CMake-provided third-party libraries')
variant('qt', default=False, description='Enables the build of cmake-gui')
variant('doc', default=False, description='Enables the generation of html and man page documentation')
variant('openssl', default=True, description="Enables CMake's OpenSSL features")
variant('ncurses', default=True, description='Enables the build of the ncurses gui')
depends_on('ncurses', when='+ncurses')
depends_on('openssl', when='+openssl')
depends_on('qt', when='+qt')
depends_on('curl', when='~ownlibs')
depends_on('expat', when='~ownlibs')
# depends_on('jsoncpp', when='~ownlibs') # circular dependency
depends_on('zlib', when='~ownlibs')
depends_on('bzip2', when='~ownlibs')
depends_on('xz', when='~ownlibs')
depends_on('libarchive', when='~ownlibs')
depends_on('qt', when='+qt')
depends_on('python@2.7.11:', when='+doc', type='build')
depends_on('py-sphinx', when='+doc', type='build')
depends_on('py-sphinx', when='+doc', type='build')
depends_on('openssl', when='+openssl')
depends_on('ncurses', when='+ncurses')
# Cannot build with Intel, should be fixed in 3.6.2
# https://gitlab.kitware.com/cmake/cmake/issues/16226
patch('intel-c-gnu11.patch', when='@3.6.0:3.6.1')
def url_for_version(self, version):
"""Handle CMake's version-based custom URLs."""
@@ -76,12 +86,25 @@ def install(self, spec, prefix):
# Consistency check
self.validate(spec)
# configure, build, install:
options = ['--prefix=%s' % prefix]
options.append('--parallel=%s' % str(make_jobs))
options = [
'--prefix={0}'.format(prefix),
'--parallel={0}'.format(make_jobs),
# jsoncpp requires CMake to build
# use CMake-provided library to avoid circular dependency
'--no-system-jsoncpp'
]
if '+ownlibs' in spec:
# Build and link to the CMake-provided third-party libraries
options.append('--no-system-libs')
else:
# Build and link to the Spack-installed third-party libraries
options.append('--system-libs')
if '+qt' in spec:
options.append('--qt-gui')
else:
options.append('--no-qt-gui')
if '+doc' in spec:
options.append('--sphinx-html')
@@ -91,6 +114,10 @@ def install(self, spec, prefix):
options.append('--')
options.append('-DCMAKE_USE_OPENSSL=ON')
configure(*options)
bootstrap = Executable('./bootstrap')
bootstrap(*options)
make()
if self.run_tests:
make('test') # some tests fail, takes forever
make('install')

View File

@@ -42,7 +42,7 @@ class Cp2k(Package):
variant('mpi', default=True, description='Enable MPI support')
variant('plumed', default=False, description='Enable PLUMED support')
depends_on('python') # Build dependency
depends_on('python', type='build')
depends_on('lapack')
depends_on('blas')
@@ -52,12 +52,12 @@ class Cp2k(Package):
depends_on('scalapack', when='+mpi')
depends_on('plumed+shared+mpi', when='+plumed+mpi')
depends_on('plumed+shared~mpi', when='+plumed~mpi')
depends_on('pexsi', when='+mpi')
# TODO : add dependency on libint
# TODO : add dependency on libsmm, libxsmm
# TODO : add dependency on elpa
# TODO : add dependency on CUDA
# TODO : add dependency on PEXSI
# TODO : add dependency on QUIP
# TODO : add dependency on libwannier90
@@ -88,6 +88,7 @@ def install(self, spec, prefix):
}
cppflags = [
'-D__FFTW3',
'-D__LIBPEXSI',
'-I' + spec['fftw'].prefix.include
]
fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
@@ -144,11 +145,28 @@ def install(self, spec, prefix):
'-D__parallel',
'-D__SCALAPACK'
])
fcflags.extend([
'-I' + join_path(spec['pexsi'].prefix, 'fortran')
])
ldflags.extend([
'-L' + spec['scalapack'].prefix.lib
])
libs.extend([
join_path(spec['pexsi'].prefix.lib, 'libpexsi.a'),
join_path(spec['superlu-dist'].prefix.lib,
'libsuperlu_dist.a'),
join_path(
spec['parmetis'].prefix.lib,
'libparmetis.{0}'.format(dso_suffix)
),
join_path(
spec['metis'].prefix.lib,
'libmetis.{0}'.format(dso_suffix)
),
])
libs.extend(spec['scalapack'].scalapack_shared_libs)
libs.extend(self.spec['mpi'].mpicxx_shared_libs)
libs.extend(self.compiler.stdcxx_libs)
# LAPACK / BLAS
ldflags.extend([
'-L' + spec['lapack'].prefix.lib,

View File

@@ -22,13 +22,11 @@
# 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 Cube(Package):
"""
Cube the profile viewer for Score-P and Scalasca profiles. It displays a
"""Cube the profile viewer for Score-P and Scalasca profiles. It displays a
multi-dimensional performance space consisting of the dimensions:
- performance metric
- call path

View File

@@ -32,6 +32,7 @@ class Curl(Package):
homepage = "http://curl.haxx.se"
url = "http://curl.haxx.se/download/curl-7.46.0.tar.bz2"
version('7.50.1', '015f6a0217ca6f2c5442ca406476920b')
version('7.49.1', '6bb1f7af5b58b30e4e6414b8c1abccab')
version('7.47.1', '9ea3123449439bbd960cd25cf98796fb')
version('7.46.0', '9979f989a2a9930d10f1b3deeabc2148')

View File

@@ -26,8 +26,7 @@
class Datamash(Package):
"""
GNU datamash is a command-line program which performs basic numeric,
"""GNU datamash is a command-line program which performs basic numeric,
textual and statistical operations on input textual data files.
"""

View File

@@ -28,10 +28,13 @@
class Dyninst(Package):
"""API for dynamic binary instrumentation. Modify programs while they
are executing without recompiling, re-linking, or re-executing."""
homepage = "https://paradyn.org"
url = "http://www.dyninst.org/sites/default/files/downloads/dyninst/8.1.2/DyninstAPI-8.1.2.tgz"
url = "https://github.com/dyninst/dyninst/archive/v9.2.0.tar.gz"
list_url = "http://www.dyninst.org/downloads/dyninst-8.x"
version('9.2.0', 'ad023f85e8e57837ed9de073b59d6bab',
url="https://github.com/dyninst/dyninst/archive/v9.2.0.tar.gz")
version('9.1.0', '5c64b77521457199db44bec82e4988ac',
url="http://www.paradyn.org/release9.1.0/DyninstAPI-9.1.0.tgz")
version('8.2.1', 'abf60b7faabe7a2e4b54395757be39c7',
@@ -41,13 +44,25 @@ class Dyninst(Package):
version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac',
url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz")
variant('stat_dysect', default=False,
description="patch for STAT's DySectAPI")
depends_on("libelf")
depends_on("libdwarf")
depends_on("boost@1.42:")
depends_on('cmake', type='build')
patch('stat_dysect.patch', when='+stat_dysect')
patch('stackanalysis_h.patch', when='@9.2.0')
# new version uses cmake
def install(self, spec, prefix):
if spec.satisfies('@:8.1'):
configure("--prefix=" + prefix)
make()
make("install")
return
libelf = spec['libelf'].prefix
libdwarf = spec['libdwarf'].prefix

View File

@@ -0,0 +1,11 @@
--- a/dataflowAPI/h/stackanalysis.h 2016-06-29 14:54:14.000000000 -0700
+++ b/dataflowAPI/h/stackanalysis.h 2016-08-02 09:50:13.619079000 -0700
@@ -331,7 +331,7 @@
// To build intervals, we must replay the effect of each instruction.
// To avoid sucking enormous time, we keep those transfer functions around...
- typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs>>
+ typedef std::map<ParseAPI::Block *, std::map<Offset, TransferFuncs> >
InstructionEffects;
DATAFLOW_EXPORT StackAnalysis();

View File

@@ -0,0 +1,96 @@
From 3aebb41ce0ea5b578a1ebf6810446c660066c525 Mon Sep 17 00:00:00 2001
From: Jesper Puge Nielsen <nielsen34@llnl.gov>
Date: Wed, 12 Aug 2015 21:07:52 -0700
Subject: [PATCH] =?UTF-8?q?Exposed=20stackwalker=20and=20proc=20callback=20status=20to=20DySect
=20=C3c?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
dyninstAPI/h/BPatch_process.h | 13 +++++++++++++
dyninstAPI/src/BPatch_process.C | 18 ++++++++++++++++++
dyninstAPI/src/dynProcess.h | 3 ++-
3 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/dyninstAPI/h/BPatch_process.h b/dyninstAPI/h/BPatch_process.h
index 5e01bbb..1316bb2 100644
--- a/dyninstAPI/h/BPatch_process.h
+++ b/dyninstAPI/h/BPatch_process.h
@@ -225,6 +225,10 @@ class BPATCH_DLL_EXPORT BPatch_process : public BPatch_addressSpace {
//
// this function should go away as soon as Paradyn links against Dyninst
PCProcess *lowlevel_process() const { return llproc; }
+
+ // Expose walker from Dyninst proces
+ void *get_walker() const;
+
// These internal funcs trigger callbacks registered to matching events
bool triggerStopThread(instPoint *intPoint, func_instance *intFunc,
int cb_ID, void *retVal);
@@ -281,6 +285,15 @@ class BPATCH_DLL_EXPORT BPatch_process : public BPatch_addressSpace {
bool continueExecution();
+ // BPatch_process::keepStopped
+ //
+ // Changes the desired process stat to prevent
+ // Dyninst from resuming the process after
+ // handling the current event.
+ // Must be called from an event handler.
+
+ void keepStopped();
+
// BPatch_process::terminateExecution
//
// Terminate mutatee process
diff --git a/dyninstAPI/src/BPatch_process.C b/dyninstAPI/src/BPatch_process.C
index 115f215..809e797 100644
--- a/dyninstAPI/src/BPatch_process.C
+++ b/dyninstAPI/src/BPatch_process.C
@@ -507,6 +507,19 @@ bool BPatch_process::continueExecution()
}
/*
+ * BPatch_process::keepStopped
+ *
+ * Changes the desired process stat to prevent
+ * Dyninst from resuming the process after
+ * handling the current event.
+ * Must be called from an event handler.
+ */
+void BPatch_process::keepStopped()
+{
+ llproc->setDesiredProcessState(PCProcess::ps_stopped);
+}
+
+/*
* BPatch_process::terminateExecution
*
* Kill the thread.
@@ -1754,3 +1767,8 @@ bool BPatch_process::protectAnalyzedCode()
}
return ret;
}
+
+void *BPatch_process::get_walker() const
+{
+ return llproc->get_walker();
+}
diff --git a/dyninstAPI/src/dynProcess.h b/dyninstAPI/src/dynProcess.h
index 54b0c6e..00721d1 100644
--- a/dyninstAPI/src/dynProcess.h
+++ b/dyninstAPI/src/dynProcess.h
@@ -302,7 +302,8 @@ public:
// Stackwalking internals
bool walkStack(pdvector<Frame> &stackWalk, PCThread *thread);
bool getActiveFrame(Frame &frame, PCThread *thread);
-
+ Dyninst::Stackwalker::Walker *get_walker() { return stackwalker_; }
+
void addSignalHandler(Address, unsigned);
bool isInSignalHandler(Address addr);
--
1.7.1

View File

@@ -26,10 +26,8 @@
class Eigen(Package):
"""
Eigen is a C++ template library for linear algebra
Matrices, vectors, numerical solvers, and related algorithms
"""Eigen is a C++ template library for linear algebra matrices,
vectors, numerical solvers, and related algorithms.
"""
homepage = 'http://eigen.tuxfamily.org/'

View File

@@ -23,17 +23,16 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
import os
class Espresso(Package):
"""
QE is an integrated suite of Open-Source computer codes for
"""QE is an integrated suite of Open-Source computer codes for
electronic-structure calculations and materials modeling at
the nanoscale. It is based on density-functional theory, plane
waves, and pseudopotentials.
"""
homepage = 'http://quantum-espresso.org'
url = 'http://www.qe-forge.org/gf/download/frsrelease/204/912/espresso-5.3.0.tar.gz'

View File

@@ -28,15 +28,16 @@
class Expat(Package):
"""<eXpat/> is an XML parser library written in C"""
homepage = "http://expat.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz"
version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd')
depends_on('cmake', type='build')
version('2.2.0', '2f47841c829facb346eb6e3fab5212e2',
url="http://downloads.sourceforge.net/project/expat/expat/2.2.0/expat-2.2.0.tar.bz2")
version('2.1.0', 'dd7dab7a5fea97d2a6a43f511449b7cd',
url="http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz")
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))
with working_dir('spack-build', create=True):
cmake('..', *std_cmake_args)
make()
make('install')
make()
if self.run_tests:
make('check')
make('install')

View File

@@ -22,8 +22,6 @@
# 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 *
@@ -33,12 +31,12 @@ class Fftw(Package):
size, and of both real and complex data (as well as of even/odd
data, i.e. the discrete cosine/sine transforms or DCT/DST). We
believe that FFTW, which is free software, should become the FFT
library of choice for most applications.
library of choice for most applications."""
"""
homepage = "http://www.fftw.org"
url = "http://www.fftw.org/fftw-3.3.4.tar.gz"
version('3.3.5', '6cc08a3b9c7ee06fdd5b9eb02e06f569')
version('3.3.4', '2edab8c06b24feeb3b82bbb3ebf3e7b3')
variant(
@@ -60,10 +58,13 @@ class Fftw(Package):
# targets are supported
def install(self, spec, prefix):
options = ['--prefix=%s' % prefix,
'--enable-shared',
'--enable-threads']
# Add support for OpenMP
options = [
'--prefix={0}'.format(prefix),
'--enable-shared',
'--enable-threads'
]
# Add support for OpenMP
if '+openmp' in spec:
# Note: Apple's Clang does not support OpenMP.
if spec.satisfies('%clang'):
@@ -78,17 +79,25 @@ def install(self, spec, prefix):
configure(*options)
make()
if self.run_tests:
make("check")
make("install")
if '+float' in spec:
configure('--enable-float', *options)
make()
if self.run_tests:
make("check")
make("install")
if '+long_double' in spec:
configure('--enable-long-double', *options)
make()
if self.run_tests:
make("check")
make("install")
if '+quad' in spec:
configure('--enable-quad-precision', *options)
make()
if self.run_tests:
make("check")
make("install")

View File

@@ -10,14 +10,17 @@ class Gcc(Package):
Objective-C, Fortran, and Java."""
homepage = "https://gcc.gnu.org"
url = "http://open-source-box.org/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2"
list_url = 'http://open-source-box.org/gcc/'
url = "http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz2"
list_url = 'http://ftp.gnu.org/gnu/gcc/'
list_depth = 2
version('6.2.0', '9768625159663b300ae4de2f4745fcc4')
version('6.1.0', '8fb6cb98b8459f5863328380fbf06bd1')
version('5.4.0', '4c626ac2a83ef30dfb9260e6f59c2b30')
version('5.3.0', 'c9616fd448f980259c31de613e575719')
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
version('5.1.0', 'd5525b1127d07d215960e6051c5da35e')
version('4.9.4', '87c24a4090c1577ba817ec6882602491')
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
version('4.9.2', '4df8ee253b7f3863ad0b86359cd39c43')
version('4.9.1', 'fddf71348546af523353bd43d34919c1')
@@ -33,6 +36,9 @@ class Gcc(Package):
variant('gold',
default=sys.platform != 'darwin',
description="Build the gold linker plugin for ld-based LTO")
variant('piclibs',
default=False,
description="Build PIC versions of libgfortran.a and libstdc++.a")
depends_on("mpfr")
depends_on("gmp")
@@ -50,6 +56,8 @@ class Gcc(Package):
else:
provides('golang', when='@4.7.1:')
patch('piclibs.patch', when='+piclibs')
def install(self, spec, prefix):
# libjava/configure needs a minor fix to install into spack paths.
filter_file(r"'@.*@'", "'@[[:alnum:]]*@'", 'libjava/configure',

View File

@@ -0,0 +1,62 @@
diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
index 62b9f7a..7666fdb 100644
--- a/libgfortran/Makefile.in
+++ b/libgfortran/Makefile.in
@@ -357,11 +357,11 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -fPIC
CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
+CPPFLAGS = @CPPFLAGS@ -fPIC
CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
+DEFS = @DEFS@ -fPIC
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
@@ -371,7 +371,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FC = @FC@
-FCFLAGS = @FCFLAGS@
+FCFLAGS = @FCFLAGS@ -fPIC
FGREP = @FGREP@
FPU_HOST_HEADER = @FPU_HOST_HEADER@
GREP = @GREP@
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index bede542..9b3e442 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -115,7 +115,7 @@ CC = @CC@
CCODECVT_CC = @CCODECVT_CC@
CCOLLATE_CC = @CCOLLATE_CC@
CCTYPE_CC = @CCTYPE_CC@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -fPIC
CLOCALE_CC = @CLOCALE_CC@
CLOCALE_H = @CLOCALE_H@
CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@
@@ -124,7 +124,7 @@ CMESSAGES_H = @CMESSAGES_H@
CMONEY_CC = @CMONEY_CC@
CNUMERIC_CC = @CNUMERIC_CC@
CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
+CPPFLAGS = @CPPFLAGS@ -fPIC
CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@
CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@
CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@
@@ -139,7 +139,7 @@ CYGPATH_W = @CYGPATH_W@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DBLATEX = @DBLATEX@
DEBUG_FLAGS = @DEBUG_FLAGS@
-DEFS = @DEFS@
+DEFS = @DEFS@ -fPIC
DOT = @DOT@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
--
2.8.3

View File

@@ -26,14 +26,13 @@
class Gdal(Package):
"""
GDAL is a translator library for raster and vector geospatial
"""GDAL is a translator library for raster and vector geospatial
data formats that is released under an X/MIT style Open Source
license by the Open Source Geospatial Foundation. As a library,
it presents a single raster abstract data model and vector
abstract data model to the calling application for all supported
formats. It also comes with a variety of useful command line
utilities for data translation and processing
utilities for data translation and processing.
"""
homepage = "http://www.gdal.org/"

View File

@@ -22,16 +22,15 @@
# 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 Gdb(Package):
"""GDB, the GNU Project debugger, allows you to see what is going on
`inside' another program while it executes -- or what another
program was doing at the moment it crashed.
'inside' another program while it executes -- or what another
program was doing at the moment it crashed.
"""
homepage = "https://www.gnu.org/software/gdb"
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz"

View File

@@ -0,0 +1,37 @@
##############################################################################
# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class GhostscriptFonts(Package):
"""Ghostscript Fonts"""
homepage = "http://ghostscript.com/"
url = "ftp://ftp.imagemagick.org/pub/ImageMagick/delegates/ghostscript-fonts-std-8.11.tar.gz"
version('8.11', '6865682b095f8c4500c54b285ff05ef6')
def install(self, spec, prefix):
install_tree('.', join_path(prefix.share, 'font'))

View File

@@ -26,16 +26,20 @@
class Ghostscript(Package):
"""an interpreter for the PostScript language and for PDF. """
"""An interpreter for the PostScript language and for PDF."""
homepage = "http://ghostscript.com/"
url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz"
url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz"
version('9.18', '33a47567d7a591c00a253caddd12a88a')
parallel = False
depends_on('libtiff')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix, "--enable-shared")
configure('--prefix={0}'.format(prefix),
'--with-system-libtiff')
make()
make("install")
make('install')

View File

@@ -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 GitLfs(Package):
"""Tool for managing large files with Git."""
homepage = "https://git-lfs.github.com"
url = "https://github.com/github/git-lfs/archive/v1.4.1.tar.gz"
version('1.4.1', 'c62a314d96d3a30af4d98fa3305ad317')
depends_on('go@1.5:', type='build')
depends_on('git@1.8.2:', type='run')
def install(self, spec, prefix):
bootstrap = Executable('./scripts/bootstrap')
bootstrap()
install('bin/git-lfs', prefix.bin)

View File

@@ -32,6 +32,13 @@ class Git(Package):
homepage = "http://git-scm.com"
url = "https://github.com/git/git/tarball/v2.7.1"
version('2.9.3', 'b0edfc0f3cb046aec7ed68a4b7282a75')
version('2.9.2', '3ff8a9b30fd5c99a02e6d6585ab543fc')
version('2.9.1', 'a5d806743a992300b45f734d1667ddd2')
version('2.9.0', 'bf33a13c2adc05bc9d654c415332bc65')
version('2.8.4', '86afb10254c3803894c9863fb5896bb6')
version('2.8.3', '0e19f31f96f9364fd247b8dc737dacfd')
version('2.8.2', '3d55550880af98f6e35c7f1d7c5aecfe')
version('2.8.1', '1308448d95afa41a4135903f22262fc8')
version('2.8.0', 'eca687e46e9750121638f258cff8317b')
version('2.7.3', 'fa1c008b56618c355a32ba4a678305f6')

View File

@@ -30,17 +30,19 @@ class Glib(Package):
providing data structure handling for C, portability wrappers
and interfaces for such runtime functionality as an event loop,
threads, dynamic loading and an object system."""
homepage = "https://developer.gnome.org/glib/"
url = "http://ftp.gnome.org/pub/gnome/sources/glib/2.42/glib-2.42.1.tar.xz"
version('2.49.4', 'e2c87c03017b0cd02c4c73274b92b148')
version('2.48.1', '67bd3b75c9f6d5587b457dc01cdcd5bb')
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
depends_on('libffi')
depends_on('zlib')
depends_on('pkg-config', type='build')
depends_on('gettext')
depends_on('pcre+utf', when='@2.49:')
depends_on('pcre+utf', when='@2.48:')
# The following patch is needed for gcc-6.1
patch('g_date_strftime.patch', when='@2.42.1')

View File

@@ -0,0 +1,40 @@
##############################################################################
# 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 GlobusToolkit(Package):
"""The Globus Toolkit is an open source software toolkit used for building
grids"""
homepage = "http://toolkit.globus.org"
url = "http://toolkit.globus.org/ftppub/gt6/installers/src/globus_toolkit-6.0.1470089956.tar.gz"
version('6.0.1470089956', 'b77fe3cc5a5844df995688b0e630d077')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make('install')

View File

@@ -26,8 +26,7 @@
class Gmsh(Package):
"""
Gmsh is a free 3D finite element grid generator with a built-in CAD engine
"""Gmsh is a free 3D finite element grid generator with a built-in CAD engine
and post-processor. Its design goal is to provide a fast, light and
user-friendly meshing tool with parametric input and advanced visualization
capabilities. Gmsh is built around four modules: geometry, mesh, solver and
@@ -35,6 +34,7 @@ class Gmsh(Package):
either interactively using the graphical user interface or in ASCII text
files using Gmsh's own scripting language.
"""
homepage = 'http://gmsh.info'
url = 'http://gmsh.info/src/gmsh-2.11.0-source.tgz'

View File

@@ -25,7 +25,7 @@ class Go(Package):
# to-do, make non-c self-hosting compilers feasible without backflips
# should be a dep on external go compiler
depends_on('go-bootstrap', type='build')
depends_on('git')
depends_on('git', type='alldeps')
def install(self, spec, prefix):
bash = which('bash')

View File

@@ -0,0 +1,49 @@
##############################################################################
# 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 GobjectIntrospection(Package):
"""The GObject Introspection is used to describe the program APIs and
collect them in a uniform, machine readable format.Cairo is a 2D graphics
library with support for multiple output"""
homepage = "https://wiki.gnome.org/Projects/GObjectIntrospection"
url = "http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.48/gobject-introspection-1.48.0.tar.xz"
version('1.48.0', '01301fa9019667d48e927353e08bc218')
# version 1.48.0 build fails with glib 2.49.4
depends_on("glib@2.48.1")
depends_on("python")
depends_on("cairo")
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
# we need to filter this file to avoid an overly long hashbang line
filter_file('@PYTHON@', 'python',
'tools/g-ir-tool-template.in')
make()
make("install")

View File

@@ -27,10 +27,11 @@
class Graphlib(Package):
"""Library to create, manipulate, and export graphs Graphlib."""
homepage = "http://https://github.com/lee218llnl/graphlib"
url = "https://github.com/lee218llnl/graphlib/archive/v2.0.0.tar.gz"
homepage = "https://github.com/LLNL/graphlib"
url = "https://github.com/LLNL/graphlib/archive/v2.0.0.tar.gz"
version('2.0.0', '43c6df84f1d38ba5a5dce0ae19371a70')
version('3.0.0', '625d199f97ab1b84cbc8daabcaee5e2a')
depends_on('cmake', type='build')

View File

@@ -22,7 +22,6 @@
# 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 *
@@ -57,7 +56,7 @@ class Gromacs(Package):
depends_on('plumed+mpi', when='+plumed+mpi')
depends_on('plumed~mpi', when='+plumed~mpi')
depends_on('fftw')
depends_on('cmake', type='build')
depends_on('cmake@2.8.8:', type='build')
# TODO : add GPU support

View File

@@ -49,9 +49,10 @@ def _install_shlib(name, src, dst):
class Hdf5Blosc(Package):
"""Blosc filter for HDF5"""
homepage = "https://github.com/Blosc/hdf5-blosc"
url = "https://github.com/Blosc/hdf5-blosc/archive/master.zip"
url = "https://github.com/Blosc/hdf5-blosc"
version('master', '02c04acbf4bec66ec8a35bf157d1c9de')
version('master', git='https://github.com/Blosc/hdf5-blosc',
branch='master')
depends_on("c-blosc")
depends_on("hdf5")

View File

@@ -34,7 +34,7 @@ class Ibmisc(CMakePackage):
depends_on('blitz', when='+blitz')
depends_on('netcdf-cxx4', when='+netcdf')
depends_on('udunits2', when='+udunits2')
depends_on('googletest', when='+googletest')
depends_on('googletest', when='+googletest', type='build')
depends_on('py-cython', when='+python', type=nolink)
depends_on('py-numpy', when='+python', type=nolink)
depends_on('boost', when='+boost')

View File

@@ -0,0 +1,49 @@
##############################################################################
# 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 Jsoncpp(Package):
"""JsonCpp is a C++ library that allows manipulating JSON values,
including serialization and deserialization to and from strings.
It can also preserve existing comment in unserialization/serialization
steps, making it a convenient format to store user input files."""
homepage = "https://github.com/open-source-parsers/jsoncpp"
url = "https://github.com/open-source-parsers/jsoncpp/archive/1.7.3.tar.gz"
version('1.7.3', 'aff6bfb5b81d9a28785429faa45839c5')
depends_on('cmake', type='build')
# depends_on('python', type='test')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
cmake('..', '-DBUILD_SHARED_LIBS=ON', *std_cmake_args)
make()
if self.run_tests:
make('test') # Python needed to run tests
make('install')

View File

@@ -24,6 +24,8 @@
##############################################################################
from spack import *
import os
import sys
class Julia(Package):
@@ -33,31 +35,42 @@ class Julia(Package):
version('master',
git='https://github.com/JuliaLang/julia.git', branch='master')
version('release-0.5',
git='https://github.com/JuliaLang/julia.git', branch='release-0.5')
version('release-0.4',
git='https://github.com/JuliaLang/julia.git', branch='release-0.4')
version('0.4.6', 'd88db18c579049c23ab8ef427ccedf5d', preferred=True)
version('0.4.5', '69141ff5aa6cee7c0ec8c85a34aa49a6')
version('0.4.3', '8a4a59fd335b05090dd1ebefbbe5aaac')
# TODO: Split these out into jl-hdf5, jl-mpi packages etc.
variant("cxx", default=False, description="Prepare for Julia Cxx package")
variant("hdf5", default=False, description="Install Julia HDF5 package")
variant("mpi", default=False, description="Install Julia MPI package")
variant("plot", default=False,
description="Install Julia plotting packages")
variant("python", default=False,
description="Install Julia Python package")
patch('gc.patch', when='@0.4:0.4.5')
patch('gc.patch', when='@release-0.4')
patch('openblas.patch', when='@0.4:0.4.5')
variant('binutils', default=sys.platform != 'darwin',
description="Build via binutils")
# Build-time dependencies:
# depends_on("awk", type='build')
# depends_on("m4", type='build')
# depends_on("pkg-config", type='build')
# depends_on("awk")
depends_on("m4", type="build")
# depends_on("pkg-config")
# Combined build-time and run-time dependencies:
depends_on("binutils", type=nolink)
depends_on("cmake @2.8:", type=nolink)
depends_on("git", type=nolink)
depends_on("openssl", type=nolink)
depends_on("python @2.7:2.999", type=nolink)
# I think that Julia requires the dependencies above, but it
# builds fine (on my system) without these. We should enable them
# as necessary.
# (Yes, these are run-time dependencies used by Julia's package manager.)
depends_on("binutils", when='+binutils')
depends_on("cmake @2.8:")
depends_on("curl")
depends_on("git") # I think Julia @0.5: doesn't use git any more
depends_on("openssl")
depends_on("python @2.7:2.999")
# Run-time dependencies:
# depends_on("arpack")
@@ -93,10 +106,15 @@ class Julia(Package):
# USE_SYSTEM_LIBGIT2=0
# Run-time dependencies for Julia packages:
depends_on("hdf5", type='run')
depends_on("mpi", type='run')
depends_on("hdf5", when="+hdf5", type="run")
depends_on("mpi", when="+mpi", type="run")
depends_on("py-matplotlib", when="+plot", type="run")
def install(self, spec, prefix):
# Julia needs git tags
if os.path.isfile(".git/shallow"):
git = which("git")
git("fetch", "--unshallow")
# Explicitly setting CC, CXX, or FC breaks building libuv, one
# of Julia's dependencies. This might be a Darwin-specific
# problem. Given how Spack sets up compilers, Julia should
@@ -107,12 +125,109 @@ def install(self, spec, prefix):
# "CXX=c++",
# "FC=fc",
# "USE_SYSTEM_ARPACK=1",
"override USE_SYSTEM_CURL=1",
# "USE_SYSTEM_FFTW=1",
# "USE_SYSTEM_GMP=1",
# "USE_SYSTEM_MPFR=1",
# "USE_SYSTEM_PCRE=1",
"prefix=%s" % prefix]
if "+cxx" in spec:
if "@master" not in spec:
raise InstallError(
"Variant +cxx requires the @master version of Julia")
options += [
"BUILD_LLVM_CLANG=1",
"LLVM_ASSERTIONS=1",
"USE_LLVM_SHLIB=1"]
with open('Make.user', 'w') as f:
f.write('\n'.join(options) + '\n')
make()
make("install")
# Julia's package manager needs a certificate
curl = which("curl")
cacert_file = join_path(prefix, "etc", "curl", "cacert.pem")
curl("--create-dirs",
"--output", cacert_file,
"https://curl.haxx.se/ca/cacert.pem")
# Put Julia's compiler cache into a private directory
cachedir = join_path(prefix, "var", "julia", "cache")
mkdirp(cachedir)
# Store Julia packages in a private directory
pkgdir = join_path(prefix, "var", "julia", "pkg")
mkdirp(pkgdir)
# Configure Julia
with open(join_path(prefix, "etc", "julia", "juliarc.jl"),
"a") as juliarc:
if "@master" in spec or "@release-0.5" in spec:
# This is required for versions @0.5:
juliarc.write(
'# Point package manager to working certificates\n')
juliarc.write('LibGit2.set_ssl_cert_locations("%s")\n' %
cacert_file)
juliarc.write('\n')
juliarc.write('# Put compiler cache into a private directory\n')
juliarc.write('empty!(Base.LOAD_CACHE_PATH)\n')
juliarc.write('unshift!(Base.LOAD_CACHE_PATH, "%s")\n' % cachedir)
juliarc.write('\n')
juliarc.write('# Put Julia packages into a private directory\n')
juliarc.write('ENV["JULIA_PKGDIR"] = "%s"\n' % pkgdir)
juliarc.write('\n')
# Install some commonly used packages
julia = Executable(join_path(prefix.bin, "julia"))
julia("-e", 'Pkg.init(); Pkg.update()')
# Install HDF5
if "+hdf5" in spec:
with open(join_path(prefix, "etc", "julia", "juliarc.jl"),
"a") as juliarc:
juliarc.write('# HDF5\n')
juliarc.write('push!(Libdl.DL_LOAD_PATH, "%s")\n' %
spec["hdf5"].prefix.lib)
juliarc.write('\n')
julia("-e", 'Pkg.add("HDF5"); using HDF5')
julia("-e", 'Pkg.add("JLD"); using JLD')
# Install MPI
if "+mpi" in spec:
with open(join_path(prefix, "etc", "julia", "juliarc.jl"),
"a") as juliarc:
juliarc.write('# MPI\n')
juliarc.write('ENV["JULIA_MPI_C_COMPILER"] = "%s"\n' %
join_path(spec["mpi"].prefix.bin, "mpicc"))
juliarc.write('ENV["JULIA_MPI_Fortran_COMPILER"] = "%s"\n' %
join_path(spec["mpi"].prefix.bin, "mpifort"))
juliarc.write('\n')
julia("-e", 'Pkg.add("MPI"); using MPI')
# Install Python
if "+python" in spec or "+plot" in spec:
with open(join_path(prefix, "etc", "julia", "juliarc.jl"),
"a") as juliarc:
juliarc.write('# Python\n')
juliarc.write('ENV["PYTHON"] = "%s"\n' % spec["python"].prefix)
juliarc.write('\n')
# Python's OpenSSL package installer complains:
# Error: PREFIX too long: 166 characters, but only 128 allowed
# Error: post-link failed for: openssl-1.0.2g-0
julia("-e", 'Pkg.add("PyCall"); using PyCall')
if "+plot" in spec:
julia("-e", 'Pkg.add("PyPlot"); using PyPlot')
julia("-e", 'Pkg.add("Colors"); using Colors')
# These require maybe Gtk and ImageMagick
julia("-e", 'Pkg.add("Plots"); using Plots')
julia("-e", 'Pkg.add("PlotRecipes"); using PlotRecipes')
julia("-e", 'Pkg.add("UnicodePlots"); using UnicodePlots')
julia("-e", """\
using Plots
using UnicodePlots
unicodeplots()
plot(x->sin(x)*cos(x), linspace(0, 2pi))
""")
julia("-e", 'Pkg.status()')

View File

@@ -36,6 +36,8 @@ class Launchmon(Package):
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('libgcrypt')
depends_on('libgpg-error')
def install(self, spec, prefix):
configure(

View File

@@ -28,14 +28,30 @@
class Libarchive(Package):
"""libarchive: C library and command-line tools for reading and
writing tar, cpio, zip, ISO, and other archive formats."""
homepage = "http://www.libarchive.org"
url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"
version('3.2.1', 'afa257047d1941a565216edbf0171e72')
version('3.1.2', 'efad5a503f66329bb9d2f4308b5de98a')
version('3.1.1', '1f3d883daf7161a0065e42a15bbf168f')
version('3.1.0', '095a287bb1fd687ab50c85955692bf3a')
depends_on('zlib')
depends_on('bzip2')
depends_on('lzma')
depends_on('lz4')
depends_on('xz')
depends_on('lzo')
depends_on('nettle')
depends_on('openssl')
depends_on('libxml2')
depends_on('expat')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
configure('--prefix={0}'.format(prefix))
make()
make("install")
if self.run_tests:
make('check') # cannot build test suite with Intel compilers
make('install')

View File

@@ -0,0 +1,13 @@
--- a/srclib/stdio.in.h
+++ b/srclib/stdio.in.h
@@ -692,10 +692,6 @@
# undef gets
# endif
_GL_CXXALIASWARN (gets);
-/* It is very rare that the developer ever has full control of stdin,
- so any use of gets warrants an unconditional warning. Assume it is
- always declared, since it is required by C89. */
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif

View File

@@ -34,6 +34,10 @@ class Libiconv(Package):
version('1.14', 'e34509b1623cec449dfeb73d7ce9c6c6')
# We cannot set up a warning for gets(), since gets() is not part
# of C11 any more and thus might not exist.
patch("gets.patch")
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix),
'--enable-extra-encodings')

View File

@@ -33,7 +33,7 @@ class Libpciaccess(Package):
version('0.13.4', 'ace78aec799b1cf6dfaea55d3879ed9f')
depends_on('libtool')
depends_on('libtool', type='build')
def install(self, spec, prefix):
# libpciaccess does not support OS X

View File

@@ -0,0 +1,58 @@
##############################################################################
# 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 Libsplash(Package):
"""libSplash aims at developing a HDF5-based I/O library for HPC
simulations. It is created as an easy-to-use frontend for the standard HDF5
library with support for MPI processes in a cluster environment. While the
standard HDF5 library provides detailed low-level control, libSplash
simplifies tasks commonly found in large-scale HPC simulations, such as
iterative computations and MPI distributed processes.
"""
homepage = "https://github.com/ComputationalRadiationPhysics/libSplash"
url = "https://github.com/ComputationalRadiationPhysics/libSplash/archive/v1.4.0.tar.gz"
version('1.4.0', '2de37bcef6fafa1960391bf44b1b50e0')
version('1.3.1', '524580ba088d97253d03b4611772f37c')
version('1.2.4', '3fccb314293d22966beb7afd83b746d0')
variant('mpi', default=True,
description='Enable parallel I/O (one-file aggregation) support')
depends_on('cmake', type='build')
depends_on('hdf5@1.8.6:')
depends_on('hdf5+mpi', when='+mpi')
depends_on('mpi', when='+mpi')
def install(self, spec, prefix):
with working_dir('spack-build', create=True):
cmake('-DCMAKE_INSTALL_PREFIX=%s' % prefix,
'..', *std_cmake_args)
make()
make('install')

View File

@@ -32,6 +32,7 @@ class Libxml2(Package):
homepage = "http://xmlsoft.org"
url = "http://xmlsoft.org/sources/libxml2-2.9.2.tar.gz"
version('2.9.4', 'ae249165c173b1ff386ee8ad676815f5')
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
variant('python', default=False, description='Enable Python support')
@@ -44,13 +45,16 @@ class Libxml2(Package):
def install(self, spec, prefix):
if '+python' in spec:
python_args = ["--with-python=%s" % spec['python'].prefix,
"--with-python-install-dir=%s" % site_packages_dir]
python_args = [
'--with-python={0}'.format(spec['python'].prefix),
'--with-python-install-dir={0}'.format(site_packages_dir)
]
else:
python_args = ["--without-python"]
python_args = ['--without-python']
configure("--prefix=%s" % prefix,
*python_args)
configure('--prefix={0}'.format(prefix), *python_args)
make()
make("install")
if self.run_tests:
make('check')
make('install')

View File

@@ -27,14 +27,14 @@
class Lmod(Package):
"""
Lmod is a Lua based module system that easily handles the MODULEPATH
"""Lmod is a Lua based module system that easily handles the MODULEPATH
Hierarchical problem. Environment Modules provide a convenient way to
dynamically change the users' environment through modulefiles. This
includes easily adding or removing directories to the PATH environment
variable. Modulefiles for Library packages provide environment variables
that specify where the library and header files can be found.
"""
homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod'
url = 'https://github.com/TACC/Lmod/archive/6.4.1.tar.gz'

View File

@@ -0,0 +1,60 @@
--- old/Makefile.spack
+++ new/Makefile.spack
@@ -0,0 +1,57 @@
+# Set PREFIX to the install location for both building and installing
+# Set BOOST_PREFIX to the location where BOOST is installed
+# Set GMP_PREFIX to the location where GMP is installed
+
+all: liblrsgmp.la \
+ 2nash fourier lrs lrs1 lrsnash redund redund1 setnash setnash2
+
+liblrsgmp.la: lrslib-GMP.lo lrsgmp-GMP.lo
+ libtool --mode=link --tag=CC cc -g -O3 \
+ -rpath $(PREFIX)/lib -o $@ $^ \
+ -L$(GMP_PREFIX)/lib -lgmp
+
+lrs1: lrs-LONG.lo lrslib-LONG.lo lrslong-LONG.lo
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+redund1: redund-LONG.lo lrslib-LONG.lo lrslong-LONG.lo
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+lrs: lrs-GMP.lo lrslib-GMP.lo lrsmp-GMP.lo liblrsgmp.la
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+redund: redund-GMP.lo lrslib-GMP.lo lrsmp-GMP.lo liblrsgmp.la
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+fourier: fourier-GMP.lo lrslib-GMP.lo lrsgmp-GMP.lo liblrsgmp.la
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+lrsnash: lrsnash-GMP.lo lrsnashlib-GMP.lo lrslib-GMP.lo lrsmp-GMP.lo \
+ liblrsgmp.la
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+2nash: 2nash.lo
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+setnash: setupnash.lo lrslib.lo lrsmp.lo
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+setnash2: setupnash2.lo lrslib.lo lrsmp.lo
+ libtool --mode=link --tag=CC cc -g -O3 -o $@ $^
+
+%.lo: %.c
+ libtool --mode=compile --tag=CC cc -g -O3 -o $@ -c $*.c
+%-GMP.lo: %.c
+ libtool --mode=compile --tag=CC cc -g -O3 -o $@ -DGMP -c $*.c
+%-LONG.lo: %.c
+ libtool --mode=compile --tag=CC cc -g -O3 -o $@ -DLRSLONG -c $*.c
+
+install:
+ mkdir -p $(PREFIX)/bin
+ mkdir -p $(PREFIX)/include
+ mkdir -p $(PREFIX)/lib
+ libtool --mode=install cp 2nash $(PREFIX)/bin/2nash
+ libtool --mode=install cp fourier $(PREFIX)/bin/fourier
+ libtool --mode=install cp lrs $(PREFIX)/bin/lrs
+ libtool --mode=install cp lrs1 $(PREFIX)/bin/lrs1
+ libtool --mode=install cp lrsnash $(PREFIX)/bin/lrsnash
+ libtool --mode=install cp redund $(PREFIX)/bin/redund
+ libtool --mode=install cp redund1 $(PREFIX)/bin/redund1
+ libtool --mode=install cp setnash $(PREFIX)/bin/setnash
+ libtool --mode=install cp setnash2 $(PREFIX)/bin/setnash2
+ libtool --mode=install cp lrsgmp.h $(PREFIX)/include/lrsgmp.h
+ libtool --mode=install cp lrslib.h $(PREFIX)/include/lrslib.h
+ libtool --mode=install cp liblrsgmp.la $(PREFIX)/lib/liblrsgmp.la
+
+.PHONY: all install

View File

@@ -0,0 +1,61 @@
##############################################################################
# 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 Lrslib(Package):
"""lrslib Ver 6.2 is a self-contained ANSI C implementation of the
reverse search algorithm for vertex enumeration/convex hull
problems and comes with a choice of three arithmetic packages"""
homepage = "http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-062.tar.gz"
def url_for_version(self, version):
return ("http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-%s.tar.gz" %
('0' + str(version).replace('.', '')))
version('6.2', 'be5da7b3b90cc2be628dcade90c5d1b9')
version('6.1', '0b3687c8693cd7d1f234a3f65e147551')
version('6.0', 'd600a2e62969ad03f7ab2f85f1b3709c')
version('5.1', 'cca323eee8bf76f598a13d7bf67cc13d')
version('4.3', '86dd9a45d20a3a0069f77e61be5b46ad')
# Note: lrslib can also be built with Boost, and probably without gmp
# depends_on("boost")
depends_on("gmp")
depends_on("libtool", type="build")
patch("Makefile.spack.patch")
def install(self, spec, prefix):
# The Makefile isn't portable; use our own instead
makeargs = ["-f", "Makefile.spack",
"PREFIX=%s" % prefix,
# "BOOST_PREFIX=%s" % spec["boost"].prefix,
"GMP_PREFIX=%s" % spec["gmp"].prefix]
make(*makeargs)
make("install", *makeargs)

View File

@@ -26,8 +26,7 @@
class LuaLuafilesystem(Package):
"""
LuaFileSystem is a Lua library developed to complement the set of
"""LuaFileSystem is a Lua library developed to complement the set of
functions related to file systems offered by the standard Lua distribution.
LuaFileSystem offers a portable way to access the underlying directory
@@ -35,6 +34,7 @@ class LuaLuafilesystem(Package):
LuaFileSystem is free software and uses the same license as Lua 5.1
"""
homepage = 'http://keplerproject.github.io/luafilesystem'
url = 'https://github.com/keplerproject/luafilesystem/archive/v_1_6_3.tar.gz'

View File

@@ -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 Lz4(Package):
"""LZ4 is lossless compression algorithm, providing compression speed
at 400 MB/s per core, scalable with multi-cores CPU. It also features
an extremely fast decoder, with speed in multiple GB/s per core,
typically reaching RAM speed limits on multi-core systems."""
homepage = "http://cyan4973.github.io/lz4/"
url = "https://github.com/Cyan4973/lz4/archive/r131.tar.gz"
version('131', '42b09fab42331da9d3fb33bd5c560de9')
# depends_on('valgrind', type='test')
def install(self, spec, prefix):
make()
if self.run_tests:
make('test') # requires valgrind to be installed
make('install', 'PREFIX={0}'.format(prefix))

View File

@@ -0,0 +1,49 @@
##############################################################################
# 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 Lzma(Package):
"""LZMA Utils are legacy data compression software with high compression
ratio. LZMA Utils are no longer developed, although critical bugs may be
fixed as long as fixing them doesn't require huge changes to the code.
Users of LZMA Utils should move to XZ Utils. XZ Utils support the legacy
.lzma format used by LZMA Utils, and can also emulate the command line
tools of LZMA Utils. This should make transition from LZMA Utils to XZ
Utils relatively easy."""
homepage = "http://tukaani.org/lzma/"
url = "http://tukaani.org/lzma/lzma-4.32.7.tar.gz"
version('4.32.7', '2a748b77a2f8c3cbc322dbd0b4c9d06a')
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))
make()
if self.run_tests:
make('check') # one of the tests fails for me
make('install')

View File

@@ -29,7 +29,7 @@ class Lzo(AutotoolsPackage):
"""Real-time data compression library"""
homepage = 'https://www.oberhumer.com/opensource/lzo/'
url = 'https://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz'
url = 'http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz'
version('2.09', 'c7ffc9a103afe2d1bba0b015e7aa887f')
version('2.08', 'fcec64c26a0f4f4901468f360029678f')

View File

@@ -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 Mercurial(Package):
"""Mercurial is a free, distributed source control management tool."""
homepage = "https://www.mercurial-scm.org"
url = "https://www.mercurial-scm.org/release/mercurial-3.9.tar.gz"
version('3.9' , 'e2b355da744e94747daae3a5339d28a0')
version('3.8.4', 'cec2c3db688cb87142809089c6ae13e9')
version('3.8.3', '97aced7018614eeccc9621a3dea35fda')
version('3.8.2', 'c38daa0cbe264fc621dc3bb05933b0b3')
version('3.8.1', '172a8c588adca12308c2aca16608d7f4')
depends_on("python @2.6:2.7.999")
depends_on("py-docutils", type="build")
def install(self, spec, prefix):
make('PREFIX=%s' % prefix, 'install')

View File

@@ -66,6 +66,10 @@ def setup_dependent_package(self, module, dep_spec):
self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++')
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
self.spec.mpicxx_shared_libs = [
join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
]
def install(self, spec, prefix):
config_args = ["--prefix=" + prefix,

View File

@@ -28,12 +28,14 @@
class Mvapich2(Package):
"""MVAPICH2 is an MPI implementation for Infiniband networks."""
homepage = "http://mvapich.cse.ohio-state.edu/"
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2b.tar.gz"
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2rc2.tar.gz"
version('2.2b', '5651e8b7a72d7c77ca68da48f3a5d108')
version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2')
version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
version('1.9', '5dc58ed08fd3142c260b70fe297e127c')
version('2.2rc2', 'f9082ffc3b853ad1b908cf7f169aa878')
version('2.2b', '5651e8b7a72d7c77ca68da48f3a5d108')
version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2')
version('2.1', '0095ceecb19bbb7fb262131cb9c2cdd6')
version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
version('1.9', '5dc58ed08fd3142c260b70fe297e127c')
patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
@@ -225,6 +227,10 @@ def setup_dependent_package(self, module, dep_spec):
self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx')
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
self.spec.mpicxx_shared_libs = [
join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)),
join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix))
]
def install(self, spec, prefix):
# we'll set different configure flags depending on our

View File

@@ -26,10 +26,9 @@
class Mxml(Package):
"""
Mini-XML is a small XML library that you can use to read and write XML
"""Mini-XML is a small XML library that you can use to read and write XML
and XML-like data files in your application without requiring large
non-standard libraries
non-standard libraries.
"""
homepage = "http://www.msweet.org"

View File

@@ -0,0 +1,40 @@
##############################################################################
# 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 Nano(Package):
"""Tiny little text editor"""
homepage = "http://www.nano-editor.org"
url = "https://www.nano-editor.org/dist/v2.6/nano-2.6.3.tar.gz"
version('2.6.3', '1213c7f17916e65afefc95054c1f90f9')
version('2.6.2', '58568a4b8a33841d774c25f285fc11c1')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()
make('install')

View File

@@ -0,0 +1,89 @@
##############################################################################
# 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
##############################################################################
import shutil
from spack import *
class Nauty(Package):
"""nauty and Traces are programs for computing automorphism groups of
graphsq and digraphs"""
homepage = "http://pallini.di.uniroma1.it/index.html"
url = "http://pallini.di.uniroma1.it/nauty26r7.tar.gz"
def url_for_version(self, version):
return ("http://pallini.di.uniroma1.it/nauty%s.tar.gz" %
str(version).replace('.', ''))
version('2.6r7', 'b2b18e03ea7698db3fbe06c5d76ad8fe')
version('2.6r5', '91b03a7b069962e94fc9aac8831ce8d2')
version('2.5r9', 'e8ecd08b0892a1fb13329c147f08de6d')
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
make()
exes = [
"NRswitchg",
"addedgeg",
"amtog",
"biplabg",
"catg",
"complg",
"converseg",
"copyg",
"countg",
"cubhamg",
"deledgeg",
"delptg",
"directg",
"dreadnaut",
"dretodot",
"dretog",
"genbg",
"genbgL",
"geng",
"genquarticg",
"genrang",
"genspecialg",
"gentourng",
"gentreeg",
"hamheuristic",
"labelg",
"linegraphg",
"listg",
"multig",
"newedgeg",
"pickg",
"planarg",
"ranlabg",
"shortg",
"subdivideg",
"twohamg",
"vcolg",
"watercluster2"]
mkdirp(prefix.bin)
for exe in exes:
shutil.copyfile(exe, join_path(prefix.bin, exe))

View File

@@ -26,8 +26,7 @@
class Ncdu(Package):
"""
Ncdu is a disk usage analyzer with an ncurses interface. It is designed
"""Ncdu is a disk usage analyzer with an ncurses interface. It is designed
to find space hogs on a remote server where you don't have an entire
gaphical setup available, but it is a useful tool even on regular desktop
systems. Ncdu aims to be fast, simple and easy to use, and should be able

View File

@@ -36,8 +36,11 @@ class Nco(Package):
# See "Compilation Requirements" at:
# http://nco.sourceforge.net/#bld
variant('mpi', default=True)
depends_on('netcdf')
depends_on('netcdf+mpi', when='+mpi')
depends_on('netcdf~mpi', when='~mpi')
depends_on('antlr@2.7.7+cxx') # (required for ncap2)
depends_on('gsl') # (desirable for ncap2)
depends_on('udunits2') # (allows dimensional unit transformations)

View File

@@ -29,14 +29,18 @@ class Nettle(Package):
"""The Nettle package contains the low-level cryptographic library
that is designed to fit easily in many contexts."""
homepage = "http://www.example.com"
homepage = "https://www.lysator.liu.se/~nisse/nettle/"
url = "http://ftp.gnu.org/gnu/nettle/nettle-2.7.1.tar.gz"
version('3.2', 'afb15b4764ebf1b4e6d06c62bd4d29e4')
version('2.7', '2caa1bd667c35db71becb93c5d89737f')
depends_on('gmp')
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
configure('--prefix={0}'.format(prefix))
make()
make("install")
if self.run_tests:
make('check')
make('install')

View File

@@ -0,0 +1,46 @@
Index: src/config/makefile.h
===================================================================
--- src/config/makefile.h (revision 27729)
+++ src/config/makefile.h (revision 27844)
@@ -2257,11 +2258,7 @@
DEFINES += -DFDIST
endif
-_TOOLS_BUILD= $(shell [ -e ${NWCHEM_TOP}/src/tools/build/config.h ] && cat ${NWCHEM_TOP}/src/tools/build/config.h | awk ' /HAVE_SQRT/ {print "Y"}')
-
-ifeq ($(_TOOLS_BUILD),Y)
_USE_SCALAPACK = $(shell cat ${NWCHEM_TOP}/src/tools/build/config.h | awk ' /HAVE_SCALAPACK\ 1/ {print "Y"}')
-endif
ifeq ($(_USE_SCALAPACK),Y)
DEFINES += -DSCALAPACK
@@ -2286,8 +2283,8 @@
-brename:.pdgetrf_,.pdgetrf \
-brename:.pdgetrs_,.pdgetrs
endif
- CORE_LIBS += $(ELPA) $(SCALAPACK) $(PBLAS) $(BLACS)
endif
+ CORE_LIBS += $(ELPA) $(SCALAPACK)
ifdef USE_64TO32
CORE_LIBS += -l64to32
@@ -2436,18 +2433,11 @@
DEFINES += -DUSE_F90_ALLOCATABLE
endif
-ifeq ($(_TOOLS_BUILD),Y)
# lower level libs used by communication libraries
COMM_LIBS= $(shell grep ARMCI_NETWORK_LIBS\ = ${NWCHEM_TOP}/src/tools/build/Makefile | cut -b 22-)
COMM_LIBS += $(shell grep ARMCI_NETWORK_LDFLAGS\ = ${NWCHEM_TOP}/src/tools/build/Makefile | cut -b 24-)
#comex bit
-HAVE_COMEX = $(shell [ -e ${NWCHEM_TOP}/src/tools/build/comex/config.h ] && cat ${NWCHEM_TOP}/src/tools/build/comex/config.h| grep COMEX_NETWORK| awk ' / 1/ {print "Y"}')
-ifeq ($(HAVE_COMEX),Y)
-COMM_LIBS += $(shell grep LIBS\ = ${NWCHEM_TOP}/src/tools/build/comex/Makefile|grep -v _LIBS| cut -b 8-)
-#we often need pthread, let's add it
-COMM_LIBS += -lpthread
-endif
-endif
+COMM_LIBS += $(shell [ -e ${NWCHEM_TOP}/src/tools/build/comex/config.h ] && grep LIBS\ = ${NWCHEM_TOP}/src/tools/build/comex/Makefile|grep -v _LIBS| cut -b 8-) -lpthread
ifdef COMM_LIBS
CORE_LIBS += $(COMM_LIBS)
endif

View File

@@ -0,0 +1,40 @@
Index: src/config/makefile.h
===================================================================
--- src/config/makefile.h (revision 28470)
+++ src/config/makefile.h (revision 28471)
@@ -910,6 +910,7 @@
GNUMINOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | egrep __VERS | cut -c24)
GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true)
GNU_GE_4_8 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 8 \) ] && echo true)
+ GNU_GE_6 = $(shell [ $(GNUMAJOR) -ge 6 ] && echo true)
endif
ifeq ($(GNU_GE_4_6),true)
DEFINES += -DGCC46
@@ -921,6 +922,9 @@
FOPTIONS += -Warray-bounds
endif
+ ifeq ($(GNU_GE_6),true)
+ FOPTIMIZE += -fno-tree-dominator-opts # solvation/hnd_cosmo_lib breaks
+ endif
ifdef USE_OPENMP
FOPTIONS += -fopenmp
LDOPTIONS += -fopenmp
@@ -1067,6 +1071,7 @@
GNUMINOR=$(shell $(FC) -dM -E - < /dev/null 2> /dev/null | egrep __VERS | cut -c24)
GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true)
GNU_GE_4_8 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 8 \) ] && echo true)
+ GNU_GE_6 = $(shell [ $(GNUMAJOR) -ge 6 ] && echo true)
ifeq ($(GNU_GE_4_6),true)
DEFINES += -DGCC46
endif
@@ -1076,6 +1081,9 @@
#gone FFLAGS_FORGA += -fno-aggressive-loop-optimizations
FOPTIONS += -Warray-bounds
endif # GNU_GE_4_8
+ ifeq ($(GNU_GE_6),true)
+ FOPTIMIZE += -fno-tree-dominator-opts # solvation/hnd_cosmo_lib breaks
+ endif
endif # GNUMAJOR
ifdef USE_OPENMP

View File

@@ -0,0 +1,21 @@
--- src/config/makefile.h.orig 2016-07-22 08:45:52.100229544 -0700
+++ src/config/makefile.h 2016-07-22 08:49:00.321422169 -0700
@@ -1565,6 +1565,7 @@
GNU_GE_4_6 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 6 \) ] && echo true)
GNU_GE_4_8 = $(shell [ $(GNUMAJOR) -gt 4 -o \( $(GNUMAJOR) -eq 4 -a $(GNUMINOR) -ge 8 \) ] && echo true)
endif
+ GNU_GE_6 = $(shell [ $(GNUMAJOR) -ge 6 ] && echo true)
ifeq ($(GNU_GE_4_6),true)
DEFINES += -DGCC46
endif
@@ -1942,6 +1943,10 @@
FOPTIMIZE += -O3
FOPTIMIZE += -mfpmath=sse -ffast-math
FOPTIMIZE += -fprefetch-loop-arrays #-ftree-loop-linear
+ ifeq ($(GNU_GE_6),true)
+ FOPTIMIZE += -fno-tree-dominator-opts # solvation/hnd_cosmo_lib breaks
+ endif
+
ifeq ($(GNU_GE_4_8),true)
FOPTIMIZE += -ftree-vectorize -fopt-info-vec
endif

View File

@@ -0,0 +1,15 @@
Index: src/util/util_getppn.c
===================================================================
--- src/util/util_getppn.c (revision 27443)
+++ src/util/util_getppn.c (working copy)
@@ -32,7 +33,9 @@
void FATR util_getppn_(Integer *ppn_out){
#if defined(__bgq__)
- *ppn_out = Kernel_ProcessCount();
+ *ppn_out = (Integer) Kernel_ProcessCount();
+ return;
+ if(0) {
#elif MPI_VERSION >= 3
int err;

View File

@@ -0,0 +1,21 @@
Index: src/util/GNUmakefile
===================================================================
--- src/util/GNUmakefile (revision 27774)
+++ src/util/GNUmakefile (revision 27782)
@@ -234,7 +234,7 @@
USES_BLAS = util.fh ga_it_lsolve.F ga_maxelt.F ga_mix.F ga_iter_diag.F \
ga_orthog.F dabsmax.F ga_normf.F corr_mk_ref.F ga_it2.F ga_lkain_ext.F util_file_name.F dgefa.f util_patch_test.F stpr_sjacobi.F util_dgeev.F \
- util_test_cholesky.F
+ util_test_cholesky.F dfill.f ga_lkain_2cpl3_ext.F ga_it2.F
ifdef SPEECH
LIB_DEFINES += -DSPEECH
@@ -254,6 +254,7 @@
ifeq ($(TARGET),$(findstring $(TARGET),BGL BGP BGQ))
DEFINES += -DNEED_LOC
LIB_DEFINES += -DNO_UTIL_TESTS
+LIB_DEFINES += -I/bgsys/drivers/ppcfloor/firmware/include -I/bgsys/drivers/ppcfloor/spi/include/kernel
endif
ifdef SLURM

View File

@@ -0,0 +1,26 @@
Index: src/nwdft/scf_dft/dft_scf.F
===================================================================
--- src/nwdft/scf_dft/dft_scf.F (revision 28116)
+++ src/nwdft/scf_dft/dft_scf.F (revision 28117)
@@ -1884,6 +1884,13 @@
if (abs(Edisp).gt.0.0d0) then
write(LuOut,224)Edisp
endif
+ if (cosmo_on.and.cosmo_phase.eq.2) then
+ if (do_cosmo_smd) then
+ write(LuOut,225) ecosmo+gcds
+ else
+ write(LuOut,225) ecosmo
+ end if
+ endif
if (do_zora) write(luout,2221) ener_scal
write(luout,2222) rho_n
write(luout,2223) dft_time
@@ -2457,6 +2464,7 @@
& ' Correlation energy =', f22.12/
& ' Nuclear repulsion energy =', f22.12/)
224 format(' Dispersion correction =', f22.12/)
+ 225 format(' COSMO energy =', f22.12/)
c
2221 format(' Scaling correction =', f22.12/)
2222 format(' Numeric. integr. density =', f22.12/)

View File

@@ -0,0 +1,172 @@
Index: src/solvation/hnd_cosmo_lib.F
===================================================================
--- src/solvation/hnd_cosmo_lib.F (revision 27880)
+++ src/solvation/hnd_cosmo_lib.F (revision 27881)
@@ -92,26 +92,32 @@
c & i_init,init))
c & call errquit('hnd_cosset, malloc of init failed',911,MA_ERR)
c
- stat = .true.
- stat = stat.and.ma_push_get(mt_dbl,3*nat,"xyzatm",l_i10,i10)
- stat = stat.and.ma_push_get(mt_dbl, nat,"ratm",l_i20,i20)
- stat = stat.and.ma_push_get(mt_int, nat,"nspa",l_i30,i30)
- stat = stat.and.ma_push_get(mt_int, nat,"nppa",l_i40,i40)
- stat = stat.and.ma_push_get(mt_int,3*mxface,"ijkfac",l_i50,i50)
- stat = stat.and.ma_push_get(mt_dbl,3*mxface,"xyzseg",l_i60,i60)
- stat = stat.and.ma_push_get(mt_int, mxface,"ijkseg",l_i70,i70)
- stat = stat.and.ma_push_get(mt_log, mxface*nat,"insseg",
- & l_i80,i80)
- stat = stat.and.ma_push_get(mt_dbl,3*mxface*nat,"xyzspa",
- & l_i90,i90)
- stat = stat.and.ma_push_get(mt_int, mxface*nat,"ijkspa",
- & l_i100,i100)
- stat = stat.and.ma_push_get(mt_int, mxface*nat,"numpps",
- & l_i110,i110)
- stat = stat.and.ma_push_get(mt_dbl,3*mxapex ,"apex",
- & l_i120,i120)
- stat = stat.and.ma_push_get(mt_dbl, mxface*nat,"xyzff",
- & l_i130,i130)
+ if(.not.ma_push_get(mt_dbl,3*nat,"xyzatm",l_i10,i10))
+ c call errquit('hndcosset: not enuf mem',0,MA_ERR)
+ if(.not.ma_push_get(mt_dbl, nat,"ratm",l_i20,i20))
+ c call errquit('hndcosset: not enuf mem',1,MA_ERR)
+ if(.not.ma_push_get(mt_int, nat,"nspa",l_i30,i30))
+ c call errquit('hndcosset: not enuf mem',2,MA_ERR)
+ if(.not.ma_push_get(mt_int, nat,"nppa",l_i40,i40))
+ c call errquit('hndcosset: not enuf mem',3,MA_ERR)
+ if(.not.ma_push_get(mt_int,3*mxface,"ijkfac",l_i50,i50))
+ c call errquit('hndcosset: not enuf mem',4,MA_ERR)
+ if(.not.ma_push_get(mt_dbl,3*mxface,"xyzseg",l_i60,i60))
+ c call errquit('hndcosset: not enuf mem',5,MA_ERR)
+ if(.not.ma_push_get(mt_int, mxface,"ijkseg",l_i70,i70))
+ c call errquit('hndcosset: not enuf mem',6,MA_ERR)
+ if(.not.ma_push_get(mt_log, mxface*nat,"insseg",l_i80,i80))
+ c call errquit('hndcosset: not enuf mem',7,MA_ERR)
+ if(.not.ma_push_get(mt_dbl,3*mxface*nat,"xyzspa",l_i90,i90))
+ c call errquit('hndcosset: not enuf mem',8,MA_ERR)
+ if(.not.ma_push_get(mt_int, mxface*nat,"ijkspa",l_i100,i100))
+ c call errquit('hndcosset: not enuf mem',9,MA_ERR)
+ if(.not.ma_push_get(mt_int, mxface*nat,"numpps",l_i110,i110))
+ c call errquit('hndcosset: not enuf mem',10,MA_ERR)
+ if(.not.ma_push_get(mt_dbl,3*mxapex ,"apex",l_i120,i120))
+ c call errquit('hndcosset: not enuf mem',11,MA_ERR)
+ if(.not.ma_push_get(mt_dbl, mxface*nat,"xyzff",l_i130,i130))
+ c call errquit('hndcosset: not enuf mem',12,MA_ERR)
c i10 =init ! xyzatm(3,nat)
c i20 =i10 +3*nat ! ratm( nat)
c i30 =i20 + nat ! nspa( nat)
@@ -129,9 +135,10 @@
c
call hnd_cossrf(nat,c,radius,nat,mxface,mxapex,
1 dbl_mb(i10),dbl_mb(i20),int_mb(i30),int_mb(i40),
- 2 int_mb(i50),dbl_mb(i60),int_mb(i70),
- 3 log_mb(i80),dbl_mb(i90),int_mb(i100),int_mb(i110),
+ 2 int_mb(i50),dbl_mb(i60),int_mb(i70),log_mb(i80),
+ 3 dbl_mb(i90),int_mb(i100),int_mb(i110),
4 dbl_mb(i120),dbl_mb(i130),rtdb)
+
c
c ----- release memory block -----
c
@@ -157,7 +164,7 @@
#include "global.fh"
#include "stdio.fh"
#include "cosmoP.fh"
-c
+#include "mafdecls.fh"
integer rtdb, nat
integer mxatm
integer mxfac
@@ -261,6 +268,7 @@
c
c ----- create -solvent accessible surface- of the molecule -----
c
+
call hnd_cossas(nat,xyzatm,ratm,mxatm,
1 nspa,nppa,xyzspa,ijkspa,
2 nseg,nfac,xyzseg,ijkseg,insseg,
@@ -366,6 +374,7 @@
#include "stdio.fh"
#include "bq.fh"
#include "prop.fh"
+cnew
#include "cosmoP.fh"
c
integer rtdb !< [Input] The RTDB handle
@@ -410,7 +419,6 @@
integer numpps( mxface,mxatom)
double precision xyzff( mxface,mxatom)
double precision zero, one
- data zero /0.0d+00/
data one /1.0d+00/
integer l_efcc, k_efcc, l_efcs, k_efcs, l_efcz, k_efcz
integer l_efclb, k_efclb, k_efciat, l_efciat
@@ -464,7 +472,7 @@
do i=1,mxface
ijkspa(i,iat)=0
numpps(i,iat)=0
- xyzff(i,iat)=zero
+ xyzff(i,iat)=0d0
enddo
enddo
c
@@ -473,7 +481,7 @@
c
do iat=1,nat
c
- if(ratm(iat).ne.zero) then
+ if(ratm(iat).ne.0d0) then
do iseg=1,nseg
ijkspa(iseg,iat)=ijkseg(iseg)
xyzff(iseg,iat)=one
@@ -515,7 +523,7 @@
enddo
endif
else if (do_cosmo_model.eq.DO_COSMO_YK) then
- if((jat.ne.iat).and.(ratm(jat).ne.zero)
+ if((jat.ne.iat).and.(ratm(jat).ne.0d0)
1 .and.(dij.lt.(ratm(iat)+rout(jat)))) then
do iseg=1,nseg
dum=dist(xyzspa(1,iseg,iat),
@@ -615,7 +623,7 @@
c
nefc = 0
do iat=1,nat
- if(ratm(iat).ne.zero) then
+ if(ratm(iat).ne.0d0) then
do iseg=1,nseg
if(.not.insseg(iseg,iat)) nefc = nefc+1
enddo
@@ -639,11 +647,11 @@
c save segment surfaces
c save segment to atom mapping
c
- srfmol=zero
- volmol=zero
+ srfmol=0d0
+ volmol=0d0
ief =0
do iat=1,nat
- if(ratm(iat).ne.zero) then
+ if(ratm(iat).ne.0d0) then
if (do_cosmo_model.eq.DO_COSMO_KS) then
ratm_real=ratm(iat)-rsolv/bohr
else if (do_cosmo_model.eq.DO_COSMO_YK) then
@@ -720,7 +728,7 @@
endif
c
do ief=1,nefc
- dbl_mb(k_efcz+ief-1)=zero
+ dbl_mb(k_efcz+ief-1)=0d0
enddo
do ief=1,nefc
byte_mb(k_efclb+(ief-1)*8)=' '
@@ -877,6 +885,8 @@
implicit double precision (a-h,o-z)
#include "global.fh"
#include "stdio.fh"
+cnew
+#include "cosmoP.fh"
c
c ----- starting from -icosahedron- -----
c

View File

@@ -0,0 +1,45 @@
Index: src/dplot/dplot_input.F
===================================================================
--- src/dplot/dplot_input.F (revision 27986)
+++ src/dplot/dplot_input.F (revision 27987)
@@ -63,6 +63,7 @@
iroot = 1
ltransden = .true.
ldiffden = .false.
+ tol_rho = 1d-40
c
c try to get a scf movecs
c
@@ -263,10 +264,10 @@
goto 10
c
1998 continue
- tol_rho = 1d-15
If (.not. inp_f(tol_rho))
& Call ErrQuit('DPlot_Input: failed to read tol_rho',0,
& INPUT_ERR)
+ tol_rho=max(1d-99,tol_rho)
goto 10
c
1999 continue
Index: src/dplot/dplot_dump.F
===================================================================
--- src/dplot/dplot_dump.F (revision 27986)
+++ src/dplot/dplot_dump.F (revision 27987)
@@ -90,7 +90,7 @@
. No_Of_Spacings(3))
99498 format(6E13.5)
enddo
- else
+ else
Do i = 1, nGrid
Write(Out_Unit,'(f15.10)')values(i)
End Do
@@ -107,6 +107,7 @@
End Do
AppCh = Sum*Volume
Write(LuOut,*)
+ Write(LuOut,'(a,e30.5)')' Tol_rho = ',tol_rho
Write(LuOut,'(a,f30.5)')' Sum of elements = ',sum
Write(LuOut,'(a,f30.5)')' Integration volume = ',volume
Write(LuOut,'(a,f30.5)')' Integrated Charge = ',AppCh

View File

@@ -0,0 +1,13 @@
Index: src/driver/opt_drv.F
===================================================================
--- src/driver/opt_drv.F (revision 28005)
+++ src/driver/opt_drv.F (revision 28006)
@@ -1641,7 +1641,7 @@
double precision lattice(6), scaler(3) ! periodic scaling
double precision dum1,dum2,dum3
double precision smalleig
- parameter (smalleig = 1.0d-4)
+ parameter (smalleig = 1.0d-8)
logical geom_print_zmatrix
external geom_print_zmatrix
logical ophigh

View File

@@ -0,0 +1,24 @@
Index: src/tools/ga-5-4/gaf2c/gaf2c.c
===================================================================
--- src/tools/ga-5-4/gaf2c/gaf2c.c (revision 10630)
+++ src/tools/ga-5-4/gaf2c/gaf2c.c (revision 10631)
@@ -106,6 +106,7 @@
}
*argc = iargc;
*argv = iargv;
+ iargv[iargc] = 0;
}
Index: src/tools/ga-5-4/tcgmsg/fapi.c
===================================================================
--- src/tools/ga-5-4/tcgmsg/fapi.c (revision 10630)
+++ src/tools/ga-5-4/tcgmsg/fapi.c (revision 10631)
@@ -197,6 +197,7 @@
argv[i] = strdup(arg);
}
+ argv[argc] = 0;
tcgi_pbegin(argc, argv);
free(argv);
}

View File

@@ -0,0 +1,25 @@
Index: src/util/util_mpinap.c
===================================================================
--- src/util/util_mpinap.c (revision 28079)
+++ src/util/util_mpinap.c (revision 28083)
@@ -17,7 +17,7 @@
#ifdef MPI
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
#else
- myid=ga_nodeid_();
+ myid=GA_Nodeid();
#endif
sleeptime=(myid+1)/((long) *factor);
#ifdef DEBUG
Index: src/util/util_getppn.c
===================================================================
--- src/util/util_getppn.c (revision 28079)
+++ src/util/util_getppn.c (revision 28083)
@@ -8,6 +8,7 @@
#include <unistd.h>
#include <mpi.h>
#include "ga.h"
+#include "ga-mpi.h"
#include "typesf2c.h"
#if defined(__bgq__)

View File

@@ -0,0 +1,162 @@
##############################################################################
# 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 os
class Nwchem(Package):
"""High-performance computational chemistry software"""
homepage = "http://www.nwchem-sw.org"
url = "http://www.nwchem-sw.org/images/Nwchem-6.6.revision27746-src.2015-10-20.tar.gz"
version('6.6', 'c581001c004ea5e5dfacb783385825e3',
url='http://www.nwchem-sw.org/images/Nwchem-6.6.revision27746-src.2015-10-20.tar.gz')
depends_on('blas')
depends_on('lapack')
depends_on('mpi')
depends_on('scalapack')
depends_on('python@2.7:2.8', type=nolink)
# patches for 6.6-27746:
# TODO: add support for achived patches, i.e.
# http://www.nwchem-sw.org/images/Tddft_mxvec20.patch.gz
patch('Config_libs66.patch', when='@6.6', level=0)
patch('Gcc6_optfix.patch', when='@6.6', level=0)
patch('Util_gnumakefile.patch', when='@6.6', level=0)
patch('cosmo_dftprint.patch', when='@6.6', level=0)
patch('cosmo_meminit.patch', when='@6.6', level=0)
patch('dplot_tolrho.patch', when='@6.6', level=0)
patch('driver_smalleig.patch', when='@6.6', level=0)
patch('ga_argv.patch', when='@6.6', level=0)
patch('ga_defs.patch', when='@6.6', level=0)
patch('raman_displ.patch', when='@6.6', level=0)
patch('sym_abelian.patch', when='@6.6', level=0)
patch('tddft_mxvec20.patch', when='@6.6', level=0)
patch('tools_lib64.patch', when='@6.6', level=0)
patch('txs_gcc6.patch', when='@6.6', level=0)
patch('Util_getppn.patch', when='@6.6', level=0)
patch('xccvs98.patch', when='@6.6', level=0)
patch('zgesdv.patch', when='@6.6', level=0)
patch('Gcc6_macs_optfix.patch', when='@6.6', level=0)
def install(self, spec, prefix):
# see http://www.nwchem-sw.org/index.php/Compiling_NWChem
args = []
args.extend([
'NWCHEM_TOP=%s' % self.stage.source_path,
# NWCHEM is picky about FC and CC. They should NOT be full path.
# see http://www.nwchem-sw.org/index.php/Special:AWCforum/sp/id7524
'CC=%s' % os.path.basename(spack_cc),
'FC=%s' % os.path.basename(spack_fc),
'USE_MPI=y',
'MPI_LOC=%s' % spec['mpi'].prefix,
'USE_PYTHONCONFIG=y',
'PYTHONVERSION=%s' % spec['python'].version.up_to(2),
'PYTHONHOME=%s' % spec['python'].prefix,
'BLASOPT=%s %s' % (
to_link_flags(spec['lapack'].lapack_shared_lib),
to_link_flags(spec['blas'].blas_shared_lib)),
'BLAS_LIB=%s' % to_link_flags(spec['blas'].blas_shared_lib),
'LAPACK_LIB=%s' % to_link_flags(spec['lapack'].lapack_shared_lib),
'USE_SCALAPACK=y',
'SCALAPACK=%s' % spec['scalapack'].fc_link,
'NWCHEM_MODULES=all python',
'NWCHEM_LONG_PATHS=Y' # by default NWCHEM_TOP is 64 char max
])
# TODO: query if blas/lapack/scalapack uses 64bit Ints
# A flag to distinguish between 32bit and 64bit integers in linear
# algebra (Blas, Lapack, Scalapack)
use32bitLinAlg = True
if use32bitLinAlg:
args.extend([
'USE_64TO32=y',
'BLAS_SIZE=4',
'LAPACK_SIZE=4',
'SCALAPACK_SIZE=4'
])
else:
args.extend([
'BLAS_SIZE=8',
'LAPACK_SIZE=8'
'SCALAPACK_SIZE=8'
])
if sys.platform == 'darwin':
target = 'MACX64'
args.extend([
'CFLAGS_FORGA=-DMPICH_NO_ATTR_TYPE_TAGS'
])
else:
target = 'LINUX64'
args.extend(['NWCHEM_TARGET=%s' % target])
with working_dir('src'):
make('nwchem_config', *args)
if use32bitLinAlg:
make('64_to_32', *args)
make(*args)
# need to install by hand. Follow Ubuntu:
# http://packages.ubuntu.com/trusty/all/nwchem-data/filelist
# http://packages.ubuntu.com/trusty/amd64/nwchem/filelist
share_path = join_path(prefix, 'share', 'nwchem')
mkdirp(prefix.bin)
install_tree('data', share_path)
install_tree(join_path('basis', 'libraries'),
join_path(share_path, 'libraries'))
install_tree(join_path('nwpw', 'libraryps'),
join_path(share_path, 'libraryps'))
b_path = join_path(self.stage.source_path, 'bin',
target, 'nwchem')
chmod = which('chmod')
chmod('+x', b_path)
install(b_path, prefix.bin)
# Finally, make user's life easier by creating a .nwchemrc file
# to point to the required data files.
nwchemrc = """\
nwchem_basis_library {data}/libraries/
nwchem_nwpw_library {data}/libraryps/
ffield amber
amber_1 {data}/amber_s/
amber_2 {data}/amber_q/
amber_3 {data}/amber_x/
amber_4 {data}/amber_u/
spce {data}/solvents/spce.rst
charmm_s {data}/charmm_s/
charmm_x {data}/charmm_x/
""".format(data=share_path)
with open(".nwchemrc", 'w') as f:
f.write(nwchemrc)
install(".nwchemrc", share_path)

View File

@@ -0,0 +1,311 @@
Index: src/property/raman_input.F
===================================================================
--- src/property/raman_input.F (revision 28032)
+++ src/property/raman_input.F (revision 28033)
@@ -47,6 +47,7 @@
c
c set some defaults
c
+ field=' '
plot = 'normal' ! normal or resonance
line = 'lorentzian' ! lorentzian (l) or gaussian (g) lineshape
width = 20.0D+00 ! full-width at half maximum (FWHM) in 1/cm
@@ -54,7 +55,6 @@
hyperraman = .false. ! flag to calculate hyperaman terms
vroa = .false. ! flag to calculate vibrational raman spec
rmmodes = 0
- first = 7
last = 10000
low = 0.0D+00
high = 100000.0D+00
@@ -132,9 +132,9 @@
else if(inp_compare(.false.,'first',test)) then
if(.not. inp_i(first))
$ call errquit(pname//'missing value for first',911, INPUT_ERR)
- if (.not. rtdb_put(rtdb,'raman:first',mt_int,1,first))
- $ call errquit(pname//'rtdb put failed',0, RTDB_ERR)
-c --- determine first normal mode to use ---
+c --- not setting default here, it will be set later after
+c frequency calculation has been done so we know if we have
+c a linear molecule or not
else if(inp_compare(.false.,'last',test)) then
if(.not. inp_i(last)) ! FA-06-16-12 bug-fixed (BEF: first AFT: last)
$ call errquit(pname//'missing value for last',911, INPUT_ERR)
Index: src/property/task_raman.F
===================================================================
--- src/property/task_raman.F (revision 28032)
+++ src/property/task_raman.F (revision 28033)
@@ -59,6 +59,7 @@
integer j,pos,first0 ! FA-06-15-12
logical preraman ! FA-06-18-12
+ logical linear
character*32 pname
@@ -107,6 +108,12 @@
$ call errquit(pname//'rtdb_put freq_done',911, RTDB_ERR)
endif
c
+c --------Figure out if molecule is linear------------
+
+c if vib module doesn't list molecule as linear, assume it is not
+ if (.not. rtdb_get(rtdb,'vib:linear',mt_log,1,linear))
+ $ linear=.false.
+c
c --------Create/load reference geometry to get the number of atoms------------
if (.not.geom_create(geom,'geometry')) call errquit
@@ -116,7 +123,11 @@
if (.not. geom_ncent(geom,nat))
& call errquit(pname//'geom_ncent failed?',3, GEOM_ERR)
nc = nat*3
- rmmodes = nc-6
+ if (linear) then
+ rmmodes = nc-5
+ else
+ rmmodes = nc-6
+ end if
c if (ga_nodeid().eq.0) then
c write(*,1) nat,nc,rmmodes
@@ -146,8 +157,13 @@
$ low = 0.0D+00 ! lowest wavenumber normal mode to use
if (.not. rtdb_get(rtdb,'raman:high',mt_dbl,1,high))
$ high = 100000.0D+00 ! Highest wavenumber normal mode to use
- if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first))
- $ first = 7 ! first normal mode to use
+ if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) then
+ if (linear) then
+ first = 6 ! first normal mode to use
+ else
+ first = 7 ! first normal mode to use
+ end if
+ end if
if (.not. rtdb_get(rtdb,'raman:last',mt_int,1,last))
$ last = 10000 ! last normal mode to use
if (.not. rtdb_get(rtdb,'raman:hyperraman',mt_log,1,hyperraman))
@@ -156,7 +172,11 @@
$ vroa = .false. ! # flag to calculate vibrational
if (.not. rtdb_get(rtdb,'raman:preraman',mt_log,1,preraman))
$ preraman = .false. ! # flag to do task_freq() and leave
- first0=7 ! constant
+ if (linear) then
+ first0=6 ! constant
+ else
+ first0=7 ! constant
+ end if
c ======== FA-debug =============== START
c if (ga_nodeid().eq.0) then
c write(*,2) plot,line,width,step_size,steps
@@ -172,8 +192,13 @@
rmmodes = nc
c
c --- in case we want overide the defaults for modes to include ---
- if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first))
- $ first = 7 ! srtep size for displacement along modes
+ if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) then
+ if (linear) then
+ first = 6 ! srtep size for displacement along modes
+ else
+ first = 7 ! srtep size for displacement along modes
+ end if
+ end if
endif
c
c ----------alocate space for freq and normal modes----------------------------
@@ -294,7 +319,7 @@
c ------------enough setup really do the calculation------------------------
if (.not.preraman) then
call task_raman_doit(rtdb,geom,nc,nat,
- & first0, ! = 7 constant
+ & first0, ! = 6 or 7
& first,last,rmmodes,
& steps,nfreq,plot,line,width,
& step_size,
@@ -336,7 +361,7 @@
c
c == perform raman calculation ==
subroutine task_raman_doit(rtdb,geom,nc,nat,
- & first0, ! = 7 constant
+ & first0, ! = 6 or 7
& first,last,rmmodes,
& steps,nfreq,
& plot,line,width,
@@ -495,7 +520,7 @@
& lbl_raman, ! in: raman label
& begin, ! in:
& last, ! in:
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -519,7 +544,7 @@
& lbl_raman, ! in: raman label
& mode_ini, ! in:
& mode_end, ! in:
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -541,7 +566,7 @@
& lbl_raman, ! in: raman label
& begin, ! in: starting mode
& last, ! in: ending mode
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -596,7 +621,7 @@
& rmmodes, ! in: total nr. modes
& rminfo, ! in: stores raman info
& nc,nat, ! in: (nc,nat)=(nr coord,nr atoms)
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -757,7 +782,8 @@
& step_size,
& rminfo,
& eigenvecs,
- & mass)
+ & mass,
+ & first0)
c ======== FA: Writing to file rminfo ========= START
c if (ga_nodeid().eq.0)
c & write(*,*) 'BEF raman_write() ...'
@@ -783,7 +809,7 @@
& lbl_raman, ! in: raman label
& begin, ! in: starting mode
& last, ! in: ending mode
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -890,7 +916,7 @@
& rmmodes, ! in: total nr. modes
& rminfo, ! in: stores raman info
& nc,nat, ! in: (nc,nat)=(nr coord,nr atoms)
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -915,7 +941,7 @@
& lbl_raman, ! in: raman label
& mode_ini, ! in:
& mode_end, ! in:
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -1036,7 +1062,7 @@
& rmmodes, ! in: total nr. modes
& rminfo, ! in: stores raman info
& nc,nat, ! in: (nc,nat)=(nr coord,nr atoms)
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -1058,7 +1084,7 @@
& lbl_raman, ! in: raman label
& begin, ! in:
& last, ! in:
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
@@ -1139,7 +1165,7 @@
& rmmodes, ! in: total nr. modes
& rminfo, ! in: stores raman info
& nc,nat, ! in: (nc,nat)=(nr coord,nr atoms)
- & first0, ! in: = 7 constant
+ & first0, ! in: = 6 or 7
& eigenvecs, ! in: hessian data (modes)
& eigenvals, ! in: hessian data (frequencies)
& mass, ! in: mass(i) i=1,nat
Index: src/property/raman.F
===================================================================
--- src/property/raman.F (revision 28032)
+++ src/property/raman.F (revision 28033)
@@ -29,8 +29,8 @@
integer rtdb ! [input] rtdb handle
integer natom ! [input] number of atoms
integer nat3 ! [input] 3*number of atoms
- integer first ! first mode to consider in aoresponse (default =7 ramana =1 hyperraman)
- integer tmpmode ! set to fill rminfo from 1 ( not 7 for raman calc)
+ integer first ! first mode to consider in aoresponse (default =6 or 7 raman =1 hyperraman)
+ integer tmpmode ! set to fill rminfo from 1 ( not 6 or 7 for raman calc)
integer rmmodes ! # of raman active modes
double precision rminfo(rmmodes,4) ! data for raman spec
@@ -41,6 +41,10 @@
double precision ncoords(3,natom) ! [scratch] coords after step
double precision steps(3,natom) ! [scratch] step generated by vector and scaled
c
+ double precision length_of_step, scale
+ double precision ddot
+ external ddot
+c
parameter (bohr2ang=0.52917724924D+00) ! CONVERSION OF BOHR to ANGSTROMS
c -------------determine sign of the step---------------------------------
if (iii.eq.1) then
@@ -57,13 +61,16 @@
c & i4,',',i4,',',i4,',',i4,',',f15.8,')')
c ======= FA-check rminfo(x,1) ======== END
c --------------------------------------------------------------------
- ivec = 1
- do iatom = 1,natom
- do ixyz = 1,3
- steps(ixyz,iatom)=sign*step_size*eigenvecs(ivec,imode)
- ivec = ivec + 1
- enddo ! ixyz
- enddo ! iatom
+ ivec = 1
+ do iatom = 1,natom
+ do ixyz = 1,3
+ steps(ixyz,iatom)=eigenvecs(ivec,imode)
+ ivec = ivec + 1
+ enddo ! ixyz
+ enddo ! iatom
+ length_of_step = sqrt(ddot(nat3,steps,1,steps,1))
+ scale = sign*step_size/length_of_step
+ call dscal(nat3,scale,steps,1)
call daxpy(nat3,1.0d00,steps,1,ncoords,1) ! mult coords
if (.not. geom_cart_coords_set(geom,ncoords))
@@ -85,7 +92,8 @@
& step_size,! in : step of finite differencing
& rminfo, ! in : Raman data
& eigenvecs,! in : normal modes eigenvectors (nat3,nat3)
- & mass) ! in : mass
+ & mass, ! in : mass
+ & first0) ! in : first nonzero mode (6 or 7)
c
c Authors: Jonathan Mullin, Northwestern University (ver 1: Jan. 2011)
c Fredy W. Aquino, Northwestern University (ver 2: Oct. 2012)
@@ -108,6 +116,7 @@
integer imode ! mode #
integer natom ! [input] number of atoms
integer nat3 ! [input] 3*number of atoms
+ integer first0 ! [input] first nonzero mode (6 or 7)
c
double precision rminfo(rmmodes,4) ! raman data
double precision step_size,stepsize ! [input] step of finite differencing
@@ -134,7 +143,7 @@
call dfill(3*natom,0.0D+00,tmode,1) !
c zero
stepsize = zero
- m = imode - 6
+ m = imode - first0 + 1
j=1
i=1
ar2 = zero ! alpha real

View File

@@ -0,0 +1,18 @@
Index: src/symmetry/sym_abelian.F
===================================================================
--- src/symmetry/sym_abelian.F (revision 27901)
+++ src/symmetry/sym_abelian.F (revision 27902)
@@ -10,9 +10,11 @@
c
character*8 group
integer nab, ind
- parameter (nab = 8)
+ parameter (nab = 18)
character*4 ab(nab)
- data ab/ 'C1','Cs','Ci','C2','D2','C2v','C2h','D2h'/
+ data ab/ 'C1','Cs','Ci','C2','D2','C2v','C2h','D2h',
+ C 'C3','C4','C5','C6','C7','C8',
+ C 'C3h','C4h','C5h','C6h'/
c
call sym_group_name(geom, group)
c

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
Index: src/config/makefile.h
===================================================================
--- src/config/makefile.h (revision 27828)
+++ src/config/makefile.h (revision 27829)
@@ -99,7 +99,8 @@
ifdef OLD_GA
LIBPATH = -L$(SRCDIR)/tools/lib/$(TARGET)
else
- LIBPATH = -L$(SRCDIR)/tools/install/lib
+ TOOLSLIB = $(shell grep libdir\ = $(NWCHEM_TOP)/src/tools/build/Makefile |grep -v pkgl|cut -b 25-)
+ LIBPATH = -L$(SRCDIR)/tools/install/$(TOOLSLIB)
endif
#

View File

@@ -0,0 +1,551 @@
Index: src/NWints/texas/assemblx.f
===================================================================
--- src/NWints/texas/assemblx.f (revision 28366)
+++ src/NWints/texas/assemblx.f (working copy)
@@ -133,7 +133,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -258,7 +260,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension aax(nbls1),bbx(nbls1),ccx(nbls1)
@@ -346,7 +350,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension aax(nbls1),bbx(nbls1),ccx(nbls1)
@@ -428,7 +434,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -626,7 +634,9 @@
character*11 scftype
character*8 where
common /runtype/ scftype,where
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
common/obarai/
@@ -913,7 +923,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
C
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -972,7 +984,9 @@
implicit real*8 (a-h,o-z)
logical firstc
c
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -1045,7 +1059,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -1131,7 +1147,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -1217,7 +1235,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
C
dimension indx(*)
dimension xt1(nbls1,lt1,lt2), bf3l(nbls,lt5,lt6)
@@ -1385,7 +1405,9 @@
character*11 scftype
character*8 where
common /runtype/ scftype,where
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
common/obarai/
@@ -1659,7 +1681,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension bfij1(nbls,lt3,lt4)
@@ -1707,7 +1731,9 @@
* bfij3,lt3,lt4, factij, indx, ij3b,kl3b)
implicit real*8 (a-h,o-z)
logical firstc
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension bfij3(nbls,lt3,lt4)
@@ -1762,7 +1788,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension bf2l1(nbls,lt3,lt4)
@@ -1829,7 +1857,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension bf3l(nbls,lt5,lt6)
@@ -1895,7 +1925,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2), bf3l(nbls,lt5,lt6)
cccc dimension facti(*), factkl(*)
@@ -2018,7 +2050,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension aax(nbls1),bbx(nbls1),ccx(nbls1)
@@ -2110,7 +2144,9 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension aax(nbls1),bbx(nbls1),ccx(nbls1)
@@ -2196,7 +2232,9 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
Index: src/NWints/texas/derivat.f
===================================================================
--- src/NWints/texas/derivat.f (revision 28366)
+++ src/NWints/texas/derivat.f (working copy)
@@ -16,7 +16,9 @@
c
implicit real*8 (a-h,o-z)
c
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter (lpar1=34)
+ common /logic4/ nfu(lpar1)
common /big/ bl(1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
@@ -289,9 +291,15 @@
* nqij,nqkl, deriv, xab,xcd, xyab,xycd)
implicit real*8 (a-h,o-z)
c
- common /logic4/ nfu(1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
dimension buf2(nbls,lnijr,lnklr,ngcd)
dimension deriv(6,nbls,lnij,lnkl,ngcd)
@@ -374,7 +382,9 @@
c
implicit real*8 (a-h,o-z)
c
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
common/obarai/
@@ -705,10 +715,15 @@
c second-der. That's why dimension for buf2(ndim,*,*,*,*) has ndim=4
c for first- and ndim=10 for second-derivatives.
c
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
cccc dimension buf2(4,nbls,lnijr,lnklr,ngcd) OR buf2(10,etc.)
c2002 dimension buf2(ndim,nbls,lnijr,lnklr,ngcd)
@@ -862,7 +877,9 @@
c
implicit real*8 (a-h,o-z)
c
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter(lpar1=34)
+ common /logic4/ nfu(lpar1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
common/obarai/
@@ -1131,10 +1148,15 @@
* nqij,nqkl,der2,xab)
implicit real*8 (a-h,o-z)
c
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
@@ -1386,10 +1408,15 @@
* nqij,nqkl,
* nder_aa,der2)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
dimension der2(45,nbls,lnij,lnkl,ngcd)
@@ -1462,10 +1489,15 @@
* nqij,nqkl,
* nder_cc,der2)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
@@ -1533,10 +1565,15 @@
* nqij,nqkl,
* nder_bb,der2,xab)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
@@ -1592,10 +1629,15 @@
* nqij,nqkl,
* nder_ab,der2,xab)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
@@ -1668,10 +1710,15 @@
* nqij,nqkl,
* nder_ac,der2)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
@@ -1742,10 +1789,15 @@
* nqij,nqkl,
* nder_bc,der2,xab)
implicit real*8 (a-h,o-z)
- common /logic4/ nfu(1)
- common /logic9/ nia(3,1)
- common /logic10/ nmxyz(3,1)
- common /logic11/ npxyz(3,1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
c2002 dimension buf2(10,nbls,lnijr,lnklr,ngcd)
dimension buf2(nbls,lnijr,lnklr,ngcd,10)
Index: src/NWints/texas/gencon.f
===================================================================
--- src/NWints/texas/gencon.f (revision 28366)
+++ src/NWints/texas/gencon.f (working copy)
@@ -388,7 +388,15 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,mmax,
* nqi,nqj,nqk,nql,nsij,nskl,
* nqij,nqij1,nsij1,nqkl,nqkl1,nskl1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension buf2(nbls,lt1,lt2,ngcd)
@@ -466,7 +474,15 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
c
- common /logic4/ nfu(1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
@@ -579,7 +595,15 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,mmax,
* nqi,nqj,nqk,nql,nsij,nskl,
* nqij,nqij1,nsij1,nqkl,nqkl1,nskl1,ijbeg,klbeg
- common /logic4/ nfu(1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
dimension indx(*)
dimension xt1(nbls1,lt1,lt2)
dimension gcoef(nbls,ngcd)
Index: src/NWints/texas/shells.f
===================================================================
--- src/NWints/texas/shells.f (revision 28366)
+++ src/NWints/texas/shells.f (working copy)
@@ -5,7 +5,12 @@
common /contr/ ngci,ngcj,ngck,ngcl,lci,lcj,lck,lcl,lcij,lckl
common /lengt/ ilen,jlen,klen,llen, ilen1,jlen1,klen1,llen1
common /gcont/ ngci1,ngcj1,ngck1,ngcl1,ngcd
- common /logic2/ len(1)
+ integer lpar1,lpar4,lpar5
+ parameter(lpar1=34,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
dimension inx(12,*)
c
c This subroutine sets up TYPE and LENGTH of shells and
@@ -93,10 +98,12 @@
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
C
- common /logic1/ ndege(1)
- common /logic2/ len(1)
- common /logic3/ lensm(1)
- common /logic4/ nfu(1)
+ integer lpar1,lpar4,lpar5
+ parameter(lpar1=34,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
c
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
@@ -237,7 +244,15 @@
* lni,lnj,lnk,lnl,lnij,lnkl,lnijkl,MMAX,
* NQI,NQJ,NQK,NQL,NSIJ,NSKL,
* NQIJ,NQIJ1,NSIJ1,NQKL,NQKL1,NSKL1,ijbeg,klbeg
- common /logic3/ lensm(1)
+ integer lpar1,lpar2,lpar3,lpar4,lpar5
+ parameter(lpar1=34,lpar2=6545,lpar3=4060,lpar4=10,lpar5=33)
+ common /logic1/ ndege(lpar4)
+ common /logic2/ len(lpar4)
+ common /logic3/ lensm(lpar5)
+ common /logic4/ nfu(lpar1)
+ common /logic9/ nia(3,lpar2)
+ common /logic10/ nmxyz(3,lpar2)
+ common /logic11/ npxyz(3,lpar3)
c
C************************************************************
c
Index: src/NWints/texas/zeroint.f
===================================================================
--- src/NWints/texas/zeroint.f (revision 28366)
+++ src/NWints/texas/zeroint.f (working copy)
@@ -12,7 +12,9 @@
character*11 scftype
character*8 where
common /runtype/ scftype,where
- common /logic4/ nfu(1)
+ integer lpar1
+ parameter (lpar1=34)
+ common /logic4/ nfu(lpar1)
COMMON/SHELL/LSHELLT,LSHELIJ,LSHELKL,LHELP,LCAS2(4),LCAS3(4)
common /lcases/ lcase
common/obarai/

View File

@@ -0,0 +1,54 @@
Index: src/nwdft/xc/xc_cvs98.F
===================================================================
--- src/nwdft/xc/xc_cvs98.F (revision 27970)
+++ src/nwdft/xc/xc_cvs98.F (revision 27971)
@@ -160,12 +160,10 @@
GAA = ( delrho(n,1,1)*delrho(n,1,1) +
& delrho(n,2,1)*delrho(n,2,1) +
& delrho(n,3,1)*delrho(n,3,1))/4.0d0
- if(sqrt(gaa).lt.dtol) goto 20
c In the bc95css subroutine, we use 2*TA as the tau, so we do not divide
c the tau by 2 here
TA = tau(n,1)
- if(ta.lt.dtol) goto 20
Call vs98ss(tol_rho,PA,GAA,TA,FA,FPA,FGA,FTA,EUA,ZA,
& ChiA,EUPA,ChiAP,ChiAG,ZAP,ZAT,ijzy)
@@ -213,7 +211,6 @@
c In the bc95css subroutine, we use 2*TA as the tau
c
TA = tau(n,1)*2.0d0
- if(ta.lt.dtol) goto 25
Call vs98ss(tol_rho,PA,GAA,TA,FA,FPA,FGA,FTA,EUA,ZA,
& ChiA,EUPA,ChiAP,ChiAG,ZAP,ZAT,ijzy)
@@ -235,7 +232,6 @@
c
25 continue
PB = rho(n,3)
- if(PB.le.DTol) go to 30
GBB = delrho(n,1,2)*delrho(n,1,2) +
& delrho(n,2,2)*delrho(n,2,2) +
& delrho(n,3,2)*delrho(n,3,2)
@@ -242,7 +238,6 @@
TB = tau(n,2)*2.0d0
- if(tb.lt.dtol) goto 30
Call vs98ss(tol_rho,PB,GBB,TB,FB,FPB,FGB,FTB,EUB,ZB,
& ChiB,EUPB,ChiBP,ChiBG,ZBP,ZBT,ijzy)
Ec = Ec + FB*qwght(n)
@@ -378,10 +373,9 @@
else
call errquit("vs98ss: illegal value of ijzy",ijzy,UERR)
endif
-couch
-c DTol =1.0d-7
+
dtol=tol_rho
- If(PX.le.DTol) then
+ If(PX.le.DTol.or.gx.le.dtol.or.tx.le.dtol) then
EUEG = Zero
Chi = Zero
EUEGP = Zero

View File

@@ -0,0 +1,55 @@
Index: src/64to32blas/xgesvd.F
===================================================================
--- src/64to32blas/xgesvd.F (revision 0)
+++ src/64to32blas/xgesvd.F (revision 28050)
@@ -0,0 +1,25 @@
+ SUBROUTINE XGESVD( JOBU, JOBVT, M, N, A, LDA, S, U, LDU,
+ $ VT, LDVT, WORK, LWORK, RWORK, INFO )
+* $Id: ygesvd.F 19697 2010-10-29 16:57:34Z d3y133 $
+ implicit none
+#include "y64.fh"
+ CHARACTER JOBU, JOBVT
+ INTEGER INFO, LDA, LDU, LDVT, LWORK, M, N
+ DOUBLE PRECISION A( LDA, * ), S( * ), U( LDU, * ),
+ $ VT( LDVT, * ), WORK( * ), RWORK(*)
+c
+ INTGR4 INFO4, LDA4, LDU4, LDVT4, LWORK4, M4, N4
+c
+ lda4=lda
+ ldu4=ldu
+ ldvt4=ldvt
+ m4=m
+ n4=n
+ lwork4=lwork
+c
+ call ZGESVD( JOBU, JOBVT, M4, N4, A, LDA4, S, U, LDU4,
+ $ VT, LDVT4, WORK, LWORK4, RWORK, INFO4 )
+ info=info4
+
+ RETURN
+ END
Index: src/64to32blas/GNUmakefile
===================================================================
--- src/64to32blas/GNUmakefile (revision 28049)
+++ src/64to32blas/GNUmakefile (revision 28050)
@@ -10,7 +10,7 @@
ypotri.o ypotrf.o ysygv.o ygeev.o ygeevx.o \
ifily.o\
xscal.o xaxpy.o xgemm.o xheev.o xcopy.o xdotc.o \
- ixamax.o
+ ixamax.o xgesvd.o
ifeq ($(BLAS_SIZE),8)
LIB_DEFINES += -DUSE_INTEGER8
Index: src/config/data.64_to_32
===================================================================
--- src/config/data.64_to_32 (revision 28049)
+++ src/config/data.64_to_32 (revision 28050)
@@ -50,6 +50,7 @@
zdotc xdotc
zdscal xsscal
zgemm xgemm
+zgesvd xgesvd
zgemv xgemv
zgerc xgerc
zhemm xhemm

View File

@@ -0,0 +1,89 @@
##############################################################################
# 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 Octopus(Package):
"""A real-space finite-difference (time-dependent) density-functional
theory code."""
homepage = "http://www.tddft.org/programs/octopus/"
url = "http://www.tddft.org/programs/octopus/down.php?file=5.0.1/octopus-5.0.1.tar.gz"
version('5.0.1', '2b6392ab67b843f9d4ca7413fc07e822')
depends_on('blas')
depends_on('gsl')
depends_on('lapack')
depends_on('libxc')
depends_on('mpi')
depends_on('fftw+mpi')
# optional dependencies:
# TODO: scalapack, metis, parmetis, netcdf, etsf_io, SPARSKIT, ARPACK,
# FEAST, Libfm, PFFT, ISF, PNFFT
def install(self, spec, prefix):
args = []
args.extend([
'--prefix=%s' % prefix,
'--with-blas=%s' % to_link_flags(
spec['blas'].blas_shared_lib),
'--with-lapack=%s' % to_link_flags(
spec['lapack'].lapack_shared_lib),
'--with-gsl-prefix=%s' % spec['gsl'].prefix,
'--with-libxc-prefix=%s' % spec['libxc'].prefix,
'CC=%s' % spec['mpi'].mpicc,
'FC=%s' % spec['mpi'].mpifc,
'--enable-mpi',
'--with-fft-lib=-L%s -lfftw3' % spec['fftw'].prefix.lib
# --with-blacs=${prefix}/lib/libscalapack.dylib
# --with-netcdf-prefix=netcdf-fortran
# --with-etsf-io-prefix=
# --with-sparskit=${prefix}/lib/libskit.a
# --with-pfft-prefix=${prefix} --with-mpifftw-prefix=${prefix}
# --with-arpack=${prefix}/lib/libarpack.dylib
# --with-parpack=${prefix}/lib/libparpack.dylib
# --with-metis-prefix=${prefix} --with-parmetis-prefix=${prefix}
# --with-berkeleygw-prefix=${prefix}
])
# When preprocessor expands macros (i.e. CFLAGS) defined as quoted
# strings the result may be > 132 chars and is terminated.
# This will look to a compiler as an Unterminated character constant
# and produce Line truncated errors. To vercome this, add flags to
# let compiler know that the entire line is meaningful.
# TODO: For the lack of better approach, assume that clang is mixed
# with GNU fortran.
if spec.satisfies('%clang') or spec.satisfies('%gcc'):
args.extend([
'FCFLAGS=-O2 -ffree-line-length-none'
])
configure(*args)
make()
# short tests take forever...
# make('check-short')
make('install')

Some files were not shown because too many files have changed in this diff Show More