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:
@@ -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')
|
||||
|
@@ -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")
|
||||
|
@@ -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"
|
||||
|
62
var/spack/repos/builtin/packages/ape/package.py
Normal file
62
var/spack/repos/builtin/packages/ape/package.py
Normal 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')
|
@@ -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'
|
||||
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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')
|
||||
|
||||
|
62
var/spack/repos/builtin/packages/bliss/Makefile.spack.patch
Normal file
62
var/spack/repos/builtin/packages/bliss/Makefile.spack.patch
Normal 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
|
50
var/spack/repos/builtin/packages/bliss/package.py
Normal file
50
var/spack/repos/builtin/packages/bliss/package.py
Normal 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)
|
@@ -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'])
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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')
|
||||
|
||||
|
@@ -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):
|
||||
|
@@ -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')
|
||||
|
@@ -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):
|
||||
|
@@ -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.
|
||||
"""
|
||||
|
22
var/spack/repos/builtin/packages/cdd/Makefile.spack.patch
Normal file
22
var/spack/repos/builtin/packages/cdd/Makefile.spack.patch
Normal 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
|
52
var/spack/repos/builtin/packages/cdd/package.py
Normal file
52
var/spack/repos/builtin/packages/cdd/package.py
Normal 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)
|
58
var/spack/repos/builtin/packages/cddlib/package.py
Normal file
58
var/spack/repos/builtin/packages/cddlib/package.py
Normal 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")
|
@@ -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))
|
||||
|
@@ -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):
|
||||
|
73
var/spack/repos/builtin/packages/cgns/package.py
Normal file
73
var/spack/repos/builtin/packages/cgns/package.py
Normal 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')
|
@@ -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"
|
||||
|
||||
|
23
var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch
Normal file
23
var/spack/repos/builtin/packages/cmake/intel-c-gnu11.patch
Normal 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)
|
@@ -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')
|
||||
|
@@ -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,
|
||||
|
@@ -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
|
||||
|
@@ -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')
|
||||
|
@@ -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.
|
||||
"""
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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();
|
96
var/spack/repos/builtin/packages/dyninst/stat_dysect.patch
Normal file
96
var/spack/repos/builtin/packages/dyninst/stat_dysect.patch
Normal 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
|
||||
|
@@ -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/'
|
||||
|
@@ -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'
|
||||
|
||||
|
@@ -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')
|
||||
|
@@ -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")
|
||||
|
@@ -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',
|
||||
|
62
var/spack/repos/builtin/packages/gcc/piclibs.patch
Normal file
62
var/spack/repos/builtin/packages/gcc/piclibs.patch
Normal 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
|
||||
|
@@ -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/"
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -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'))
|
@@ -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')
|
||||
|
42
var/spack/repos/builtin/packages/git-lfs/package.py
Normal file
42
var/spack/repos/builtin/packages/git-lfs/package.py
Normal 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)
|
@@ -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')
|
||||
|
@@ -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')
|
||||
|
40
var/spack/repos/builtin/packages/globus_toolkit/package.py
Normal file
40
var/spack/repos/builtin/packages/globus_toolkit/package.py
Normal 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')
|
@@ -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'
|
||||
|
||||
|
@@ -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')
|
||||
|
@@ -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")
|
@@ -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')
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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")
|
||||
|
@@ -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')
|
||||
|
49
var/spack/repos/builtin/packages/jsoncpp/package.py
Normal file
49
var/spack/repos/builtin/packages/jsoncpp/package.py
Normal 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')
|
@@ -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()')
|
||||
|
@@ -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(
|
||||
|
@@ -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')
|
||||
|
13
var/spack/repos/builtin/packages/libiconv/gets.patch
Normal file
13
var/spack/repos/builtin/packages/libiconv/gets.patch
Normal 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
|
||||
|
||||
|
@@ -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')
|
||||
|
@@ -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
|
||||
|
58
var/spack/repos/builtin/packages/libsplash/package.py
Normal file
58
var/spack/repos/builtin/packages/libsplash/package.py
Normal 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')
|
@@ -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')
|
||||
|
@@ -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'
|
||||
|
||||
|
60
var/spack/repos/builtin/packages/lrslib/Makefile.spack.patch
Normal file
60
var/spack/repos/builtin/packages/lrslib/Makefile.spack.patch
Normal 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
|
61
var/spack/repos/builtin/packages/lrslib/package.py
Normal file
61
var/spack/repos/builtin/packages/lrslib/package.py
Normal 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)
|
@@ -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'
|
||||
|
||||
|
45
var/spack/repos/builtin/packages/lz4/package.py
Normal file
45
var/spack/repos/builtin/packages/lz4/package.py
Normal 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))
|
49
var/spack/repos/builtin/packages/lzma/package.py
Normal file
49
var/spack/repos/builtin/packages/lzma/package.py
Normal 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')
|
@@ -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')
|
||||
|
44
var/spack/repos/builtin/packages/mercurial/package.py
Normal file
44
var/spack/repos/builtin/packages/mercurial/package.py
Normal 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')
|
@@ -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,
|
||||
|
@@ -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
|
||||
|
@@ -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"
|
||||
|
40
var/spack/repos/builtin/packages/nano/package.py
Normal file
40
var/spack/repos/builtin/packages/nano/package.py
Normal 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')
|
89
var/spack/repos/builtin/packages/nauty/package.py
Normal file
89
var/spack/repos/builtin/packages/nauty/package.py
Normal 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))
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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')
|
||||
|
46
var/spack/repos/builtin/packages/nwchem/Config_libs66.patch
Executable file
46
var/spack/repos/builtin/packages/nwchem/Config_libs66.patch
Executable 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
|
@@ -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
|
21
var/spack/repos/builtin/packages/nwchem/Gcc6_optfix.patch
Executable file
21
var/spack/repos/builtin/packages/nwchem/Gcc6_optfix.patch
Executable 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
|
15
var/spack/repos/builtin/packages/nwchem/Util_getppn.patch
Normal file
15
var/spack/repos/builtin/packages/nwchem/Util_getppn.patch
Normal 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;
|
21
var/spack/repos/builtin/packages/nwchem/Util_gnumakefile.patch
Executable file
21
var/spack/repos/builtin/packages/nwchem/Util_gnumakefile.patch
Executable 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
|
26
var/spack/repos/builtin/packages/nwchem/cosmo_dftprint.patch
Executable file
26
var/spack/repos/builtin/packages/nwchem/cosmo_dftprint.patch
Executable 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/)
|
172
var/spack/repos/builtin/packages/nwchem/cosmo_meminit.patch
Executable file
172
var/spack/repos/builtin/packages/nwchem/cosmo_meminit.patch
Executable 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
|
45
var/spack/repos/builtin/packages/nwchem/dplot_tolrho.patch
Executable file
45
var/spack/repos/builtin/packages/nwchem/dplot_tolrho.patch
Executable 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
|
13
var/spack/repos/builtin/packages/nwchem/driver_smalleig.patch
Executable file
13
var/spack/repos/builtin/packages/nwchem/driver_smalleig.patch
Executable 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
|
24
var/spack/repos/builtin/packages/nwchem/ga_argv.patch
Executable file
24
var/spack/repos/builtin/packages/nwchem/ga_argv.patch
Executable 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);
|
||||
}
|
25
var/spack/repos/builtin/packages/nwchem/ga_defs.patch
Executable file
25
var/spack/repos/builtin/packages/nwchem/ga_defs.patch
Executable 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__)
|
162
var/spack/repos/builtin/packages/nwchem/package.py
Normal file
162
var/spack/repos/builtin/packages/nwchem/package.py
Normal 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)
|
311
var/spack/repos/builtin/packages/nwchem/raman_displ.patch
Executable file
311
var/spack/repos/builtin/packages/nwchem/raman_displ.patch
Executable 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
|
18
var/spack/repos/builtin/packages/nwchem/sym_abelian.patch
Executable file
18
var/spack/repos/builtin/packages/nwchem/sym_abelian.patch
Executable 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
|
6858
var/spack/repos/builtin/packages/nwchem/tddft_mxvec20.patch
Executable file
6858
var/spack/repos/builtin/packages/nwchem/tddft_mxvec20.patch
Executable file
File diff suppressed because it is too large
Load Diff
14
var/spack/repos/builtin/packages/nwchem/tools_lib64.patch
Executable file
14
var/spack/repos/builtin/packages/nwchem/tools_lib64.patch
Executable 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
|
||||
|
||||
#
|
551
var/spack/repos/builtin/packages/nwchem/txs_gcc6.patch
Executable file
551
var/spack/repos/builtin/packages/nwchem/txs_gcc6.patch
Executable 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/
|
54
var/spack/repos/builtin/packages/nwchem/xccvs98.patch
Executable file
54
var/spack/repos/builtin/packages/nwchem/xccvs98.patch
Executable 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
|
55
var/spack/repos/builtin/packages/nwchem/zgesdv.patch
Executable file
55
var/spack/repos/builtin/packages/nwchem/zgesdv.patch
Executable 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
|
89
var/spack/repos/builtin/packages/octopus/package.py
Normal file
89
var/spack/repos/builtin/packages/octopus/package.py
Normal 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
Reference in New Issue
Block a user