Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts: lib/spack/spack/cmd/create.py lib/spack/spack/cmd/extensions.py lib/spack/spack/cmd/fetch.py lib/spack/spack/cmd/uninstall.py lib/spack/spack/config.py lib/spack/spack/database.py lib/spack/spack/directory_layout.py lib/spack/spack/packages.py lib/spack/spack/spec.py
This commit is contained in:
@@ -4,13 +4,20 @@ class Mitos(Package):
|
||||
"""Mitos is a library and a tool for collecting sampled memory
|
||||
performance data to view with MemAxes"""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/Mitos"
|
||||
url = "https://github.com/scalability-llnl/Mitos"
|
||||
homepage = "https://github.com/llnl/Mitos"
|
||||
url = "https://github.com/llnl/Mitos"
|
||||
|
||||
version('0.9.1', 'c6cb57f3cae54f5157affd97ef7ef79e', git='https://github.com/scalability-llnl/Mitos.git', tag='v0.9.1')
|
||||
version('0.9.2',
|
||||
git='https://github.com/llnl/Mitos.git',
|
||||
commit='8cb143a2e8c00353ff531a781a9ca0992b0aaa3d')
|
||||
|
||||
version('0.9.1',
|
||||
git='https://github.com/llnl/Mitos.git',
|
||||
tag='v0.9.1')
|
||||
|
||||
depends_on('dyninst@8.2.1:')
|
||||
depends_on('hwloc')
|
||||
depends_on('mpi')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
|
@@ -12,6 +12,7 @@ class Samrai(Package):
|
||||
list_url = homepage
|
||||
|
||||
version('3.9.1', '232d04d0c995f5abf20d94350befd0b2')
|
||||
version('3.8.0', 'c18fcffa706346bfa5828b36787ce5fe')
|
||||
version('3.7.3', '12d574eacadf8c9a70f1bb4cd1a69df6')
|
||||
version('3.7.2', 'f6a716f171c9fdbf3cb12f71fa6e2737')
|
||||
version('3.6.3-beta', 'ef0510bf2893042daedaca434e5ec6ce')
|
||||
@@ -24,7 +25,7 @@ class Samrai(Package):
|
||||
|
||||
depends_on("mpi")
|
||||
depends_on("zlib")
|
||||
depends_on("hdf5")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("boost")
|
||||
|
||||
# don't build tools with gcc
|
||||
@@ -32,13 +33,10 @@ class Samrai(Package):
|
||||
|
||||
# TODO: currently hard-coded to use openmpi - be careful!
|
||||
def install(self, spec, prefix):
|
||||
mpi = next(m for m in ('openmpi', 'mpich', 'mvapich')
|
||||
if m in spec)
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-CXX=%s" % spec[mpi].prefix.bin + "/mpic++",
|
||||
"--with-CC=%s" % spec[mpi].prefix.bin + "/mpicc",
|
||||
"--with-CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
|
||||
"--with-CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
|
||||
"--with-hdf5=%s" % spec['hdf5'].prefix,
|
||||
"--with-boost=%s" % spec['boost'].prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -27,8 +27,8 @@
|
||||
class AdeptUtils(Package):
|
||||
"""Utility libraries for LLNL performance tools."""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/adept-utils"
|
||||
url = "https://github.com/scalability-llnl/adept-utils/archive/v1.0.tar.gz"
|
||||
homepage = "https://github.com/llnl/adept-utils"
|
||||
url = "https://github.com/llnl/adept-utils/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0.1', '731a310717adcb004d9d195130efee7d')
|
||||
version('1.0', '5c6cd9badce56c945ac8551e34804397')
|
||||
|
@@ -3,12 +3,9 @@
|
||||
|
||||
class Apex(Package):
|
||||
homepage = "http://github.com/khuck/xpress-apex"
|
||||
#url = "http://github.com/khuck/xpress-apex/archive/v0.1-release-candidate.tar.gz"
|
||||
url = "http://github.com/khuck/xpress-apex"
|
||||
url = "http://github.com/khuck/xpress-apex/archive/v0.1.tar.gz"
|
||||
|
||||
#version('0.1', '6e039c224387348296739f6bf360d081')
|
||||
#version('master', branch='master', git='https://github.com/khuck/xpress-apex.git')
|
||||
version('2015-10-21', git='https://github.com/khuck/xpress-apex.git', commit='d2e66ddde689120472fc57fc546d8cd80aab745c')
|
||||
version('0.1', '8b95f0c0313da1575960d3ad69f18e75')
|
||||
|
||||
depends_on("binutils+libiberty")
|
||||
depends_on("boost@1.54:")
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -36,8 +36,8 @@ class Automaded(Package):
|
||||
finding the process (or group of processes) that caused the hang.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/AutomaDeD"
|
||||
url = "https://github.com/scalability-llnl/AutomaDeD/archive/v1.0.tar.gz"
|
||||
homepage = "https://github.com/llnl/AutomaDeD"
|
||||
url = "https://github.com/llnl/AutomaDeD/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0', '16a3d4def2c4c77d0bc4b21de8b3ab03')
|
||||
|
||||
|
@@ -0,0 +1,52 @@
|
||||
--- binutils-2.24/libiberty/Makefile.in 2013-11-04 10:33:40.000000000 -0500
|
||||
+++ binutils-2.24-fixes/libiberty/Makefile.in 2014-10-17 16:22:31.413655000 -0400
|
||||
@@ -66,6 +66,7 @@
|
||||
MAKEOVERRIDES =
|
||||
|
||||
TARGETLIB = ./libiberty.a
|
||||
+TARGETLIBPIC = ./libiberty_pic.a
|
||||
TESTLIB = ./testlib.a
|
||||
|
||||
LIBOBJS = @LIBOBJS@
|
||||
@@ -355,27 +356,27 @@
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- if test -n "${target_header_dir}"; then \
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
- fi
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n ;$(RANLIB) $(TARGETLIBPIC)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIBPIC); \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${includedir}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${includedir}; \
|
||||
+ done;
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
install_to_tooldir: all
|
||||
${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
|
||||
$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
+ $(INSTALL_DATA) pic/$(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n
|
||||
( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n )
|
||||
+ ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIBPIC)n; $(RANLIB) $(TARGETLIBPIC)n )
|
||||
mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
+ mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIBPIC)
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
# required-list was used when building a shared bfd/opcodes/libiberty
|
@@ -3,12 +3,15 @@
|
||||
class Binutils(Package):
|
||||
"""GNU binutils, which contain the linker, assembler, objdump and others"""
|
||||
homepage = "http://www.gnu.org/software/binutils/"
|
||||
url = "ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
|
||||
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2")
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.bz2")
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2")
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764',url="ftp://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2")
|
||||
|
||||
# Add a patch that creates binutils libiberty_pic.a which is preferred by OpenSpeedShop and cbtf-krell
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
patch('binutilskrell-2.24.patch', when='@2.24+krellpatch')
|
||||
|
||||
variant('libiberty', default=False, description='Also install libiberty.')
|
||||
|
||||
@@ -20,7 +23,8 @@ def install(self, spec, prefix):
|
||||
'--enable-multilib',
|
||||
'--enable-shared',
|
||||
'--enable-64-bit-bfd',
|
||||
'--enable-targets=all']
|
||||
'--enable-targets=all',
|
||||
'--with-sysroot=/']
|
||||
|
||||
if '+libiberty' in spec:
|
||||
configure_args.append('--enable-install-libiberty')
|
||||
|
@@ -43,7 +43,16 @@ class Boost(Package):
|
||||
version('1.34.1', '2d938467e8a448a2c9763e0a9f8ca7e5')
|
||||
version('1.34.0', 'ed5b9291ffad776f8757a916e1726ad0')
|
||||
|
||||
variant('debug', default=False, description='Switch to the debug version of Boost')
|
||||
variant('python', default=False, description='Activate the component Boost.Python')
|
||||
variant('mpi', default=False, description='Activate the component Boost.MPI')
|
||||
variant('compression', default=True, description='Activate the compression Boost.iostreams')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('python', when='+python')
|
||||
depends_on('zlib', when='+compression')
|
||||
depends_on('bzip2', when='+compression')
|
||||
|
||||
def url_for_version(self, version):
|
||||
"""Handle Boost's weird URLs, which write the version two different ways."""
|
||||
parts = [str(p) for p in Version(version)]
|
||||
@@ -52,15 +61,78 @@ def url_for_version(self, version):
|
||||
return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % (
|
||||
dots, underscores)
|
||||
|
||||
def determine_toolset(self):
|
||||
toolsets = {'gcc': 'gcc',
|
||||
'icpc': 'intel',
|
||||
'clang++': 'clang'}
|
||||
|
||||
for cc, toolset in toolsets.iteritems():
|
||||
if(cc in self.compiler.cxx_names):
|
||||
return toolset
|
||||
|
||||
# fallback to gcc if no toolset found
|
||||
return 'gcc'
|
||||
|
||||
def determine_bootstrap_options(self, spec, options):
|
||||
options.append('--with-toolset=%s' % self.determine_toolset())
|
||||
|
||||
without_libs = []
|
||||
if '~mpi' in spec:
|
||||
without_libs.append('mpi')
|
||||
if '~python' in spec:
|
||||
without_libs.append('python')
|
||||
else:
|
||||
options.append('--with-python=%s' % (spec['python'].prefix.bin + '/python'))
|
||||
|
||||
if without_libs:
|
||||
options.append('--without-libraries=%s' % ','.join(without_libs))
|
||||
|
||||
with open('user-config.jam', 'w') as f:
|
||||
if '+mpi' in spec:
|
||||
f.write('using mpi : %s ;\n' % (spec['mpi'].prefix.bin + '/mpicxx'))
|
||||
if '+python' in spec:
|
||||
f.write('using python : %s : %s ;\n' % (spec['python'].version,
|
||||
(spec['python'].prefix.bin + '/python')))
|
||||
|
||||
def determine_b2_options(self, spec, options):
|
||||
if '+debug' in spec:
|
||||
options.append('variant=debug')
|
||||
else:
|
||||
options.append('variant=release')
|
||||
|
||||
if '~compression' in spec:
|
||||
options.extend(['-s NO_BZIP2=1',
|
||||
'-s NO_ZLIB=1',
|
||||
])
|
||||
|
||||
if '+compression' in spec:
|
||||
options.extend(['-s BZIP2_INCLUDE=%s' % spec['bzip2'].prefix.include,
|
||||
'-s BZIP2_LIBPATH=%s' % spec['bzip2'].prefix.lib,
|
||||
'-s ZLIB_INCLUDE=%s' % spec['zlib'].prefix.include,
|
||||
'-s ZLIB_LIBPATH=%s' % spec['zlib'].prefix.lib])
|
||||
|
||||
options.extend(['toolset=%s' % self.determine_toolset(),
|
||||
'link=static,shared',
|
||||
'--layout=tagged'])
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# to make him find the user-config.jam
|
||||
env['BOOST_BUILD_PATH'] = './'
|
||||
|
||||
bootstrap = Executable('./bootstrap.sh')
|
||||
bootstrap()
|
||||
|
||||
bootstrap_options = ['--prefix=%s' % prefix]
|
||||
self.determine_bootstrap_options(spec, bootstrap_options)
|
||||
|
||||
bootstrap(*bootstrap_options)
|
||||
|
||||
# b2 used to be called bjam, before 1.47 (sigh)
|
||||
b2name = './b2' if spec.satisfies('@1.47:') else './bjam'
|
||||
|
||||
b2 = Executable(b2name)
|
||||
b2('install',
|
||||
'-j %s' % make_jobs,
|
||||
'--prefix=%s' % prefix)
|
||||
b2_options = ['-j %s' % make_jobs]
|
||||
|
||||
self.determine_b2_options(spec, b2_options)
|
||||
|
||||
b2('install', 'threading=single', *b2_options)
|
||||
b2('install', 'threading=multi', *b2_options)
|
||||
|
@@ -1,36 +1,60 @@
|
||||
from spack import *
|
||||
from glob import glob
|
||||
|
||||
class Bzip2(Package):
|
||||
"""bzip2 is a freely available, patent free high-quality data
|
||||
compressor. It typically compresses files to within 10% to 15%
|
||||
of the best available techniques (the PPM family of statistical
|
||||
compressors), whilst being around twice as fast at compression
|
||||
and six times faster at decompression."""
|
||||
and six times faster at decompression.
|
||||
|
||||
"""
|
||||
homepage = "http://www.bzip.org"
|
||||
url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz"
|
||||
|
||||
version('1.0.6', '00b516f4704d4a7cb50a1d97e6e8e15b')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# No configure system -- have to filter the makefile for this package.
|
||||
filter_file(r'CC=gcc', 'CC=cc', 'Makefile', string=True)
|
||||
|
||||
def patch(self):
|
||||
mf = FileFilter('Makefile-libbz2_so')
|
||||
mf.filter(r'^CC=gcc', 'CC=cc')
|
||||
|
||||
# Below stuff patches the link line to use RPATHs on Mac OS X.
|
||||
if 'darwin' in self.spec.architecture:
|
||||
v = self.spec.version
|
||||
v1, v2, v3 = (v.up_to(i) for i in (1,2,3))
|
||||
|
||||
mf.filter('$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)'.format(v2, v3),
|
||||
'$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib -current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)'.format(v1, v2, v3, v3), string=True)
|
||||
|
||||
mf.filter('$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}'.format(v3),
|
||||
'$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib'.format(v3), string=True)
|
||||
mf.filter('rm -f libbz2.so.{0}'.format(v2),
|
||||
'rm -f libbz2.{0}.dylib'.format(v2), string=True)
|
||||
mf.filter('ln -s libbz2.so.{0} libbz2.so.{1}'.format(v3, v2),
|
||||
'ln -s libbz2.{0}.dylib libbz2.{1}.dylib'.format(v3, v2), string=True)
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('-f', 'Makefile-libbz2_so')
|
||||
make('clean')
|
||||
make("install", "PREFIX=%s" % prefix)
|
||||
|
||||
bzip2_exe = join_path(prefix.bin, 'bzip2')
|
||||
install('bzip2-shared', bzip2_exe)
|
||||
for i, libfile in enumerate(glob('libbz2.so*')):
|
||||
install(libfile, prefix.lib)
|
||||
if i == 0:
|
||||
symlink(join_path(prefix.lib, libfile), join_path(prefix.lib, 'libbz2.so'))
|
||||
install('bzip2-shared', join_path(prefix.bin, 'bzip2'))
|
||||
|
||||
bunzip2 = join_path(prefix.bin, 'bunzip2')
|
||||
remove(bunzip2)
|
||||
symlink(bzip2_exe, bunzip2)
|
||||
v1, v2, v3 = (self.spec.version.up_to(i) for i in (1,2,3))
|
||||
if 'darwin' in self.spec.architecture:
|
||||
lib = 'libbz2.dylib'
|
||||
lib1, lib2, lib3 = ('libbz2.{0}.dylib'.format(v) for v in (v1, v2, v3))
|
||||
else:
|
||||
lib = 'libbz2.so'
|
||||
lib1, lib2, lib3 = ('libbz2.so.{0}'.format(v) for v in (v1, v2, v3))
|
||||
|
||||
bzcat = join_path(prefix.bin, 'bzcat')
|
||||
remove(bzcat)
|
||||
symlink(bzip2_exe, bzcat)
|
||||
install(lib3, join_path(prefix.lib, lib3))
|
||||
with working_dir(prefix.lib):
|
||||
for l in (lib, lib1, lib2):
|
||||
symlink(lib3, l)
|
||||
|
||||
with working_dir(prefix.bin):
|
||||
force_remove('bunzip2', 'bzcat')
|
||||
symlink('bzip2', 'bunzip2')
|
||||
symlink('bzip2', 'bzcat')
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -28,8 +28,8 @@ class Callpath(Package):
|
||||
"""Library for representing callpaths consistently in
|
||||
distributed-memory performance tools."""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/callpath"
|
||||
url = "https://github.com/scalability-llnl/callpath/archive/v1.0.1.tar.gz"
|
||||
homepage = "https://github.com/llnl/callpath"
|
||||
url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
|
||||
|
||||
version('1.0.2', 'b1994d5ee7c7db9d27586fc2dcf8f373')
|
||||
version('1.0.1', '0047983d2a52c5c335f8ba7f5bab2325')
|
||||
|
66
var/spack/repos/builtin/packages/cbtf-argonavis/package.py
Normal file
66
var/spack/repos/builtin/packages/cbtf-argonavis/package.py
Normal file
@@ -0,0 +1,66 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU 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 CbtfArgonavis(Package):
|
||||
"""CBTF Argo Navis project contains the CUDA collector and supporting
|
||||
libraries that was done as a result of a DOE SBIR grant."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-argonavis-1.5.tar.gz"
|
||||
#version('1.5', '1f7f6512f55409ed2135cfceabe26b82')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-argonavis/cbtf-argonavis')
|
||||
|
||||
depends_on("cmake@3.0.2:")
|
||||
depends_on("papi")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
depends_on("cuda")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Look for package installation information in the cbtf and cbtf-krell prefixes
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
# FIXME, hard coded for testing purposes, we will alter when the external package feature is available
|
||||
cuda_prefix_path = "/usr/local/cudatoolkit-6.0"
|
||||
cupti_prefix_path = "/usr/local/cudatoolkit-6.0/extras/CUPTI"
|
||||
|
||||
|
||||
with working_dir('CUDA'):
|
||||
with working_dir('build', create=True):
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCUDA_INSTALL_PATH=%s' % cuda_prefix_path,
|
||||
'-DCUDA_ROOT=%s' % cuda_prefix_path,
|
||||
'-DCUPTI_ROOT=%s' % cupti_prefix_path,
|
||||
'-DCUDA_DIR=%s' % cuda_prefix_path,
|
||||
'-DPAPI_ROOT=%s' % spec['papi'].prefix,
|
||||
'-DCBTF_PREFIX=%s' % spec['cbtf'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
116
var/spack/repos/builtin/packages/cbtf-krell/package.py
Normal file
116
var/spack/repos/builtin/packages/cbtf-krell/package.py
Normal file
@@ -0,0 +1,116 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU 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 CbtfKrell(Package):
|
||||
"""CBTF Krell project contains the Krell Institute contributions to the CBTF project.
|
||||
These contributions include many performance data collectors and support
|
||||
libraries as well as some example tools that drive the data collection at
|
||||
HPC levels of scale."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
# optional mirror access template
|
||||
#url = "file:/g/g24/jeg/cbtf-krell-1.5.tar.gz"
|
||||
#version('1.5', 'b13f6df6a93c44149d977773dd776d2f')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-krell/cbtf-krell')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
|
||||
# For binutils service
|
||||
depends_on("binutils@2.24+krellpatch")
|
||||
|
||||
# collectionTool
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("dyninst@8.2.1")
|
||||
depends_on("mrnet@4.1.0:+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
|
||||
# for services and collectors
|
||||
depends_on("libmonitor+krellpatch")
|
||||
depends_on("libunwind")
|
||||
depends_on("papi")
|
||||
|
||||
# MPI Installations
|
||||
# These have not worked either for build or execution, commenting out for now
|
||||
#depends_on("openmpi")
|
||||
#depends_on("mvapich2@2.0")
|
||||
#depends_on("mpich")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['dyninst'].prefix)
|
||||
|
||||
# FIXME - hard code path until external package support is available
|
||||
# Need to change this path and/or add additional paths for MPI experiment support on different platforms
|
||||
#openmpi_prefix_path = "/opt/openmpi-1.8.2"
|
||||
#mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
|
||||
|
||||
# Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized
|
||||
# mvapich_prefix_path = "<mvapich install path>"
|
||||
# mvapich2_prefix_path = "<mvapich2 install path>"
|
||||
# mpich2_prefix_path = "<mpich2 install path>"
|
||||
# mpich_prefix_path = "<mpich install path>"
|
||||
# mpt_prefix_path = "<mpt install path>"
|
||||
|
||||
# Add in paths for cuda if requested via the cuda variant
|
||||
# FIXME - hard code path until external package support is available
|
||||
#if '+cuda' in spec:
|
||||
# cuda_prefix_path = "/usr/local/cuda-6.0"
|
||||
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
|
||||
#else:
|
||||
# cuda_prefix_path = ""
|
||||
# cupti_prefix_path = ""
|
||||
|
||||
#'-DMVAPICH2_DIR=%s' % spec['mvapich2'].prefix,
|
||||
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
|
||||
#'-DMPICH_DIR=%s' % spec['mpich'].prefix,
|
||||
#'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
|
||||
#'-DLIB_SUFFIX=64',
|
||||
#'-DCUDA_DIR=%s' % cuda_prefix_path,
|
||||
#'-DCUPTI_DIR=%s' % cupti_prefix_path,
|
||||
|
||||
# Build cbtf-krell with cmake
|
||||
with working_dir('build_cbtf_krell', create=True):
|
||||
cmake('..',
|
||||
'-DCMAKE_BUILD_TYPE=Debug',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
'-DBOOST_DIR=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
60
var/spack/repos/builtin/packages/cbtf-lanl/package.py
Normal file
60
var/spack/repos/builtin/packages/cbtf-lanl/package.py
Normal file
@@ -0,0 +1,60 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU 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 CbtfLanl(Package):
|
||||
"""CBTF LANL project contains a memory tool and data center type system command monitoring tool."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home/"
|
||||
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-lanl-1.5.tar.gz"
|
||||
#version('1.5', 'c3f78f967b0a42c6734ce4be0e602426')
|
||||
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf-lanl/cbtf-lanl')
|
||||
|
||||
|
||||
# Dependencies for cbtf-krell
|
||||
depends_on("boost@1.50")
|
||||
depends_on("mrnet@4.1.0:+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("cbtf")
|
||||
depends_on("cbtf-krell")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
# Add in paths for finding package config files that tell us where to find these packages
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix)
|
||||
|
||||
with working_dir('build', create=True):
|
||||
cmake('..',
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake'),
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
62
var/spack/repos/builtin/packages/cbtf/package.py
Normal file
62
var/spack/repos/builtin/packages/cbtf/package.py
Normal file
@@ -0,0 +1,62 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU 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 Cbtf(Package):
|
||||
"""CBTF project contains the base code for CBTF that supports creating components,
|
||||
component networks and the support to connect these components and component
|
||||
networks into sequential and distributed network tools."""
|
||||
homepage = "http://sourceforge.net/p/cbtf/wiki/Home"
|
||||
|
||||
# Mirror access template example
|
||||
#url = "file:/g/g24/jeg/cbtf-1.5.tar.gz"
|
||||
#version('1.6', '1ca88a8834759c4c74452cb97fe7b70a')
|
||||
|
||||
# Use when the git repository is available
|
||||
version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf')
|
||||
|
||||
depends_on("cmake")
|
||||
#depends_on("boost@1.42.0:")
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("mrnet@4.1.0+lwthreads")
|
||||
depends_on("xerces-c@3.1.1:")
|
||||
depends_on("libxml2")
|
||||
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('build', create=True):
|
||||
|
||||
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching
|
||||
# in system paths (or other locations outside of BOOST_ROOT
|
||||
# or BOOST_INCLUDEDIR). Useful when specifying BOOST_ROOT.
|
||||
# Defaults to OFF.
|
||||
|
||||
cmake('..',
|
||||
'--debug-output',
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DXERCESC_DIR=%s' % spec['xerces-c'].prefix,
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
'-DCMAKE_MODULE_PATH=%s' % join_path(prefix.share,'KrellInstitute','cmake'),
|
||||
*std_cmake_args)
|
||||
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
18
var/spack/repos/builtin/packages/cfitsio/package.py
Normal file
18
var/spack/repos/builtin/packages/cfitsio/package.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from spack import *
|
||||
|
||||
class Cfitsio(Package):
|
||||
"""
|
||||
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):
|
||||
url = 'ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio{0}.tar.gz'
|
||||
return url.format(str(v).replace('.', ''))
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=' + prefix)
|
||||
make()
|
||||
make('install')
|
16
var/spack/repos/builtin/packages/cityhash/package.py
Normal file
16
var/spack/repos/builtin/packages/cityhash/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
from spack.util.environment import *
|
||||
|
||||
class Cityhash(Package):
|
||||
homepage = "https://github.com/google/cityhash"
|
||||
url = "https://github.com/google/cityhash"
|
||||
|
||||
version('2013-07-31', git='https://github.com/google/cityhash.git', commit='8af9b8c2b889d80c22d6bc26ba0df1afb79a30db')
|
||||
version('master', branch='master', git='https://github.com/google/cityhash.git')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--enable-sse4.2', '--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -22,8 +22,13 @@
|
||||
# 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 os
|
||||
import os.path
|
||||
|
||||
class Clang(Package):
|
||||
"""The goal of the Clang project is to create a new C, C++,
|
||||
Objective C and Objective C++ front-end for the LLVM compiler.
|
||||
@@ -39,13 +44,52 @@ class Clang(Package):
|
||||
version('3.6.2', 'ff862793682f714bb7862325b9c06e20', url='http://llvm.org/releases/3.6.2/cfe-3.6.2.src.tar.xz')
|
||||
version('3.5.1', '93f9532f8f7e6f1d8e5c1116907051cb', url='http://llvm.org/releases/3.5.1/cfe-3.5.1.src.tar.xz')
|
||||
|
||||
##########
|
||||
# @3.7.0
|
||||
resource(name='clang-tools-extra',
|
||||
url='http://llvm.org/releases/3.7.0/clang-tools-extra-3.7.0.src.tar.xz',
|
||||
md5='d5a87dacb65d981a427a536f6964642e', destination='tools', when='@3.7.0')
|
||||
##########
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
|
||||
options = []
|
||||
if '@3.7.0:' in spec:
|
||||
options.append('-DCLANG_DEFAULT_OPENMP_RUNTIME:STRING=libomp')
|
||||
options.extend(std_cmake_args)
|
||||
|
||||
cmake('..',
|
||||
'-DCLANG_PATH_TO_LLVM_BUILD=%s' % spec['llvm'].prefix,
|
||||
'-DLLVM_MAIN_SRC_DIR=%s' % spec['llvm'].prefix,
|
||||
*std_cmake_args)
|
||||
'-DCLANG_PATH_TO_LLVM_BUILD:PATH=%s' % spec['llvm'].prefix,
|
||||
'-DLLVM_MAIN_SRC_DIR:PATH=%s' % spec['llvm'].prefix,
|
||||
*options)
|
||||
make()
|
||||
make("install")
|
||||
# CLang doesn't look in llvm folders for system headers...
|
||||
self.link_llvm_directories(spec)
|
||||
|
||||
def link_llvm_directories(self, spec):
|
||||
|
||||
def clang_include_dir_at(root):
|
||||
return join_path(root, 'include')
|
||||
|
||||
def clang_lib_dir_at(root):
|
||||
return join_path(root, 'lib/clang/', str(self.version), 'include')
|
||||
|
||||
def do_link(source_dir, destination_dir):
|
||||
if os.path.exists(source_dir):
|
||||
for name in os.listdir(source_dir):
|
||||
source = join_path(source_dir, name)
|
||||
link = join_path(destination_dir, name)
|
||||
os.symlink(source, link)
|
||||
|
||||
# Link folder and files in include
|
||||
llvm_dir = clang_include_dir_at(spec['llvm'].prefix)
|
||||
clang_dir = clang_include_dir_at(self.prefix)
|
||||
do_link(llvm_dir, clang_dir)
|
||||
# Link folder and files in lib
|
||||
llvm_dir = clang_lib_dir_at(spec['llvm'].prefix)
|
||||
clang_dir = clang_lib_dir_at(self.prefix)
|
||||
do_link(llvm_dir, clang_dir)
|
23
var/spack/repos/builtin/packages/cleverleaf/package.py
Normal file
23
var/spack/repos/builtin/packages/cleverleaf/package.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from spack import *
|
||||
|
||||
class Cleverleaf(Package):
|
||||
"""
|
||||
CleverLeaf is a hydrodynamics mini-app that extends CloverLeaf with Adaptive
|
||||
Mesh Refinement using the SAMRAI toolkit from Lawrence Livermore National
|
||||
Laboratory. The primary goal of CleverLeaf is to evaluate the application of
|
||||
AMR to the Lagrangian-Eulerian hydrodynamics scheme used by CloverLeaf.
|
||||
"""
|
||||
|
||||
homepage = "http://uk-mac.github.io/CleverLeaf/"
|
||||
url = "https://github.com/UK-MAC/CleverLeaf/tarball/master"
|
||||
|
||||
version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git', branch='develop')
|
||||
|
||||
depends_on("SAMRAI@3.8.0:")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("boost")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
cmake(*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -34,12 +34,16 @@ class Cmake(Package):
|
||||
|
||||
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f',
|
||||
url = 'http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz')
|
||||
|
||||
version('3.4.0', 'cd3034e0a44256a0917e254167217fc8',
|
||||
url = 'https://cmake.org/files/v3.4/cmake-3.4.0.tar.gz')
|
||||
|
||||
# version('3.0.1', 'e2e05d84cb44a42f1371d9995631dcf5')
|
||||
# version('3.0.0', '21a1c85e1a3b803c4b48e7ff915a863e')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=' + prefix,
|
||||
'--parallel=' + str(make_jobs))
|
||||
'--parallel=' + str(make_jobs),
|
||||
'--', '-DCMAKE_USE_OPENSSL=ON')
|
||||
make()
|
||||
make('install')
|
||||
|
@@ -2,11 +2,12 @@
|
||||
|
||||
class Cram(Package):
|
||||
"""Cram runs many small MPI jobs inside one large MPI job."""
|
||||
homepage = "https://github.com/scalability-llnl/cram"
|
||||
url = "http://github.com/scalability-llnl/cram/archive/v1.0.1.tar.gz"
|
||||
homepage = "https://github.com/llnl/cram"
|
||||
url = "http://github.com/llnl/cram/archive/v1.0.1.tar.gz"
|
||||
|
||||
version('1.0.1', 'c73711e945cf5dc603e44395f6647f5e')
|
||||
|
||||
extends('python')
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
@@ -12,6 +12,9 @@ class Cube(Package):
|
||||
homepage = "http://www.scalasca.org/software/cube-4.x/download.html"
|
||||
url = "http://apps.fz-juelich.de/scalasca/releases/cube/4.2/dist/cube-4.2.3.tar.gz"
|
||||
|
||||
version('4.3.3', '07e109248ed8ffc7bdcce614264a2909',
|
||||
url='http://apps.fz-juelich.de/scalasca/releases/cube/4.3/dist/cube-4.3.3.tar.gz')
|
||||
|
||||
version('4.2.3', '8f95b9531f5a8f8134f279c2767c9b20')
|
||||
|
||||
version('4.3TP1', 'a2090fbc7b2ba394bd5c09ba971e237f',
|
||||
|
25
var/spack/repos/builtin/packages/curl/package.py
Normal file
25
var/spack/repos/builtin/packages/curl/package.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from spack import *
|
||||
|
||||
class Curl(Package):
|
||||
"""cURL is an open source command line tool and library for
|
||||
transferring data with URL syntax"""
|
||||
|
||||
homepage = "http://curl.haxx.se"
|
||||
url = "http://curl.haxx.se/download/curl-7.46.0.tar.bz2"
|
||||
|
||||
version('7.46.0', '9979f989a2a9930d10f1b3deeabc2148')
|
||||
version('7.45.0', '62c1a352b28558f25ba6209214beadc8')
|
||||
version('7.44.0', '6b952ca00e5473b16a11f05f06aa8dae')
|
||||
version('7.43.0', '11bddbb452a8b766b932f859aaeeed39')
|
||||
version('7.42.1', '296945012ce647b94083ed427c1877a8')
|
||||
|
||||
depends_on("openssl")
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix,
|
||||
'--with-zlib=%s' % spec['zlib'].prefix,
|
||||
'--with-ssl=%s' % spec['openssl'].prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -1,4 +1,5 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Czmq(Package):
|
||||
""" A C interface to the ZMQ library """
|
||||
@@ -7,11 +8,24 @@ class Czmq(Package):
|
||||
|
||||
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
|
||||
|
||||
depends_on('libtool')
|
||||
depends_on('automake')
|
||||
depends_on('autoconf')
|
||||
depends_on('pkg-config')
|
||||
depends_on('zeromq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
bash = which("bash")
|
||||
bash("./autogen.sh")
|
||||
# Work around autogen.sh oddities
|
||||
# bash("./autogen.sh")
|
||||
mkdirp("config")
|
||||
autoreconf = which("autoreconf")
|
||||
autoreconf("--install", "--verbose", "--force",
|
||||
"-I", "config",
|
||||
"-I", os.path.join(spec['pkg-config'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['automake'].prefix, "share", "aclocal"),
|
||||
"-I", os.path.join(spec['libtool'].prefix, "share", "aclocal"),
|
||||
)
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
|
14
var/spack/repos/builtin/packages/damselfly/package.py
Normal file
14
var/spack/repos/builtin/packages/damselfly/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class Damselfly(Package):
|
||||
"""Damselfly is a model-based parallel network simulator."""
|
||||
homepage = "https://github.com/llnl/damselfly"
|
||||
url = "https://github.com/llnl/damselfly"
|
||||
|
||||
version('1.0', '05cf7e2d8ece4408c0f2abb7ab63fd74c0d62895', git='https://github.com/llnl/damselfly.git', tag='v1.0')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('-DCMAKE_BUILD_TYPE=release', '..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
@@ -22,7 +22,8 @@ class Dbus(Package):
|
||||
def install(self, spec, prefix):
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--disable-systemd")
|
||||
"--disable-systemd",
|
||||
"--disable-launchd")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -49,14 +49,15 @@ def install(self, spec, prefix):
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_INCLUDE_DIR=%s' % spec['boost'].prefix.include,
|
||||
'-DBoost_LIBRARY_DIR=%s' % spec['boost'].prefix.lib,
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DLIBELF_INCLUDE_DIR=%s' % join_path(libelf.include, 'libelf'),
|
||||
'-DLIBELF_LIBRARIES=%s' % join_path(libelf.lib, 'libelf.so'),
|
||||
'-DLIBDWARF_INCLUDE_DIR=%s' % libdwarf.include,
|
||||
'-DLIBDWARF_LIBRARIES=%s' % join_path(libdwarf.lib, 'libdwarf.so'),
|
||||
*std_cmake_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
17
var/spack/repos/builtin/packages/expat/package.py
Normal file
17
var/spack/repos/builtin/packages/expat/package.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from spack import *
|
||||
|
||||
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')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make('install')
|
||||
|
96
var/spack/repos/builtin/packages/fftw/package.py
Normal file
96
var/spack/repos/builtin/packages/fftw/package.py
Normal file
@@ -0,0 +1,96 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Fftw(Package):
|
||||
"""
|
||||
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of
|
||||
arbitrary input 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.
|
||||
"""
|
||||
homepage = "http://www.fftw.org"
|
||||
url = "http://www.fftw.org/fftw-3.3.4.tar.gz"
|
||||
|
||||
version('3.3.4', '2edab8c06b24feeb3b82bbb3ebf3e7b3')
|
||||
|
||||
##########
|
||||
# Floating point precision
|
||||
FLOAT = 'float'
|
||||
LONG_DOUBLE = 'long_double'
|
||||
QUAD_PRECISION = 'quad'
|
||||
PRECISION_OPTIONS = {
|
||||
FLOAT: '--enable-float',
|
||||
LONG_DOUBLE: '--enable--long-double',
|
||||
QUAD_PRECISION: '--enable-quad-precision'
|
||||
}
|
||||
variant(FLOAT, default=False, description='Produces a single precision version of the library')
|
||||
variant(LONG_DOUBLE, default=False, description='Produces a long double precision version of the library')
|
||||
variant(QUAD_PRECISION, default=False, description='Produces a quad precision version of the library (works only with GCC and libquadmath)')
|
||||
##########
|
||||
|
||||
variant('mpi', default=False, description='Activate MPI support')
|
||||
|
||||
depends_on('mpi', when='+mpi')
|
||||
|
||||
@staticmethod
|
||||
def enabled(x):
|
||||
"""
|
||||
Given a variant name returns the string that means the variant is enabled
|
||||
|
||||
:param x: variant name
|
||||
"""
|
||||
# FIXME : duplicated from MVAPICH2
|
||||
return '+' + x
|
||||
|
||||
def check_fortran_availability(self, options):
|
||||
if not self.compiler.f77 or not self.compiler.fc:
|
||||
options.append("--disable-fortran")
|
||||
|
||||
def set_floating_point_precision(self, spec, options):
|
||||
l = [option for variant, option in Fftw.PRECISION_OPTIONS.iteritems() if self.enabled(variant) in spec]
|
||||
if len(l) > 1:
|
||||
raise RuntimeError('At most one floating point precision variant may activated per build.')
|
||||
options.extend(l)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
options = ['--prefix=%s' % prefix,
|
||||
'--enable-shared',
|
||||
'--enable-threads',
|
||||
'--enable-openmp']
|
||||
self.check_fortran_availability(options)
|
||||
self.set_floating_point_precision(spec, options)
|
||||
|
||||
if '+mpi' in spec:
|
||||
options.append('--enable-mpi')
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -12,20 +12,23 @@ class Flux(Package):
|
||||
# Also needs autotools, but should use the system version if available
|
||||
depends_on("zeromq@4.0.4:")
|
||||
depends_on("czmq@2.2:")
|
||||
depends_on("hwloc")
|
||||
depends_on("lua@5.1:5.1.99")
|
||||
depends_on("munge")
|
||||
depends_on("libjson-c")
|
||||
depends_on("libxslt")
|
||||
depends_on("python")
|
||||
depends_on("py-cffi")
|
||||
|
||||
# TODO: This provides a catalog, hacked with environment below for now
|
||||
depends_on("docbook-xml")
|
||||
depends_on("asciidoc")
|
||||
depends_on("python")
|
||||
depends_on("py-cffi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Bootstrap with autotools
|
||||
bash = which('bash')
|
||||
bash('./autogen.sh')
|
||||
bash('./autogen.sh') #yes, twice, intentionally
|
||||
|
||||
# Fix asciidoc dependency on xml style sheets and whatnot
|
||||
os.environ['XML_CATALOG_FILES'] = os.path.join(spec['docbook-xml'].prefix,
|
||||
|
@@ -8,9 +8,10 @@ class Fontconfig(Package):
|
||||
version('2.11.1' , 'e75e303b4f7756c2b16203a57ac87eba')
|
||||
|
||||
depends_on('freetype')
|
||||
depends_on('libxml2')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
configure("--prefix=%s" % prefix, "--enable-libxml2")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -38,6 +38,7 @@ class Gcc(Package):
|
||||
|
||||
DEPENDS_ON_ISL_PREDICATE = '@5.0:'
|
||||
|
||||
version('5.3.0', 'c9616fd448f980259c31de613e575719')
|
||||
version('5.2.0', 'a51bcfeb3da7dd4c623e27207ed43467')
|
||||
version('4.9.3', '6f831b4d251872736e8e9cc09746f327')
|
||||
version('4.9.2', '4df8ee253b7f3863ad0b86359cd39c43')
|
||||
@@ -79,8 +80,10 @@ def install(self, spec, prefix):
|
||||
"--with-gnu-as",
|
||||
"--with-quad"]
|
||||
# Binutils
|
||||
binutils_options = ["--with-stage1-ldflags=%s" % self.rpath_args,
|
||||
"--with-boot-ldflags=%s" % self.rpath_args,
|
||||
static_bootstrap_flags = "-static-libstdc++ -static-libgcc"
|
||||
binutils_options = ["--with-sysroot=/",
|
||||
"--with-stage1-ldflags=%s %s" % (self.rpath_args, static_bootstrap_flags),
|
||||
"--with-boot-ldflags=%s %s" % (self.rpath_args, static_bootstrap_flags),
|
||||
"--with-ld=%s/bin/ld" % spec['binutils'].prefix,
|
||||
"--with-as=%s/bin/as" % spec['binutils'].prefix]
|
||||
options.extend(binutils_options)
|
||||
@@ -89,11 +92,14 @@ def install(self, spec, prefix):
|
||||
isl_options = ["--with-isl=%s" % spec['isl'].prefix]
|
||||
options.extend(isl_options)
|
||||
|
||||
# Rest of install is straightforward.
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
build_dir = join_path(self.stage.path, 'spack-build')
|
||||
configure = Executable( join_path(self.stage.source_path, 'configure') )
|
||||
with working_dir(build_dir, create=True):
|
||||
# Rest of install is straightforward.
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
self.write_rpath_specs()
|
||||
|
||||
|
||||
|
48
var/spack/repos/builtin/packages/gdb/package.py
Normal file
48
var/spack/repos/builtin/packages/gdb/package.py
Normal file
@@ -0,0 +1,48 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://llnl.github.io/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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 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.
|
||||
"""
|
||||
homepage = "https://www.gnu.org/software/gdb"
|
||||
url = "http://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.xz"
|
||||
|
||||
version('7.10.1', '39e654460c9cdd80200a29ac020cfe11')
|
||||
version('7.10', '2a35bac41fa8e10bf04f3a0dd7f7f363')
|
||||
version('7.9.1', '35374c77a70884eb430c97061053a36e')
|
||||
version('7.9', 'e6279f26559d839f0b4218a482bcb43e')
|
||||
version('7.8.2', 'a80cf252ed2e775d4e4533341bbf2459')
|
||||
|
||||
depends_on('texinfo')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -7,10 +7,25 @@ class Git(Package):
|
||||
homepage = "http://git-scm.com"
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-2.2.1.tar.xz"
|
||||
|
||||
version('2.6.3', '5a6375349c3f13c8dbbabfc327bae429')
|
||||
version('2.6.2', '32ae5ad29763fc927bfcaeab55385fd9')
|
||||
version('2.6.1', 'dd4a3a7fe96598c553edd39d40c9c290')
|
||||
version('2.6.0', '6b7d43d615fb3f0dfecf4d131e23f438')
|
||||
version('2.5.4', 'ec118fcd1cf984edc17eb6588b78e81b')
|
||||
version('2.2.1', '43e01f9d96ba8c11611e0eef0d9f9f28')
|
||||
|
||||
# Use system openssl.
|
||||
# depends_on("openssl")
|
||||
|
||||
# Git compiles with curl support by default on but if your system
|
||||
# does not have it you will not be able to clone https repos
|
||||
variant("curl", default=False, description="Add the internal support of curl for https clone")
|
||||
|
||||
# Git compiles with expat support by default on but if your system
|
||||
# does not have it you will not be able to push https repos
|
||||
variant("expat", default=False, description="Add the internal support of expat for https push")
|
||||
|
||||
depends_on("openssl")
|
||||
depends_on("curl", when="+curl")
|
||||
depends_on("expat", when="+expat")
|
||||
|
||||
# Use system perl for now.
|
||||
# depends_on("perl")
|
||||
@@ -19,9 +34,26 @@ class Git(Package):
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--without-pcre",
|
||||
"--without-python")
|
||||
configure_args = [
|
||||
"--prefix=%s" % prefix,
|
||||
"--without-pcre",
|
||||
"--with-openssl=%s" % spec['openssl'].prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix
|
||||
]
|
||||
|
||||
if '+curl' in spec:
|
||||
configure_args.append("--with-curl=%s" % spec['curl'].prefix)
|
||||
|
||||
if '+expat' in spec:
|
||||
configure_args.append("--with-expat=%s" % spec['expat'].prefix)
|
||||
|
||||
configure(*configure_args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -11,6 +11,7 @@ class Glib(Package):
|
||||
version('2.42.1', '89c4119e50e767d3532158605ee9121a')
|
||||
|
||||
depends_on("libffi")
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
class Global(Package):
|
||||
""" The Gnu Global tagging system """
|
||||
# FIXME: add a proper url for your package's homepage here.
|
||||
|
||||
homepage = "http://www.gnu.org/software/global"
|
||||
url = "http://tamacom.com/global/global-6.5.tar.gz"
|
||||
|
||||
@@ -13,9 +13,9 @@ class Global(Package):
|
||||
depends_on('exuberant-ctags')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
config_args = ['--prefix={}'.format(prefix)]
|
||||
config_args = ['--prefix={0}'.format(prefix)]
|
||||
|
||||
config_args.append('--with-exuberant-ctags={}'.format(
|
||||
config_args.append('--with-exuberant-ctags={0}'.format(
|
||||
os.path.join(spec['exuberant-ctags'].prefix.bin, 'ctags')))
|
||||
|
||||
configure(*config_args)
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -31,6 +31,7 @@ class Gmp(Package):
|
||||
homepage = "https://gmplib.org"
|
||||
url = "https://gmplib.org/download/gmp/gmp-6.0.0a.tar.bz2"
|
||||
|
||||
version('6.1.0' , '86ee6e54ebfc4a90b643a65e402c4048')
|
||||
version('6.0.0a', 'b7ff2d88cae7f8085bd5006096eed470')
|
||||
version('6.0.0' , '6ef5869ae735db9995619135bd856b84')
|
||||
|
||||
|
61
var/spack/repos/builtin/packages/gnuplot/package.py
Normal file
61
var/spack/repos/builtin/packages/gnuplot/package.py
Normal file
@@ -0,0 +1,61 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 os
|
||||
|
||||
class Gnuplot(Package):
|
||||
"""
|
||||
Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other
|
||||
platforms. The source code is copyrighted but freely distributed (i.e., you don't have to pay for it). It was
|
||||
originally created to allow scientists and students to visualize mathematical functions and data interactively,
|
||||
but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by
|
||||
third-party applications like Octave. Gnuplot has been supported and under active development since 1986
|
||||
"""
|
||||
homepage = "http://www.gnuplot.info"
|
||||
url = "http://downloads.sourceforge.net/project/gnuplot/gnuplot/5.0.1/gnuplot-5.0.1.tar.gz"
|
||||
|
||||
version('5.0.1', '79b4f9e203728f76b60b28bcd402d3c7')
|
||||
|
||||
depends_on('readline')
|
||||
depends_on('libcerf')
|
||||
depends_on('libgd')
|
||||
depends_on('cairo')
|
||||
depends_on('pango')
|
||||
depends_on('wx', when='+wx')
|
||||
|
||||
variant('wx', default=False, description='Activates wxWidgets terminal')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# It seems there's an open bug for wxWidgets support
|
||||
# See : http://sourceforge.net/p/gnuplot/bugs/1694/
|
||||
os.environ['TERMLIBS'] = '-lX11'
|
||||
|
||||
options = ['--prefix=%s' % prefix]
|
||||
|
||||
configure(*options)
|
||||
make()
|
||||
make("install")
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
46
var/spack/repos/builtin/packages/gsl/package.py
Normal file
46
var/spack/repos/builtin/packages/gsl/package.py
Normal file
@@ -0,0 +1,46 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Gsl(Package):
|
||||
"""
|
||||
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the
|
||||
GNU General Public License. The library provides a wide range of mathematical routines such as random number
|
||||
generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive
|
||||
test suite.
|
||||
"""
|
||||
homepage = "http://www.gnu.org/software/gsl"
|
||||
url = "http://mirror.switch.ch/ftp/mirror/gnu/gsl/gsl-2.1.tar.gz"
|
||||
|
||||
version('2.1' , 'd8f70abafd3e9f0bae03c52d1f4e8de5')
|
||||
version('2.0' , 'ae44cdfed78ece40e73411b63a78c375')
|
||||
version('1.16', 'e49a664db13d81c968415cd53f62bc8b')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -11,22 +11,30 @@ class Hdf5(Package):
|
||||
list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
|
||||
list_depth = 3
|
||||
|
||||
version('1.8.16', 'b8ed9a36ae142317f88b0c7ef4b9c618')
|
||||
version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24')
|
||||
version('1.8.13', 'c03426e9e77d7766944654280b467289')
|
||||
|
||||
depends_on("mpi")
|
||||
variant('mpi', default=False, description='Enable MPI support')
|
||||
|
||||
depends_on("mpi", when='+mpi')
|
||||
depends_on("zlib")
|
||||
|
||||
# TODO: currently hard-coded to use OpenMPI
|
||||
def install(self, spec, prefix):
|
||||
extra_args = []
|
||||
if '+mpi' in spec:
|
||||
extra_args.extend([
|
||||
"--enable-parallel",
|
||||
"CC=%s" % spec['mpi'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['mpi'].prefix.bin + "/mpic++",
|
||||
])
|
||||
|
||||
configure(
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-zlib=%s" % spec['zlib'].prefix,
|
||||
"--enable-parallel",
|
||||
"--enable-shared",
|
||||
"CC=%s" % spec['mpich'].prefix.bin + "/mpicc",
|
||||
"CXX=%s" % spec['mpich'].prefix.bin + "/mpic++")
|
||||
*extra_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -15,11 +15,16 @@ class Hwloc(Package):
|
||||
homepage = "http://www.open-mpi.org/projects/hwloc/"
|
||||
url = "http://www.open-mpi.org/software/hwloc/v1.9/downloads/hwloc-1.9.tar.gz"
|
||||
|
||||
version('1.11.2', '486169cbe111cdea57be12638828ebbf',
|
||||
url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.2.tar.bz2')
|
||||
version('1.11.1', '002742efd3a8431f98d6315365a2b543',
|
||||
url='http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.1.tar.bz2')
|
||||
version('1.9', '1f9f9155682fe8946a97c08896109508')
|
||||
|
||||
depends_on('libpciaccess')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -5,8 +5,8 @@ class Hypre(Package):
|
||||
features parallel multigrid methods for both structured and
|
||||
unstructured grid problems."""
|
||||
|
||||
homepage = "https://computation.llnl.gov/project/linear_solvers/software.php"
|
||||
url = "https://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
|
||||
homepage = "http://computation.llnl.gov/project/linear_solvers/software.php"
|
||||
url = "http://computation.llnl.gov/project/linear_solvers/download/hypre-2.10.0b.tar.gz"
|
||||
|
||||
version('2.10.0b', '768be38793a35bb5d055905b271f5b8e')
|
||||
|
||||
|
@@ -14,8 +14,8 @@ class Jdk(Package):
|
||||
in the form of a binary product aimed at Java developers."""
|
||||
homepage = "http://www.oracle.com/technetwork/java/javase/downloads/index.html"
|
||||
|
||||
version('8u25-linux-x64', 'e145c03a7edc845215092786bcfba77e',
|
||||
url="http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz")
|
||||
version('8u66-linux-x64', '88f31f3d642c3287134297b8c10e61bf',
|
||||
url="http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz")
|
||||
|
||||
# Oracle requires that you accept their License Agreement in order
|
||||
# to access the Java packages in download.oracle.com. In order to
|
||||
|
24
var/spack/repos/builtin/packages/jemalloc/package.py
Normal file
24
var/spack/repos/builtin/packages/jemalloc/package.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from spack import *
|
||||
|
||||
class Jemalloc(Package):
|
||||
"""jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support."""
|
||||
homepage = "http://www.canonware.com/jemalloc/"
|
||||
url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
|
||||
|
||||
version('4.0.4', '687c5cc53b9a7ab711ccd680351ff988')
|
||||
|
||||
variant('stats', default=False, description='Enable heap statistics')
|
||||
variant('prof', default=False, description='Enable heap profiling')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure_args = ['--prefix=%s' % prefix,]
|
||||
|
||||
if '+stats' in spec:
|
||||
configure_args.append('--enable-stats')
|
||||
if '+prof' in spec:
|
||||
configure_args.append('--enable-prof')
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
make()
|
||||
make("install")
|
15
var/spack/repos/builtin/packages/judy/package.py
Normal file
15
var/spack/repos/builtin/packages/judy/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class Judy(Package):
|
||||
"""A general-purpose dynamic array, associative array and hash-trie - Judy"""
|
||||
homepage = "http://judy.sourceforge.net/"
|
||||
url = "http://downloads.sourceforge.net/project/judy/judy/Judy-1.0.5/Judy-1.0.5.tar.gz"
|
||||
|
||||
version('1.0.5', '115a0d26302676e962ae2f70ec484a54')
|
||||
parallel = False
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
make("install")
|
@@ -6,7 +6,7 @@
|
||||
# Written by Matthew LeGendre, legendre1@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -31,7 +31,7 @@ class Launchmon(Package):
|
||||
url = "http://downloads.sourceforge.net/project/launchmon/launchmon/1.0.1%20release/launchmon-1.0.1.tar.gz"
|
||||
|
||||
version('1.0.1', '2f12465803409fd07f91174a4389eb2b')
|
||||
version('1.0.1-2', git='https://github.com/scalability-llnl/launchmon.git', commit='ff7e22424b8f375318951eb1c9282fcbbfa8aadf')
|
||||
version('1.0.1-2', git='https://github.com/llnl/launchmon.git', commit='ff7e22424b8f375318951eb1c9282fcbbfa8aadf')
|
||||
|
||||
depends_on('autoconf')
|
||||
depends_on('automake')
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
42
var/spack/repos/builtin/packages/libcerf/package.py
Normal file
42
var/spack/repos/builtin/packages/libcerf/package.py
Normal file
@@ -0,0 +1,42 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Libcerf(Package):
|
||||
"""
|
||||
A self-contained C library providing complex error functions, based on Faddeeva's plasma dispersion function
|
||||
w(z). Also provides Dawson's integral and Voigt's convolution of a Gaussian and a Lorentzian
|
||||
"""
|
||||
homepage = "http://sourceforge.net/projects/libcerf"
|
||||
url = "http://downloads.sourceforge.net/project/libcerf/libcerf-1.3.tgz"
|
||||
|
||||
version('1.3', 'b3504c467204df71e62aeccf73a25612')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
53
var/spack/repos/builtin/packages/libgd/package.py
Normal file
53
var/spack/repos/builtin/packages/libgd/package.py
Normal file
@@ -0,0 +1,53 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Libgd(Package):
|
||||
"""
|
||||
GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and
|
||||
"wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images,
|
||||
among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the
|
||||
fly. While not restricted to use on the web, the most common applications of GD involve website development.
|
||||
"""
|
||||
|
||||
homepage = "https://github.com/libgd/libgd"
|
||||
url = "https://github.com/libgd/libgd/archive/gd-2.1.1.tar.gz"
|
||||
|
||||
version('2.1.1', 'e91a1a99903e460e7ba00a794e72cc1e')
|
||||
|
||||
depends_on('libpng')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DENABLE_JPEG:BOOL=ON',
|
||||
'-DENABLE_PNG:BOOL=ON',
|
||||
'-DENABLE_TIFF:BOOL=ON',
|
||||
*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
@@ -0,0 +1,18 @@
|
||||
--- libmonitor-20130218/configure 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/configure 2013-02-18 10:34:05.237918411 -0800
|
||||
@@ -3600,13 +3600,13 @@
|
||||
CFLAGS=$ac_save_CFLAGS
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-g -O2"
|
||||
+ CFLAGS="-g -O0"
|
||||
else
|
||||
CFLAGS="-g"
|
||||
fi
|
||||
else
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-O2"
|
||||
+ CFLAGS="-O0"
|
||||
else
|
||||
CFLAGS=
|
||||
fi
|
@@ -0,0 +1,395 @@
|
||||
--- libmonitor-20130218/src/callback.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/callback.c 2013-02-18 10:34:17.839842826 -0800
|
||||
@@ -173,3 +173,18 @@
|
||||
MONITOR_DEBUG1("(default callback)\n");
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_mpi_post_comm_rank(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(default callback)\n");
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_mpi_pcontrol(int level)
|
||||
+{
|
||||
+ MONITOR_DEBUG("(default callback) level = %d\n", level);
|
||||
+}
|
||||
+
|
||||
+
|
||||
--- libmonitor-20130218/src/main.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/main.c 2013-02-18 10:34:17.839842826 -0800
|
||||
@@ -230,6 +230,44 @@
|
||||
monitor_fini_library_called = 1;
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Internal monitor functions.
|
||||
+ */
|
||||
+
|
||||
+struct monitor_thread_node * __attribute__ ((weak))
|
||||
+monitor_get_tn(void)
|
||||
+{
|
||||
+ return &monitor_main_tn;
|
||||
+}
|
||||
+
|
||||
+int __attribute__ ((weak))
|
||||
+monitor_get_thread_num(void)
|
||||
+{
|
||||
+ return (0);
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_reset_thread_list(struct monitor_thread_node *main_tn)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_thread_release(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+void __attribute__ ((weak))
|
||||
+monitor_thread_shootdown(void)
|
||||
+{
|
||||
+ MONITOR_DEBUG1("(weak)\n");
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
+
|
||||
void
|
||||
monitor_begin_process_fcn(void *user_data, int is_fork)
|
||||
{
|
||||
@@ -625,12 +663,6 @@
|
||||
return (monitor_main_tn.tn_user_data);
|
||||
}
|
||||
|
||||
-int __attribute__ ((weak))
|
||||
-monitor_get_thread_num(void)
|
||||
-{
|
||||
- return (0);
|
||||
-}
|
||||
-
|
||||
void * __attribute__ ((weak))
|
||||
monitor_get_addr_thread_start(void)
|
||||
{
|
||||
@@ -691,33 +723,3 @@
|
||||
MONITOR_DEBUG1("(weak)\n");
|
||||
return (FALSE);
|
||||
}
|
||||
-
|
||||
-/*
|
||||
- * Internal monitor functions.
|
||||
- */
|
||||
-struct monitor_thread_node * __attribute__ ((weak))
|
||||
-monitor_get_tn(void)
|
||||
-{
|
||||
- return &monitor_main_tn;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_reset_thread_list(struct monitor_thread_node *main_tn)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_thread_release(void)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void __attribute__ ((weak))
|
||||
-monitor_thread_shootdown(void)
|
||||
-{
|
||||
- MONITOR_DEBUG1("(weak)\n");
|
||||
- return;
|
||||
-}
|
||||
--- libmonitor-20130218/src/monitor.h 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/monitor.h 2013-02-18 10:34:17.840842821 -0800
|
||||
@@ -73,6 +73,11 @@
|
||||
extern void monitor_fini_mpi(void);
|
||||
extern void monitor_mpi_post_fini(void);
|
||||
|
||||
+extern void monitor_mpi_post_comm_rank(void);
|
||||
+extern void monitor_mpi_pcontrol(int level);
|
||||
+
|
||||
+
|
||||
+
|
||||
/*
|
||||
* Monitor support functions.
|
||||
*/
|
||||
--- libmonitor-20130218/src/mpi_comm_c.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_c.c 2013-02-18 10:34:17.878842622 -0800
|
||||
@@ -36,5 +36,8 @@
|
||||
ret = (*real_mpi_comm_rank)(comm, rank);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
+
|
||||
+
|
||||
return (ret);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f0.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f0.c 2013-02-18 10:34:17.879842617 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f1.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f1.c 2013-02-18 10:34:17.880842612 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_comm_f2.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_comm_f2.c 2013-02-18 10:34:17.880842612 -0800
|
||||
@@ -34,4 +34,5 @@
|
||||
(*real_mpi_comm_size)(comm, &size, ierror);
|
||||
(*real_mpi_comm_rank)(comm, rank, ierror);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
}
|
||||
--- libmonitor-20130218/src/pmpi.c 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/pmpi.c 2013-02-18 10:34:17.881842607 -0800
|
||||
@@ -52,11 +52,15 @@
|
||||
typedef int mpi_init_thread_fcn_t(int *, char ***, int, int *);
|
||||
typedef int mpi_finalize_fcn_t(void);
|
||||
typedef int mpi_comm_fcn_t(void *, int *);
|
||||
+typedef int mpi_pcontrol_fcn_t(int );
|
||||
+
|
||||
|
||||
typedef void f_mpi_init_fcn_t(int *);
|
||||
typedef void f_mpi_init_thread_fcn_t(int *, int *, int *);
|
||||
typedef void f_mpi_finalize_fcn_t(int *);
|
||||
typedef void f_mpi_comm_fcn_t(int *, int *, int *);
|
||||
+typedef int f_mpi_pcontrol_fcn_t(int );
|
||||
+
|
||||
|
||||
static mpi_init_fcn_t *real_pmpi_init = NULL;
|
||||
static f_mpi_init_fcn_t *real_pmpi_init_f0 = NULL;
|
||||
@@ -83,6 +87,12 @@
|
||||
static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f1 = NULL;
|
||||
static f_mpi_comm_fcn_t *real_pmpi_comm_rank_f2 = NULL;
|
||||
|
||||
+static mpi_pcontrol_fcn_t *real_pmpi_pcontrol = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f0 = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f1 = NULL;
|
||||
+static f_mpi_pcontrol_fcn_t *real_pmpi_pcontrol_f2 = NULL;
|
||||
+
|
||||
+
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
* PMPI_INIT OVERRIDE FUNCTIONS
|
||||
@@ -297,6 +307,7 @@
|
||||
ret = (*real_pmpi_comm_size)(comm, &size);
|
||||
ret = (*real_pmpi_comm_rank)(comm, rank);
|
||||
monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
|
||||
return (ret);
|
||||
}
|
||||
@@ -308,7 +319,9 @@
|
||||
MONITOR_GET_REAL_NAME_WRAP(rank_var, rank_fcn); \
|
||||
(*size_var)(comm, &size, ierror); \
|
||||
(*rank_var)(comm, rank, ierror); \
|
||||
- monitor_set_mpi_size_rank(size, *rank);
|
||||
+ monitor_set_mpi_size_rank(size, *rank); \
|
||||
+ monitor_mpi_post_comm_rank();
|
||||
+
|
||||
|
||||
/*
|
||||
* In Fortran, MPI_Comm is always int.
|
||||
@@ -333,3 +346,48 @@
|
||||
FORTRAN_COMM_RANK_BODY(real_pmpi_comm_size_f2, pmpi_comm_size__,
|
||||
real_pmpi_comm_rank_f2, pmpi_comm_rank__);
|
||||
}
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ *----------------------------------------------------------------------
|
||||
+ * PMPI_PCONTROL OVERRIDE FUNCTIONS
|
||||
+ *----------------------------------------------------------------------
|
||||
+ */
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_pmpi_pcontrol, PMPI_Pcontrol);
|
||||
+ ret = (*real_pmpi_pcontrol) (level) ;
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+ return (ret);
|
||||
+}
|
||||
+
|
||||
+#define FORTRAN_PCONTROL_BODY(var_name, fcn_name)\
|
||||
+ int ret; \
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(var_name, fcn_name); \
|
||||
+ ret = (*var_name) (level) ; \
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
|
||||
+{
|
||||
+ FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_c.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_c.c 2013-02-18 10:34:17.882842602 -0800
|
||||
@@ -0,0 +1,30 @@
|
||||
+/*
|
||||
+ * Override MPI_Pcontrol in C/C++.
|
||||
+ *
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef int mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_MPI_Pcontrol;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(MPI_Pcontrol)(int level)
|
||||
+{
|
||||
+ int ret, count;
|
||||
+
|
||||
+ MONITOR_DEBUG("level = %d\n", level); \
|
||||
+
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, MPI_Pcontrol);
|
||||
+ ret = (*real_mpi_pcontrol)(level);
|
||||
+ monitor_mpi_pcontrol(level);
|
||||
+
|
||||
+
|
||||
+ return (ret);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f0.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f0.c 2013-02-18 10:34:17.882842602 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f1.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f1.c 2013-02-18 10:34:17.883842597 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol_ in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f2.c 1969-12-31 16:00:00.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/mpi_pcontrol_f2.c 2013-02-18 10:34:17.883842597 -0800
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Override mpi_pcontrol__ in Fortran.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+#include "config.h"
|
||||
+#include "common.h"
|
||||
+#include "monitor.h"
|
||||
+
|
||||
+typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+#ifdef MONITOR_STATIC
|
||||
+extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
|
||||
+#endif
|
||||
+static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
+
|
||||
+int
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
|
||||
+{
|
||||
+ int count;
|
||||
+
|
||||
+ MONITOR_DEBUG1("\n");
|
||||
+ MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
|
||||
+ (*real_mpi_pcontrol)(level);
|
||||
+}
|
||||
--- libmonitor-20130218/src/Makefile.am 2013-02-17 23:08:32.000000000 -0800
|
||||
+++ libmonitor-20130218-fixes/src/Makefile.am 2013-02-18 10:34:17.931842343 -0800
|
||||
@@ -38,10 +38,11 @@
|
||||
MONITOR_THREAD_FILES = pthread.c
|
||||
MONITOR_SCRIPT_FILES = monitor-link monitor-run
|
||||
MONITOR_MPI_FILES = \
|
||||
- mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c \
|
||||
- mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c \
|
||||
- mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c \
|
||||
- mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c
|
||||
+ mpi_init_c.c mpi_init_thread_c.c mpi_final_c.c mpi_comm_c.c mpi_pcontrol_c.c \
|
||||
+ mpi_init_f0.c mpi_init_thread_f0.c mpi_final_f0.c mpi_comm_f0.c mpi_pcontrol_f0.c \
|
||||
+ mpi_init_f1.c mpi_init_thread_f1.c mpi_final_f1.c mpi_comm_f1.c mpi_pcontrol_f1.c \
|
||||
+ mpi_init_f2.c mpi_init_thread_f2.c mpi_final_f2.c mpi_comm_f2.c mpi_pcontrol_f2.c
|
||||
+
|
||||
|
||||
include_HEADERS = monitor.h
|
||||
bin_SCRIPTS =
|
@@ -0,0 +1,106 @@
|
||||
--- libmonitor-20130218/src/pmpi.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/pmpi.c 2013-04-11 10:03:59.300550393 -0600
|
||||
@@ -355,7 +355,7 @@
|
||||
*/
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(PMPI_Pcontrol)(int level, int *ierror )
|
||||
{
|
||||
int ret;
|
||||
|
||||
@@ -375,19 +375,19 @@
|
||||
monitor_mpi_pcontrol(level);
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f0, pmpi_pcontrol);
|
||||
}
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol_)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f1, pmpi_pcontrol_);
|
||||
}
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level)
|
||||
+MONITOR_WRAP_NAME(pmpi_pcontrol__)(int level, int *ierror )
|
||||
{
|
||||
FORTRAN_PCONTROL_BODY(real_pmpi_pcontrol_f2, pmpi_pcontrol__);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f0.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f0.c 2013-04-11 10:13:47.783002000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f1.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f1.c 2013-04-11 10:14:08.039214000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol_;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol_)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol_)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol_);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
||||
--- libmonitor-20130218/src/mpi_pcontrol_f2.c 2013-02-18 11:34:17.000000000 -0700
|
||||
+++ libmonitor-20130218-fixed/src/mpi_pcontrol_f2.c 2013-04-11 10:14:19.000960000 -0600
|
||||
@@ -7,18 +7,18 @@
|
||||
#include "common.h"
|
||||
#include "monitor.h"
|
||||
|
||||
-typedef void mpi_pcontrol_fcn_t(int level);
|
||||
+typedef void mpi_pcontrol_fcn_t(int level, int *ierror);
|
||||
#ifdef MONITOR_STATIC
|
||||
extern mpi_pcontrol_fcn_t __real_mpi_pcontrol__;
|
||||
#endif
|
||||
static mpi_pcontrol_fcn_t *real_mpi_pcontrol = NULL;
|
||||
|
||||
int
|
||||
-MONITOR_WRAP_NAME(mpi_pcontrol__)(int level)
|
||||
+MONITOR_WRAP_NAME(mpi_pcontrol__)(int level, int *ierror)
|
||||
{
|
||||
int count;
|
||||
|
||||
MONITOR_DEBUG1("\n");
|
||||
MONITOR_GET_REAL_NAME_WRAP(real_mpi_pcontrol, mpi_pcontrol__);
|
||||
- (*real_mpi_pcontrol)(level);
|
||||
+ (*real_mpi_pcontrol)(level, ierror);
|
||||
}
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -29,6 +29,13 @@ class Libmonitor(Package):
|
||||
homepage = "http://hpctoolkit.org"
|
||||
|
||||
version('20130218', svn='http://libmonitor.googlecode.com/svn/trunk/', revision=146)
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
|
||||
|
||||
patch('libmonitorkrell-0000.patch', when='@20130218+krellpatch')
|
||||
patch('libmonitorkrell-0001.patch', when='@20130218+krellpatch')
|
||||
patch('libmonitorkrell-0002.patch', when='@20130218+krellpatch')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=" + prefix)
|
||||
|
@@ -1,4 +1,5 @@
|
||||
from spack import *
|
||||
import os.path
|
||||
|
||||
class Libpciaccess(Package):
|
||||
"""Generic PCI access library."""
|
||||
@@ -13,6 +14,12 @@ class Libpciaccess(Package):
|
||||
depends_on('libtool')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# libpciaccess does not support OS X
|
||||
if spec.satisfies('=darwin-x86_64'):
|
||||
# create a dummy directory
|
||||
mkdir(prefix.lib)
|
||||
return
|
||||
|
||||
from subprocess import call
|
||||
call(["./autogen.sh"])
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -1,4 +1,5 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Libxml2(Package):
|
||||
"""Libxml2 is the XML C parser and toolkit developed for the Gnome
|
||||
@@ -9,12 +10,21 @@ class Libxml2(Package):
|
||||
|
||||
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
|
||||
|
||||
extends('python')
|
||||
variant('python', default=False, description='Enable Python support')
|
||||
|
||||
extends('python', when='+python', ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|(lib/xml2.*$)|(lib/cmake.*$)')
|
||||
depends_on('zlib')
|
||||
depends_on('xz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
if '+python' in spec:
|
||||
site_packages_dir = os.path.join(prefix, 'lib/python%s.%s/site-packages' %(spec['python'].version[:2]))
|
||||
python_args = ["--with-python=%s" % spec['python'].prefix, "--with-python-install-dir=%s" % site_packages_dir]
|
||||
else:
|
||||
python_args = ["--without-python"]
|
||||
|
||||
configure("--prefix=%s" % prefix,
|
||||
*python_args)
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by David Beckingsale, david@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -38,16 +38,35 @@ class Llvm(Package):
|
||||
version('3.7.0', 'b98b9495e5655a672d6cb83e1a180f8e', url='http://llvm.org/releases/3.7.0/llvm-3.7.0.src.tar.xz')
|
||||
version('3.6.2', '0c1ee3597d75280dee603bae9cbf5cc2', url='http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz')
|
||||
version('3.5.1', '2d3d8004f38852aa679e5945b8ce0b14', url='http://llvm.org/releases/3.5.1/llvm-3.5.1.src.tar.xz')
|
||||
version('3.0', 'a8e5f5f1c1adebae7b4a654c376a6005', url='http://llvm.org/releases/3.0/llvm-3.0.tar.gz') # currently required by mesa package
|
||||
|
||||
depends_on('python@2.7:')
|
||||
|
||||
variant('libcxx', default=False, description="Builds the LLVM Standard C++ library targeting C++11")
|
||||
|
||||
##########
|
||||
# @3.7.0
|
||||
resource(name='compiler-rt',
|
||||
url='http://llvm.org/releases/3.7.0/compiler-rt-3.7.0.src.tar.xz', md5='383c10affd513026f08936b5525523f5',
|
||||
destination='projects', when='@3.7.0')
|
||||
resource(name='openmp',
|
||||
url='http://llvm.org/releases/3.7.0/openmp-3.7.0.src.tar.xz', md5='f482c86fdead50ba246a1a2b0bbf206f',
|
||||
destination='projects', when='@3.7.0')
|
||||
resource(name='libcxx',
|
||||
url='http://llvm.org/releases/3.7.0/libcxx-3.7.0.src.tar.xz', md5='46aa5175cbe1ad42d6e9c995968e56dd',
|
||||
destination='projects', placement='libcxx', when='+libcxx@3.7.0')
|
||||
resource(name='libcxxabi',
|
||||
url='http://llvm.org/releases/3.7.0/libcxxabi-3.7.0.src.tar.xz', md5='5aa769e2fca79fa5335cfae8f6258772',
|
||||
destination='projects', placement='libcxxabi', when='+libcxx@3.7.0')
|
||||
##########
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['CXXFLAGS'] = self.compiler.cxx11_flag
|
||||
|
||||
with working_dir('spack-build', create=True):
|
||||
cmake('..',
|
||||
'-DLLVM_REQUIRES_RTTI=1',
|
||||
'-DPYTHON_EXECUTABLE=%s/bin/python' % spec['python'].prefix,
|
||||
'-DLLVM_REQUIRES_RTTI:BOOL=ON',
|
||||
'-DPYTHON_EXECUTABLE:PATH=%s/bin/python' % spec['python'].prefix,
|
||||
*std_cmake_args)
|
||||
make()
|
||||
make("install")
|
||||
|
26
var/spack/repos/builtin/packages/lmod/package.py
Normal file
26
var/spack/repos/builtin/packages/lmod/package.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Lmod(Package):
|
||||
"""
|
||||
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 = "http://sourceforge.net/projects/lmod/files/Lmod-6.0.1.tar.bz2/download"
|
||||
|
||||
version('6.0.1', '91abf52fe5033bd419ffe2842ebe7af9')
|
||||
|
||||
depends_on("lua@5.2:")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Add our lua to PATH
|
||||
os.environ['PATH'] = spec['lua'].prefix.bin + ';' + os.environ['PATH']
|
||||
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -21,6 +21,8 @@ class Lua(Package):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('INSTALL_TOP=%s' % prefix,
|
||||
'MYLDFLAGS=-L%s/lib' % spec['ncurses'].prefix,
|
||||
'linux',
|
||||
'MYLDFLAGS="-L%s/lib -Wl,-rpath,%s"' % (spec['ncurses'].prefix,spec['ncurses'].prefix),
|
||||
'linux')
|
||||
make('INSTALL_TOP=%s' % prefix,
|
||||
'MYLDFLAGS="-L%s/lib -Wl,-rpath,%s"' % (spec['ncurses'].prefix,spec['ncurses'].prefix),
|
||||
'install')
|
||||
|
@@ -3,10 +3,10 @@
|
||||
class Memaxes(Package):
|
||||
"""MemAxes is a visualizer for sampled memory trace data."""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/MemAxes"
|
||||
homepage = "https://github.com/llnl/MemAxes"
|
||||
|
||||
version('0.5', '5874f3fda9fd2d313c0ff9684f915ab5',
|
||||
url='https://github.com/scalability-llnl/MemAxes/archive/v0.5.tar.gz')
|
||||
url='https://github.com/llnl/MemAxes/archive/v0.5.tar.gz')
|
||||
|
||||
depends_on("cmake@2.8.9:")
|
||||
depends_on("qt@5:")
|
||||
@@ -16,4 +16,3 @@ def install(self, spec, prefix):
|
||||
cmake('..', *std_cmake_args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
|
@@ -14,7 +14,7 @@ class Mesa(Package):
|
||||
# mesa 7.x, 8.x, 9.x
|
||||
depends_on("libdrm@2.4.33")
|
||||
depends_on("llvm@3.0")
|
||||
depends_on("libxml2")
|
||||
depends_on("libxml2+python")
|
||||
|
||||
# patch("llvm-fixes.patch") # using newer llvm
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -31,6 +31,7 @@ class Mpc(Package):
|
||||
homepage = "http://www.multiprecision.org"
|
||||
url = "ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz"
|
||||
|
||||
version('1.0.3', 'd6a1d5f8ddea3abd2cc3e98f58352d26')
|
||||
version('1.0.2', '68fadff3358fb3e7976c7a398a0af4c3')
|
||||
|
||||
depends_on("gmp")
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
@@ -85,8 +85,13 @@ def filter_compilers(self):
|
||||
mpif77 = os.path.join(bin, 'mpif77')
|
||||
mpif90 = os.path.join(bin, 'mpif90')
|
||||
|
||||
spack_cc = os.environ['CC']
|
||||
spack_cxx = os.environ['CXX']
|
||||
spack_f77 = os.environ['F77']
|
||||
spack_fc = os.environ['FC']
|
||||
|
||||
kwargs = { 'ignore_absent' : True, 'backup' : False, 'string' : True }
|
||||
filter_file('CC="cc"', 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
|
||||
filter_file('CXX="c++"', 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
|
||||
filter_file('F77="f77"', 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
|
||||
filter_file('FC="f90"', 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
|
||||
filter_file('CC="%s"' % spack_cc , 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
|
||||
filter_file('CXX="%s"'% spack_cxx, 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
|
||||
filter_file('F77="%s"'% spack_f77, 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
|
||||
filter_file('FC="%s"' % spack_fc , 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -7,13 +7,19 @@ class Mrnet(Package):
|
||||
|
||||
version('4.0.0', 'd00301c078cba57ef68613be32ceea2f')
|
||||
version('4.1.0', '5a248298b395b329e2371bf25366115c')
|
||||
version('5.0.1', '17f65738cf1b9f9b95647ff85f69ecdd')
|
||||
|
||||
variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries")
|
||||
parallel = False
|
||||
|
||||
depends_on("boost")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
# Build the MRNet LW thread safe libraries when the krelloptions variant is present
|
||||
if '+lwthreads' in spec:
|
||||
configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe")
|
||||
else:
|
||||
configure("--prefix=%s" %prefix, "--enable-shared")
|
||||
|
||||
make()
|
||||
make("install")
|
||||
|
@@ -7,8 +7,8 @@ class Muster(Package):
|
||||
for performance data analysis on systems with very large
|
||||
numbers of processes.
|
||||
"""
|
||||
homepage = "https://github.com/scalability-llnl/muster"
|
||||
url = "https://github.com/scalability-llnl/muster/archive/v1.0.tar.gz"
|
||||
homepage = "https://github.com/llnl/muster"
|
||||
url = "https://github.com/llnl/muster/archive/v1.0.tar.gz"
|
||||
|
||||
version('1.0.1', 'd709787db7e080447afb6571ac17723c')
|
||||
version('1.0', '2eec6979a4a36d3a65a792d12969be16')
|
||||
|
@@ -1,104 +1,184 @@
|
||||
import os
|
||||
from spack import *
|
||||
import os
|
||||
|
||||
class Mvapich2(Package):
|
||||
"""mvapich2 is an MPI implmenetation for infiniband networks."""
|
||||
"""MVAPICH2 is an MPI implementation for Infiniband networks."""
|
||||
homepage = "http://mvapich.cse.ohio-state.edu/"
|
||||
|
||||
version('2.2a', 'b8ceb4fc5f5a97add9b3ff1b9cbe39d2',
|
||||
url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2a.tar.gz')
|
||||
|
||||
version('2.0', '9fbb68a4111a8b6338e476dc657388b4',
|
||||
url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.0.tar.gz')
|
||||
|
||||
version('1.9', '5dc58ed08fd3142c260b70fe297e127c',
|
||||
url="http://mvapich.cse.ohio-state.edu/download/mvapich2/mv2/mvapich2-1.9.tgz")
|
||||
patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
|
||||
|
||||
version('2.0', '9fbb68a4111a8b6338e476dc657388b4',
|
||||
url='http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.0.tar.gz')
|
||||
provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
|
||||
provides('mpi@:3.0', when='@2.0:') # MVAPICH2-2.0 supports MPI 3.0
|
||||
|
||||
provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
|
||||
provides('mpi@:3.0', when='@2.0') # MVAPICH2-2.0 supports MPI 3.0
|
||||
variant('debug', default=False, description='Enables debug information and error messages at run-time')
|
||||
|
||||
##########
|
||||
# TODO : Process managers should be grouped into the same variant, as soon as variant capabilities will be extended
|
||||
# See https://groups.google.com/forum/#!topic/spack/F8-f8B4_0so
|
||||
SLURM = 'slurm'
|
||||
HYDRA = 'hydra'
|
||||
GFORKER = 'gforker'
|
||||
REMSHELL = 'remshell'
|
||||
SLURM_INCOMPATIBLE_PMS = (HYDRA, GFORKER, REMSHELL)
|
||||
variant(SLURM, default=False, description='Sets slurm as the only process manager')
|
||||
variant(HYDRA, default=False, description='Sets hydra as one of the process managers')
|
||||
variant(GFORKER, default=False, description='Sets gforker as one of the process managers')
|
||||
variant(REMSHELL, default=False, description='Sets remshell as one of the process managers')
|
||||
##########
|
||||
|
||||
##########
|
||||
# TODO : Network types should be grouped into the same variant, as soon as variant capabilities will be extended
|
||||
PSM = 'psm'
|
||||
SOCK = 'sock'
|
||||
NEMESISIBTCP = 'nemesisibtcp'
|
||||
NEMESISIB = 'nemesisib'
|
||||
NEMESIS = 'nemesis'
|
||||
SUPPORTED_NETWORKS = (PSM, SOCK, NEMESIS, NEMESISIB, NEMESISIBTCP)
|
||||
variant(PSM, default=False, description='Configures a build for QLogic PSM-CH3')
|
||||
variant(SOCK, default=False, description='Configures a build for TCP/IP-CH3')
|
||||
variant(NEMESISIBTCP, default=False, description='Configures a build for both OFA-IB-Nemesis and TCP/IP-Nemesis')
|
||||
variant(NEMESISIB, default=False, description='Configures a build for OFA-IB-Nemesis')
|
||||
variant(NEMESIS, default=False, description='Configures a build for TCP/IP-Nemesis')
|
||||
##########
|
||||
|
||||
# FIXME : CUDA support is missing
|
||||
|
||||
@staticmethod
|
||||
def enabled(x):
|
||||
"""
|
||||
Given a variant name returns the string that means the variant is enabled
|
||||
|
||||
:param x: variant name
|
||||
:return:
|
||||
"""
|
||||
return '+' + x
|
||||
|
||||
def set_build_type(self, spec, configure_args):
|
||||
"""
|
||||
Appends to configure_args the flags that depends only on the build type (i.e. release or debug)
|
||||
|
||||
:param spec: spec
|
||||
:param configure_args: list of current configure arguments
|
||||
"""
|
||||
if '+debug' in spec:
|
||||
build_type_options = [
|
||||
"--disable-fast",
|
||||
"--enable-error-checking=runtime",
|
||||
"--enable-error-messages=all",
|
||||
"--enable-g=dbg", "--enable-debuginfo" # Permits debugging with TotalView
|
||||
]
|
||||
else:
|
||||
build_type_options = ["--enable-fast=all"]
|
||||
|
||||
configure_args.extend(build_type_options)
|
||||
|
||||
def set_process_manager(self, spec, configure_args):
|
||||
"""
|
||||
Appends to configure_args the flags that will enable the appropriate process managers
|
||||
|
||||
:param spec: spec
|
||||
:param configure_args: list of current configure arguments
|
||||
"""
|
||||
# Check that slurm variant is not activated together with other pm variants
|
||||
has_slurm_incompatible_variants = any(self.enabled(x) in spec for x in Mvapich2.SLURM_INCOMPATIBLE_PMS)
|
||||
if self.enabled(Mvapich2.SLURM) in spec and has_slurm_incompatible_variants:
|
||||
raise RuntimeError(" %s : 'slurm' cannot be activated together with other process managers" % self.name)
|
||||
|
||||
process_manager_options = []
|
||||
if self.enabled(Mvapich2.SLURM) in spec:
|
||||
process_manager_options = [
|
||||
"--with-pm=slurm"
|
||||
]
|
||||
elif has_slurm_incompatible_variants:
|
||||
pms = []
|
||||
# The variant name is equal to the process manager name in the configuration options
|
||||
for x in Mvapich2.SLURM_INCOMPATIBLE_PMS:
|
||||
if self.enabled(x) in spec:
|
||||
pms.append(x)
|
||||
process_manager_options = [
|
||||
"--with-pm=%s" % ':'.join(pms)
|
||||
]
|
||||
configure_args.extend(process_manager_options)
|
||||
|
||||
def set_network_type(self, spec, configure_args):
|
||||
# Check that at most one variant has been activated
|
||||
count = 0
|
||||
for x in Mvapich2.SUPPORTED_NETWORKS:
|
||||
if self.enabled(x) in spec:
|
||||
count += 1
|
||||
if count > 1:
|
||||
raise RuntimeError('network variants are mutually exclusive (only one can be selected at a time)')
|
||||
|
||||
# From here on I can suppose that ony one variant has been selected
|
||||
if self.enabled(Mvapich2.PSM) in spec:
|
||||
network_options = ["--with-device=ch3:psm"]
|
||||
elif self.enabled(Mvapich2.SOCK) in spec:
|
||||
network_options = ["--with-device=ch3:sock"]
|
||||
elif self.enabled(Mvapich2.NEMESISIBTCP) in spec:
|
||||
network_options = ["--with-device=ch3:nemesis:ib,tcp"]
|
||||
elif self.enabled(Mvapich2.NEMESISIB) in spec:
|
||||
network_options = ["--with-device=ch3:nemesis:ib"]
|
||||
elif self.enabled(Mvapich2.NEMESIS) in spec:
|
||||
network_options = ["--with-device=ch3:nemesis"]
|
||||
else:
|
||||
network_options = ["--with-device=ch3:mrail", "--with-rdma=gen2"]
|
||||
|
||||
configure_args.extend(network_options)
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# we'll set different configure flags depending on our environment
|
||||
configure_args = []
|
||||
|
||||
# TODO: The MPICH*_FLAGS have a different name for 1.9
|
||||
|
||||
if '+debug' in spec:
|
||||
# set configure flags for debug build
|
||||
configure_args.append("--disable-fast")
|
||||
configure_args.append("--enable-g=dbg")
|
||||
configure_args.append("--enable-error-checking=runtime")
|
||||
configure_args.append("--enable-error-messages=all")
|
||||
configure_args.append("--enable-nmpi-as-mpi")
|
||||
|
||||
if "%gnu" in spec:
|
||||
# set variables for GNU compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fno-second-underscore"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fno-second-underscore"
|
||||
elif "%intel" in spec:
|
||||
# set variables for Inel compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0"
|
||||
elif "%pgi" in spec:
|
||||
# set variables for PGI compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O0 -fPIC"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O0 -fPIC"
|
||||
|
||||
else:
|
||||
# set configure flags for normal optimizations
|
||||
configure_args.append("--enable-fast=all")
|
||||
configure_args.append("--enable-g=dbg")
|
||||
configure_args.append("--enable-nmpi-as-mpi")
|
||||
|
||||
if "%gnu" in spec:
|
||||
# set variables for what compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fno-second-underscore"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fno-second-underscore"
|
||||
elif "%intel" in spec:
|
||||
# set variables for Inel compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2"
|
||||
elif "%pgi" in spec:
|
||||
# set variables for PGI compilers
|
||||
os.environ['MPICHLIB_CFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_CXXFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_FFLAGS'] = "-g -O2 -fPIC"
|
||||
os.environ['MPICHLIB_F90FLAGS'] = "-g -O2 -fPIC"
|
||||
|
||||
# determine network type by variant
|
||||
if "+psm" in spec:
|
||||
# throw this flag on QLogic systems to use PSM
|
||||
configure_args.append("--with-device=ch3:psm")
|
||||
else:
|
||||
# throw this flag on IB systems
|
||||
configure_args.append("--with-device=ch3:mrail", "--with-rdma=gen2")
|
||||
|
||||
# TODO: shared-memory build
|
||||
|
||||
# TODO: CUDA
|
||||
|
||||
# TODO: other file systems like panasis
|
||||
|
||||
configure(
|
||||
"--prefix=" + prefix,
|
||||
"--enable-f77", "--enable-fc", "--enable-cxx",
|
||||
"--enable-shared", "--enable-sharedlibs=gcc",
|
||||
"--enable-debuginfo",
|
||||
"--with-pm=no", "--with-pmi=slurm",
|
||||
"--enable-romio", "--with-file-system=lustre+nfs+ufs",
|
||||
"--disable-mpe", "--without-mpe",
|
||||
configure_args = [
|
||||
"--prefix=%s" % prefix,
|
||||
"--enable-shared",
|
||||
"--enable-romio",
|
||||
"--disable-silent-rules",
|
||||
*configure_args)
|
||||
]
|
||||
if not self.compiler.f77 and not self.compiler.fc:
|
||||
configure_args.append("--enable-fortran=none")
|
||||
|
||||
# Set the type of the build (debug, release)
|
||||
self.set_build_type(spec, configure_args)
|
||||
# Set the process manager
|
||||
self.set_process_manager(spec, configure_args)
|
||||
# Determine network type by variant
|
||||
self.set_network_type(spec, configure_args)
|
||||
|
||||
configure(*configure_args)
|
||||
make()
|
||||
|
||||
make("install")
|
||||
|
||||
self.filter_compilers()
|
||||
|
||||
|
||||
def filter_compilers(self):
|
||||
"""Run after install to make the MPI compilers use the
|
||||
compilers that Spack built the package with.
|
||||
|
||||
If this isn't done, they'll have CC, CXX, F77, and FC set
|
||||
to Spack's generic cc, c++, f77, and f90. We want them to
|
||||
be bound to whatever compiler they were built with.
|
||||
"""
|
||||
bin = self.prefix.bin
|
||||
mpicc = os.path.join(bin, 'mpicc')
|
||||
mpicxx = os.path.join(bin, 'mpicxx')
|
||||
mpif77 = os.path.join(bin, 'mpif77')
|
||||
mpif90 = os.path.join(bin, 'mpif90')
|
||||
|
||||
spack_cc = os.environ['CC']
|
||||
spack_cxx = os.environ['CXX']
|
||||
spack_f77 = os.environ['F77']
|
||||
spack_fc = os.environ['FC']
|
||||
|
||||
kwargs = { 'ignore_absent' : True, 'backup' : False, 'string' : True }
|
||||
filter_file('CC="%s"' % spack_cc , 'CC="%s"' % self.compiler.cc, mpicc, **kwargs)
|
||||
filter_file('CXX="%s"'% spack_cxx, 'CXX="%s"' % self.compiler.cxx, mpicxx, **kwargs)
|
||||
filter_file('F77="%s"'% spack_f77, 'F77="%s"' % self.compiler.f77, mpif77, **kwargs)
|
||||
filter_file('FC="%s"' % spack_fc , 'FC="%s"' % self.compiler.fc, mpif90, **kwargs)
|
||||
|
@@ -14,6 +14,8 @@ class Ncurses(Package):
|
||||
version('6.0', 'ee13d052e1ead260d7c28071f46eefb1',
|
||||
url='http://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.0.tar.gz')
|
||||
|
||||
patch('patch_gcc_5.txt', when='%gcc@5.0:')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--with-shared",
|
||||
|
12
var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt
Normal file
12
var/spack/repos/builtin/packages/ncurses/patch_gcc_5.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -Naur ncurses-6.0/ncurses/Makefile.in ncurses-6.0-patched/ncurses/Makefile.in
|
||||
--- ncurses-6.0/ncurses/Makefile.in 2015-08-06 01:15:41.000000000 +0200
|
||||
+++ ncurses-6.0-patched/ncurses/Makefile.in 2015-12-15 14:58:52.710199407 +0100
|
||||
@@ -219,7 +219,7 @@
|
||||
$(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) $(TIC_PATH) $(FALLBACK_LIST) >$@
|
||||
|
||||
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
|
||||
- $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
|
||||
+ $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS) -P" "$(AWK)" generated <../include/curses.h >$@
|
||||
|
||||
init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list
|
||||
./make_keys$(BUILD_EXEEXT) keys.list > $@
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -3,9 +3,9 @@
|
||||
class OmptOpenmp(Package):
|
||||
"""LLVM/Clang OpenMP runtime with OMPT support. This is a fork of the OpenMPToolsInterface/LLVM-openmp fork of the official LLVM OpenMP mirror. This library provides a drop-in replacement of the OpenMP runtimes for GCC, Intel and LLVM/Clang."""
|
||||
homepage = "https://github.com/OpenMPToolsInterface/LLVM-openmp"
|
||||
url = "http://github.com/khuck/LLVM-openmp/archive/v0.1-spack.tar.gz"
|
||||
url = "http://github.com/khuck/LLVM-openmp/archive/v0.1.tar.gz"
|
||||
|
||||
version('spack', '35227b2726e377faa433fc841226e036')
|
||||
version('0.1', '2334e6a84b52da41b27afd9831ed5370')
|
||||
|
||||
# depends_on("foo")
|
||||
|
||||
|
@@ -17,6 +17,8 @@ class Opari2(Package):
|
||||
homepage = "http://www.vi-hps.org/projects/score-p"
|
||||
url = "http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.2.tar.gz"
|
||||
|
||||
version('1.1.4', '245d3d11147a06de77909b0805f530c0',
|
||||
url='http://www.vi-hps.org/upload/packages/opari2/opari2-1.1.4.tar.gz')
|
||||
version('1.1.2', '9a262c7ca05ff0ab5f7775ae96f3539e')
|
||||
|
||||
backend_user_provided = """\
|
||||
|
21
var/spack/repos/builtin/packages/openblas/package.py
Normal file
21
var/spack/repos/builtin/packages/openblas/package.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from spack import *
|
||||
|
||||
class Openblas(Package):
|
||||
"""OpenBLAS: An optimized BLAS library"""
|
||||
homepage = "http://www.openblas.net"
|
||||
url = "http://github.com/xianyi/OpenBLAS/archive/v0.2.15.tar.gz"
|
||||
|
||||
version('0.2.15', 'b1190f3d3471685f17cfd1ec1d252ac9')
|
||||
|
||||
# virtual dependency
|
||||
provides('blas')
|
||||
provides('lapack')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
make('libs', 'netlib', 'shared', 'CC=cc', 'FC=f77')
|
||||
make('install', "PREFIX='%s'" % prefix)
|
||||
|
||||
# Blas virtual package should provide blas.a and libblas.a
|
||||
with working_dir(prefix.lib):
|
||||
symlink('libopenblas.a', 'blas.a')
|
||||
symlink('libopenblas.a', 'libblas.a')
|
31
var/spack/repos/builtin/packages/openmpi/configure.patch
Normal file
31
var/spack/repos/builtin/packages/openmpi/configure.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
This patch addresses <https://github.com/open-mpi/ompi/issues/576>.
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -301130,10 +301130,11 @@
|
||||
case ${prev}${p} in
|
||||
|
||||
-L* | -R* | -l*)
|
||||
- # Some compilers place space between "-{L,R}" and the path.
|
||||
+ # Some compilers place space between "-{L,R,l}" and the path.
|
||||
# Remove the space.
|
||||
if test $p = "-L" ||
|
||||
- test $p = "-R"; then
|
||||
+ test $p = "-R" ||
|
||||
+ test $p = "-l"; then
|
||||
prev=$p
|
||||
continue
|
||||
fi
|
||||
@@ -303036,10 +303037,11 @@
|
||||
case ${prev}${p} in
|
||||
|
||||
-L* | -R* | -l*)
|
||||
- # Some compilers place space between "-{L,R}" and the path.
|
||||
+ # Some compilers place space between "-{L,R,l}" and the path.
|
||||
# Remove the space.
|
||||
if test $p = "-L" ||
|
||||
- test $p = "-R"; then
|
||||
+ test $p = "-R" ||
|
||||
+ test $p = "-l"; then
|
||||
prev=$p
|
||||
continue
|
||||
fi
|
@@ -14,6 +14,8 @@ class Openmpi(Package):
|
||||
|
||||
homepage = "http://www.open-mpi.org"
|
||||
|
||||
version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e',
|
||||
url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2")
|
||||
version('1.10.0', '280cf952de68369cebaca886c5ce0304',
|
||||
url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2")
|
||||
version('1.8.8', '0dab8e602372da1425e9242ae37faf8c',
|
||||
@@ -23,10 +25,15 @@ class Openmpi(Package):
|
||||
|
||||
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
|
||||
patch('llnl-platforms.patch', when="@1.6.5")
|
||||
patch('configure.patch', when="@1.10.0:")
|
||||
|
||||
provides('mpi@:2.2', when='@1.6.5') # Open MPI 1.6.5 supports MPI-2.2
|
||||
provides('mpi@:3.0', when='@1.8.8') # Open MPI 1.8.8 supports MPI-3.0
|
||||
provides('mpi@:3.0', when='@1.10.0') # Open MPI 1.10.0 supports MPI-3.0
|
||||
provides('mpi@:3.0', when='@1.10.1') # Open MPI 1.10.1 supports MPI-3.0
|
||||
|
||||
|
||||
depends_on('hwloc')
|
||||
|
||||
|
||||
def setup_dependent_environment(self, module, spec, dep_spec):
|
||||
@@ -40,6 +47,8 @@ def setup_dependent_environment(self, module, spec, dep_spec):
|
||||
def install(self, spec, prefix):
|
||||
config_args = ["--prefix=%s" % prefix]
|
||||
|
||||
config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix)
|
||||
|
||||
# TODO: use variants for this, e.g. +lanl, +llnl, etc.
|
||||
# use this for LANL builds, but for LLNL builds, we need:
|
||||
# "--with-platform=contrib/platform/llnl/optimized"
|
||||
|
216
var/spack/repos/builtin/packages/openspeedshop/package.py
Normal file
216
var/spack/repos/builtin/packages/openspeedshop/package.py
Normal file
@@ -0,0 +1,216 @@
|
||||
################################################################################
|
||||
# Copyright (c) 2015 Krell Institute. All Rights Reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation; either version 2 of the License, or (at your option) any later
|
||||
# version.
|
||||
#
|
||||
# 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 GNU General Public License for more
|
||||
# details.
|
||||
#
|
||||
# You should have received a copy of the GNU 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 Openspeedshop(Package):
|
||||
"""OpenSpeedShop is a community effort by The Krell Institute with current direct funding from DOEs NNSA.
|
||||
It builds on top of a broad list of community infrastructures, most notably Dyninst and MRNet from UW,
|
||||
libmonitor from Rice, and PAPI from UTK. OpenSpeedShop is an open source multi platform Linux performance
|
||||
tool which is targeted to support performance analysis of applications running on both single node and
|
||||
large scale IA64, IA32, EM64T, AMD64, PPC, ARM, Blue Gene and Cray platforms. OpenSpeedShop development
|
||||
is hosted by the Krell Institute. The infrastructure and base components of OpenSpeedShop are released
|
||||
as open source code primarily under LGPL.
|
||||
"""
|
||||
|
||||
|
||||
homepage = "http://www.openspeedshop.org"
|
||||
url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.2/openspeedshop-2.2.tar.gz/download"
|
||||
version('2.2', '16cb051179c2038de4e8a845edf1d573')
|
||||
|
||||
#homepage = "http://www.openspeedshop.org"
|
||||
#url = "http://sourceforge.net/projects/openss/files/openss/openspeedshop-2.1/openspeedshop-2.1.tar.gz/download"
|
||||
#version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507')
|
||||
|
||||
# optional mirror template
|
||||
#url = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz"
|
||||
#version('2.1', '64ee17166519838c7b94a1adc138e94f')
|
||||
|
||||
|
||||
|
||||
parallel = False
|
||||
|
||||
variant('offline', default=True, description="build with offline instrumentor enabled.")
|
||||
variant('cbtf', default=False, description="build with cbtf instrumentor enabled.")
|
||||
variant('runtime', default=False, description="build only the runtime libraries and collectors.")
|
||||
variant('frontend', default=False, description="build only the front-end tool using the runtime_dir to point to the target build.")
|
||||
variant('cuda', default=False, description="build with cuda packages included.")
|
||||
variant('ptgf', default=False, description="build with the PTGF based gui package enabled.")
|
||||
variant('intelmic', default=False, description="build for the Intel MIC platform.")
|
||||
variant('cray', default=False, description="build for Cray platforms.")
|
||||
variant('bluegene', default=False, description="build for Cray platforms.")
|
||||
variant('rtfe', default=False, description="build for generic cluster platforms that have different processors on the fe and be nodes.")
|
||||
|
||||
# Dependencies for openspeedshop that are common to all the variants of the OpenSpeedShop build
|
||||
depends_on("bison")
|
||||
depends_on("flex")
|
||||
depends_on("binutils@2.24+krellpatch")
|
||||
depends_on("libelf")
|
||||
depends_on("libdwarf")
|
||||
depends_on("sqlite")
|
||||
depends_on("boost@1.50.0")
|
||||
depends_on("dyninst@8.2.1")
|
||||
depends_on("python")
|
||||
depends_on("qt@3.3.8b+krellpatch")
|
||||
|
||||
# Dependencies only for the openspeedshop offline package.
|
||||
depends_on("libunwind", when='+offline')
|
||||
depends_on("papi", when='+offline')
|
||||
depends_on("libmonitor+krellpatch", when='+offline')
|
||||
#depends_on("openmpi+krelloptions", when='+offline')
|
||||
#depends_on("openmpi", when='+offline')
|
||||
#depends_on("mpich", when='+offline')
|
||||
|
||||
# Dependencies only for the openspeedshop cbtf package.
|
||||
depends_on("cbtf", when='+cbtf')
|
||||
depends_on("cbtf-krell", when='+cbtf')
|
||||
depends_on("cbtf-argonavis", when='+cbtf')
|
||||
depends_on("mrnet@4.1.0:+lwthreads", when='+cbtf')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
||||
#openmpi_prefix_path = "/opt/openmpi-1.8.2"
|
||||
#mvapich_prefix_path = "/usr/local/tools/mvapich-gnu"
|
||||
#'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix,
|
||||
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
|
||||
|
||||
# FIXME: How do we make this dynamic in spack? That is, can we specify the paths to cuda dynamically?
|
||||
# WAITING for external package support.
|
||||
#if '+cuda' in spec:
|
||||
# cuda_prefix_path = "/usr/local/cuda-6.0"
|
||||
# cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI"
|
||||
|
||||
if '+offline' in spec:
|
||||
instrumentor_setting = "offline"
|
||||
if '+runtime' in spec:
|
||||
with working_dir('build_runtime', create=True):
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DINSTRUMENTOR=%s' % instrumentor_setting,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
else:
|
||||
cmake_prefix_path = join_path(spec['dyninst'].prefix)
|
||||
with working_dir('build', create=True):
|
||||
#python_vers=join_path(spec['python'].version[:2])
|
||||
#'-DOPENMPI_DIR=%s' % openmpi_prefix_path,
|
||||
#'-DMVAPICH_DIR=%s' % mvapich_prefix_path,
|
||||
python_vers='%d.%d' % spec['python'].version[:2]
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DINSTRUMENTOR=%s' % instrumentor_setting,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBELF_DIR=%s' % spec['libelf'].prefix,
|
||||
'-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
|
||||
'-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix,
|
||||
'-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix,
|
||||
'-DPAPI_DIR=%s' % spec['papi'].prefix,
|
||||
'-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
|
||||
'-DQTLIB_DIR=%s' % spec['qt'].prefix,
|
||||
'-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
|
||||
'-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
|
||||
'-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
elif '+cbtf' in spec:
|
||||
instrumentor_setting = "cbtf"
|
||||
cmake_prefix_path = join_path(spec['cbtf'].prefix) + ':' + join_path(spec['cbtf-krell'].prefix) + ':' + join_path(spec['dyninst'].prefix)
|
||||
if '+runtime' in spec:
|
||||
with working_dir('build_cbtf_runtime', create=True):
|
||||
python_vers='%d.%d' % spec['python'].version[:2]
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DINSTRUMENTOR=%s' % instrumentor_setting,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBELF_DIR=%s' % spec['libelf'].prefix,
|
||||
'-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
|
||||
'-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
|
||||
'-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
else:
|
||||
with working_dir('build_cbtf', create=True):
|
||||
python_vers='%d.%d' % spec['python'].version[:2]
|
||||
#python_vers=join_path(spec['python'].version[:2])
|
||||
cmake('..',
|
||||
'-DCMAKE_INSTALL_PREFIX=%s' % prefix,
|
||||
'-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64,
|
||||
'-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path,
|
||||
'-DINSTRUMENTOR=%s' % instrumentor_setting,
|
||||
'-DBINUTILS_DIR=%s' % spec['binutils'].prefix,
|
||||
'-DLIBELF_DIR=%s' % spec['libelf'].prefix,
|
||||
'-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix,
|
||||
'-DSQLITE3_DIR=%s' % spec['sqlite'].prefix,
|
||||
'-DCBTF_DIR=%s' % spec['cbtf'].prefix,
|
||||
'-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix,
|
||||
'-DQTLIB_DIR=%s' % spec['qt'].prefix,
|
||||
'-DPYTHON_EXECUTABLE=%s' % join_path(spec['python'].prefix + '/bin/python'),
|
||||
'-DPYTHON_INCLUDE_DIR=%s' % join_path(spec['python'].prefix.include) + '/python' + python_vers,
|
||||
'-DPYTHON_LIBRARY=%s' % join_path(spec['python'].prefix.lib) + '/libpython' + python_vers + '.so',
|
||||
'-DBoost_NO_SYSTEM_PATHS=TRUE',
|
||||
'-DBOOST_ROOT=%s' % spec['boost'].prefix,
|
||||
'-DDYNINST_DIR=%s' % spec['dyninst'].prefix,
|
||||
'-DMRNET_DIR=%s' % spec['mrnet'].prefix,
|
||||
*std_cmake_args)
|
||||
make("clean")
|
||||
make()
|
||||
make("install")
|
||||
|
||||
#if '+frontend' in spec:
|
||||
# with working_dir('build_frontend', create=True):
|
||||
# tbd
|
||||
|
||||
|
||||
#if '+intelmic' in spec:
|
||||
# with working_dir('build_intelmic_compute', create=True):
|
||||
# tbd
|
||||
# with working_dir('build_intelmic_frontend', create=True):
|
||||
# tbd
|
||||
|
||||
#if '+cray' in spec:
|
||||
# with working_dir('build_cray_compute', create=True):
|
||||
# tbd
|
||||
# with working_dir('build_cray_frontend', create=True):
|
||||
# tbd
|
@@ -10,6 +10,8 @@ class Openssl(Package):
|
||||
url = "http://www.openssl.org/source/openssl-1.0.1h.tar.gz"
|
||||
|
||||
version('1.0.1h', '8d6d684a9430d5cc98a62a5d8fbda8cf')
|
||||
version('1.0.2d', '38dd619b2e77cbac69b99f52a053d25a')
|
||||
version('1.0.2e', '5262bfa25b60ed9de9f28d5d52d77fc5')
|
||||
|
||||
depends_on("zlib")
|
||||
parallel = False
|
||||
|
@@ -11,6 +11,10 @@ class Otf2(Package):
|
||||
homepage = "http://www.vi-hps.org/score-p"
|
||||
url = "http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz"
|
||||
|
||||
version('2.0', '5b546188b25bc1c4e285e06dddf75dfc',
|
||||
url="http://www.vi-hps.org/upload/packages/otf2/otf2-2.0.tar.gz")
|
||||
version('1.5.1', '16a9df46e0da78e374f5d12c8cdc1109',
|
||||
url='http://www.vi-hps.org/upload/packages/otf2/otf2-1.5.1.tar.gz')
|
||||
version('1.4', 'a23c42e936eb9209c4e08b61c3cf5092',
|
||||
url="http://www.vi-hps.org/upload/packages/otf2/otf2-1.4.tar.gz")
|
||||
version('1.3.1', 'd0ffc4e858455ace4f596f910e68c9f2',
|
||||
|
@@ -11,8 +11,9 @@ class Papi(Package):
|
||||
components that expose performance measurement opportunites
|
||||
across the hardware and software stack."""
|
||||
homepage = "http://icl.cs.utk.edu/papi/index.html"
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz"
|
||||
|
||||
url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.4.1.tar.gz"
|
||||
version('5.4.1', '9134a99219c79767a11463a76b0b01a2')
|
||||
version('5.3.0', '367961dd0ab426e5ae367c2713924ffb')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
@@ -20,13 +21,10 @@ def install(self, spec, prefix):
|
||||
|
||||
configure_args=["--prefix=%s" % prefix]
|
||||
|
||||
# need to force consistency in the use of compilers
|
||||
if spec.satisfies('%gcc'):
|
||||
configure_args.append('CC=gcc')
|
||||
configure_args.append('MPICH_CC=gcc')
|
||||
if spec.satisfies('%intel'):
|
||||
configure_args.append('CC=icc')
|
||||
configure_args.append('MPICH_CC=icc')
|
||||
# PAPI uses MPI if MPI is present; since we don't require an
|
||||
# MPI package, we ensure that all attempts to use MPI fail, so
|
||||
# that PAPI does not get confused
|
||||
configure_args.append('MPICC=:')
|
||||
|
||||
configure(*configure_args)
|
||||
|
||||
|
@@ -7,8 +7,6 @@ class Paraview(Package):
|
||||
version('4.4.0', 'fa1569857dd680ebb4d7ff89c2227378', url='http://www.paraview.org/files/v4.4/ParaView-v4.4.0-source.tar.gz')
|
||||
|
||||
variant('python', default=False, description='Enable Python support')
|
||||
variant('matplotlib', default=False, description='Enable Matplotlib support')
|
||||
variant('numpy', default=False, description='Enable NumPy support')
|
||||
|
||||
variant('tcl', default=False, description='Enable TCL support')
|
||||
|
||||
@@ -18,19 +16,20 @@ class Paraview(Package):
|
||||
variant('qt', default=False, description='Enable Qt support')
|
||||
|
||||
depends_on('python', when='+python')
|
||||
depends_on('py-numpy', when='+python+numpy')
|
||||
depends_on('py-matplotlib', when='+python+matplotlib')
|
||||
depends_on('py-numpy', when='+python')
|
||||
depends_on('py-matplotlib', when='+python')
|
||||
depends_on('tcl', when='+tcl')
|
||||
depends_on('mpi', when='+mpi')
|
||||
depends_on('qt', when='+qt')
|
||||
depends_on('qt@:4', when='+qt')
|
||||
|
||||
depends_on('bzip2')
|
||||
depends_on('freetype')
|
||||
depends_on('hdf5') # drags in mpi
|
||||
depends_on('hdf5')
|
||||
depends_on('hdf5+mpi', when='+mpi')
|
||||
depends_on('jpeg')
|
||||
depends_on('libpng')
|
||||
depends_on('libtiff')
|
||||
#depends_on('libxml2') # drags in python
|
||||
depends_on('libxml2')
|
||||
depends_on('netcdf')
|
||||
#depends_on('protobuf') # version mismatches?
|
||||
#depends_on('sqlite') # external version not supported
|
||||
@@ -49,7 +48,11 @@ def nfeature_to_bool(feature):
|
||||
feature_args = std_cmake_args[:]
|
||||
feature_args.append('-DPARAVIEW_BUILD_QT_GUI:BOOL=%s' % feature_to_bool('+qt'))
|
||||
feature_args.append('-DPARAVIEW_ENABLE_PYTHON:BOOL=%s' % feature_to_bool('+python'))
|
||||
if '+python' in spec:
|
||||
feature_args.append('-DPYTHON_EXECUTABLE:FILEPATH=%s/bin/python' % spec['python'].prefix)
|
||||
feature_args.append('-DPARAVIEW_USE_MPI:BOOL=%s' % feature_to_bool('+mpi'))
|
||||
if '+mpi' in spec:
|
||||
feature_args.append('-DMPIEXEC:FILEPATH=%s/bin/mpiexec' % spec['mpi'].prefix)
|
||||
feature_args.append('-DVTK_ENABLE_TCL_WRAPPING:BOOL=%s' % feature_to_bool('+tcl'))
|
||||
feature_args.append('-DVTK_OPENGL_HAS_OSMESA:BOOL=%s' % feature_to_bool('+osmesa'))
|
||||
feature_args.append('-DVTK_USE_X:BOOL=%s' % nfeature_to_bool('+osmesa'))
|
||||
@@ -63,7 +66,7 @@ def nfeature_to_bool(feature):
|
||||
'-DVTK_USER_SYSTEM_FREETYPE:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_HDF5:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_JPEG:BOOL=ON',
|
||||
#'-DVTK_USER_SYSTEM_LIBXML2:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_LIBXML2:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_NETCDF:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_TIFF:BOOL=ON',
|
||||
'-DVTK_USER_SYSTEM_ZLIB:BOOL=ON',
|
||||
|
@@ -8,6 +8,7 @@ class Pcre(Package):
|
||||
url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2"
|
||||
|
||||
version('8.36', 'b767bc9af0c20bc9c1fe403b0d41ad97')
|
||||
version('8.38', '00aabbfe56d5a48b270f999b508c5ad2')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
45
var/spack/repos/builtin/packages/pdt/package.py
Normal file
45
var/spack/repos/builtin/packages/pdt/package.py
Normal file
@@ -0,0 +1,45 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
|
||||
# Produced at the Lawrence Livermore National Laboratory.
|
||||
#
|
||||
# This file is part of Spack.
|
||||
# Written 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 General Public License (as published by
|
||||
# the Free Software Foundation) version 2.1 dated 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 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 Pdt(Package):
|
||||
"""
|
||||
Program Database Toolkit (PDT) is a framework for analyzing source code written in several programming languages
|
||||
and for making rich program knowledge accessible to developers of static and dynamic analysis tools. PDT implements
|
||||
a standard program representation, the program database (PDB), that can be accessed in a uniform way through a
|
||||
class library supporting common PDB operations.
|
||||
"""
|
||||
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
|
||||
url = "https://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-3.21.tar.gz"
|
||||
|
||||
version('3.21', '8df94298b71703decf680709a4ddf68f')
|
||||
version('3.19', 'ba5591994998771fdab216699e362228')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('-prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
@@ -18,7 +18,7 @@ class Petsc(Package):
|
||||
depends_on("hypre")
|
||||
depends_on("parmetis")
|
||||
depends_on("metis")
|
||||
depends_on("hdf5")
|
||||
depends_on("hdf5+mpi")
|
||||
depends_on("mpi")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
@@ -6,7 +6,7 @@
|
||||
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||
# LLNL-CODE-647188
|
||||
#
|
||||
# For details, see https://scalability-llnl.github.io/spack
|
||||
# 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
|
||||
|
@@ -11,8 +11,8 @@ class PyBasemap(Package):
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
depends_on('py-numpy')
|
||||
depends_on('py-matplotlib')
|
||||
depends_on('py-pil')
|
||||
depends_on('py-matplotlib+gui')
|
||||
depends_on('py-pillow')
|
||||
depends_on("geos")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
@@ -4,7 +4,7 @@ class PyCffi(Package):
|
||||
"""Foreign Function Interface for Python calling C code"""
|
||||
homepage = "http://cffi.readthedocs.org/en/latest/"
|
||||
# base https://pypi.python.org/pypi/cffi
|
||||
url = "https://pypi.python.org/packages/source/c/cffi/cffi-1.1.2.tar.gz#md5="
|
||||
url = "https://pypi.python.org/packages/source/c/cffi/cffi-1.1.2.tar.gz"
|
||||
|
||||
version('1.1.2', 'ca6e6c45b45caa87aee9adc7c796eaea')
|
||||
|
||||
|
@@ -9,10 +9,13 @@ class PyMatplotlib(Package):
|
||||
version('1.4.2', '7d22efb6cce475025733c50487bd8898')
|
||||
version('1.4.3', '86af2e3e3c61849ac7576a6f5ca44267')
|
||||
|
||||
variant('gui', default=False, description='Enable GUI')
|
||||
variant('ipython', default=False, description='Enable ipython support')
|
||||
|
||||
extends('python', ignore=r'bin/nosetests.*$')
|
||||
|
||||
depends_on('py-pyside')
|
||||
depends_on('py-ipython')
|
||||
depends_on('py-pyside', when='+gui')
|
||||
depends_on('py-ipython', when='+ipython')
|
||||
depends_on('py-pyparsing')
|
||||
depends_on('py-six')
|
||||
depends_on('py-dateutil')
|
||||
@@ -20,10 +23,10 @@ class PyMatplotlib(Package):
|
||||
depends_on('py-nose')
|
||||
depends_on('py-numpy')
|
||||
|
||||
depends_on('qt')
|
||||
depends_on('qt', when='+gui')
|
||||
depends_on('bzip2')
|
||||
depends_on('tcl')
|
||||
depends_on('tk')
|
||||
depends_on('tcl', when='+gui')
|
||||
depends_on('tk', when='+gui')
|
||||
depends_on('qhull')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
|
@@ -13,13 +13,6 @@ class PyNumpy(Package):
|
||||
depends_on('netlib-blas+fpic')
|
||||
depends_on('netlib-lapack+shared')
|
||||
|
||||
def patch(self):
|
||||
filter_file(
|
||||
"possible_executables = \['(gfortran|g77|ifort|efl)",
|
||||
"possible_executables = ['fc",
|
||||
"numpy/distutils/fcompiler/gnu.py",
|
||||
"numpy/distutils/fcompiler/intel.py")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
with open('site.cfg', 'w') as f:
|
||||
f.write('[DEFAULT]\n')
|
||||
|
14
var/spack/repos/builtin/packages/py-pillow/package.py
Normal file
14
var/spack/repos/builtin/packages/py-pillow/package.py
Normal file
@@ -0,0 +1,14 @@
|
||||
from spack import *
|
||||
|
||||
class PyPillow(Package):
|
||||
"""Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats, and provides powerful image processing and graphics capabilities."""
|
||||
|
||||
homepage = "https://python-pillow.github.io/"
|
||||
url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz"
|
||||
|
||||
version('3.0.0', 'fc8ac44e93da09678eac7e30c9b7377d')
|
||||
extends('python')
|
||||
depends_on('py-setuptools')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -2,7 +2,7 @@
|
||||
import os
|
||||
|
||||
class PyPyside(Package):
|
||||
"""array processing for numbers, strings, records, and objects."""
|
||||
"""Python bindings for Qt."""
|
||||
homepage = "https://pypi.python.org/pypi/pyside"
|
||||
url = "https://pypi.python.org/packages/source/P/PySide/PySide-1.2.2.tar.gz"
|
||||
|
||||
|
16
var/spack/repos/builtin/packages/py-twisted/package.py
Normal file
16
var/spack/repos/builtin/packages/py-twisted/package.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from spack import *
|
||||
|
||||
class PyTwisted(Package):
|
||||
"""An asynchronous networking framework written in Python"""
|
||||
homepage = "https://twistedmatrix.com/"
|
||||
url = "https://pypi.python.org/packages/source/T/Twisted/Twisted-15.3.0.tar.bz2"
|
||||
|
||||
version('15.4.0', '5337ffb6aeeff3790981a2cd56db9655')
|
||||
version('15.3.0', 'b58e83da2f00b3352afad74d0c5c4599')
|
||||
|
||||
depends_on('py-setuptools')
|
||||
|
||||
extends('python')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@@ -2,6 +2,7 @@
|
||||
import re
|
||||
from contextlib import closing
|
||||
from llnl.util.lang import match_predicate
|
||||
from spack.util.environment import *
|
||||
|
||||
from spack import *
|
||||
import spack
|
||||
@@ -16,21 +17,40 @@ class Python(Package):
|
||||
|
||||
version('2.7.8', 'd235bdfa75b8396942e360a70487ee00')
|
||||
version('2.7.10', 'c685ef0b8e9f27b5e3db5db12b268ac6')
|
||||
version('2.7.11', '1dbcc848b4cd8399a8199d000f9f823c', preferred=True)
|
||||
version('3.5.0', 'd149d2812f10cbe04c042232e7964171')
|
||||
version('3.5.1', 'e9ea6f2623fffcdd871b7b19113fde80')
|
||||
|
||||
depends_on("openssl")
|
||||
depends_on("bzip2")
|
||||
depends_on("readline")
|
||||
depends_on("ncurses")
|
||||
depends_on("sqlite")
|
||||
depends_on("zlib")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# Need this to allow python build to find the Python installation.
|
||||
env['PYTHONHOME'] = prefix
|
||||
env['MACOSX_DEPLOYMENT_TARGET'] = '10.6'
|
||||
|
||||
# Rest of install is pretty standard.
|
||||
configure("--prefix=%s" % prefix,
|
||||
# Rest of install is pretty standard except setup.py needs to be able to read the CPPFLAGS
|
||||
# and LDFLAGS as it scans for the library and headers to build
|
||||
configure_args= [
|
||||
"--prefix=%s" % prefix,
|
||||
"--with-threads",
|
||||
"--enable-shared")
|
||||
"--enable-shared",
|
||||
"CPPFLAGS=-I%s/include -I%s/include -I%s/include -I%s/include -I%s/include -I%s/include" % (
|
||||
spec['openssl'].prefix, spec['bzip2'].prefix,
|
||||
spec['readline'].prefix, spec['ncurses'].prefix,
|
||||
spec['sqlite'].prefix, spec['zlib'].prefix),
|
||||
"LDFLAGS=-L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib -L%s/lib" % (
|
||||
spec['openssl'].prefix, spec['bzip2'].prefix,
|
||||
spec['readline'].prefix, spec['ncurses'].prefix,
|
||||
spec['sqlite'].prefix, spec['zlib'].prefix)
|
||||
]
|
||||
if spec.satisfies('@3:'):
|
||||
configure_args.append('--without-ensurepip')
|
||||
configure(*configure_args)
|
||||
make()
|
||||
make("install")
|
||||
|
||||
@@ -62,7 +82,10 @@ def setup_dependent_environment(self, module, spec, ext_spec):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
"""
|
||||
# Python extension builds can have a global python executable function
|
||||
module.python = Executable(join_path(spec.prefix.bin, 'python'))
|
||||
if self.version >= Version("3.0.0") and self.version < Version("4.0.0"):
|
||||
module.python = Executable(join_path(spec.prefix.bin, 'python3'))
|
||||
else:
|
||||
module.python = Executable(join_path(spec.prefix.bin, 'python'))
|
||||
|
||||
# Add variables for lib/pythonX.Y and lib/pythonX.Y/site-packages dirs.
|
||||
module.python_lib_dir = os.path.join(ext_spec.prefix, self.python_lib_dir)
|
||||
@@ -94,7 +117,7 @@ def python_ignore(self, ext_pkg, args):
|
||||
|
||||
# Ignore pieces of setuptools installed by other packages.
|
||||
if ext_pkg.name != 'py-setuptools':
|
||||
patterns.append(r'/site\.pyc?$')
|
||||
patterns.append(r'/site[^/]*\.pyc?$')
|
||||
patterns.append(r'setuptools\.pth')
|
||||
patterns.append(r'bin/easy_install[^/]*$')
|
||||
patterns.append(r'setuptools.*egg$')
|
||||
|
@@ -10,14 +10,23 @@ class Qt(Package):
|
||||
|
||||
version('5.4.0', 'e8654e4b37dd98039ba20da7a53877e6',
|
||||
url='http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz')
|
||||
|
||||
version('5.3.2', 'febb001129927a70174467ecb508a682',
|
||||
url='http://download.qt.io/archive/qt/5.3/5.3.2/single/qt-everywhere-opensource-src-5.3.2.tar.gz')
|
||||
|
||||
version('5.2.1', 'a78408c887c04c34ce615da690e0b4c8',
|
||||
url='http://download.qt.io/archive/qt/5.2/5.2.1/single/qt-everywhere-opensource-src-5.2.1.tar.gz')
|
||||
|
||||
version('4.8.6', '2edbe4d6c2eff33ef91732602f3518eb',
|
||||
url="http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.tar.gz")
|
||||
|
||||
version('3.3.8b', '9f05b4125cfe477cc52c9742c3c09009',
|
||||
url="http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8b.tar.gz")
|
||||
|
||||
# Add patch for compile issues with qt3 found with use in the OpenSpeedShop project
|
||||
variant('krellpatch', default=False, description="build with openspeedshop based patch.")
|
||||
patch('qt3krell.patch', when='@3.3.8b+krellpatch')
|
||||
|
||||
# Use system openssl for security.
|
||||
#depends_on("openssl")
|
||||
|
||||
@@ -25,7 +34,7 @@ class Qt(Package):
|
||||
depends_on("gtkplus")
|
||||
depends_on("libxml2")
|
||||
depends_on("zlib")
|
||||
depends_on("dbus")
|
||||
depends_on("dbus", when='@4:')
|
||||
depends_on("libtiff")
|
||||
depends_on("libpng")
|
||||
depends_on("libmng")
|
||||
@@ -39,7 +48,7 @@ class Qt(Package):
|
||||
# depends_on("icu4c")
|
||||
|
||||
# OpenGL hardware acceleration
|
||||
depends_on("mesa")
|
||||
depends_on("mesa", when='@4:')
|
||||
depends_on("libxcb")
|
||||
|
||||
|
||||
@@ -85,6 +94,15 @@ def common_config_args(self):
|
||||
# Don't disable all the database drivers, but should
|
||||
# really get them into spack at some point.
|
||||
|
||||
@when('@3')
|
||||
def configure(self):
|
||||
configure('-prefix', self.prefix,
|
||||
'-v',
|
||||
'-thread',
|
||||
'-shared',
|
||||
'-release',
|
||||
'-fast'
|
||||
)
|
||||
|
||||
@when('@4')
|
||||
def configure(self):
|
||||
|
68
var/spack/repos/builtin/packages/qt/qt3krell.patch
Normal file
68
var/spack/repos/builtin/packages/qt/qt3krell.patch
Normal file
@@ -0,0 +1,68 @@
|
||||
--- qt-x11-free-3.3.8b/src/tools/qmap.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qmap.h 2015-07-08 15:47:34.757565247 -0500
|
||||
@@ -52,6 +52,7 @@
|
||||
#ifndef QT_NO_STL
|
||||
#include <iterator>
|
||||
#include <map>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
//#define QT_CHECK_MAP_RANGE
|
||||
--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluelist.h 2015-07-08 15:47:34.758565247 -0500
|
||||
@@ -50,6 +50,7 @@
|
||||
#ifndef QT_NO_STL
|
||||
#include <iterator>
|
||||
#include <list>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
//#define QT_CHECK_VALUELIST_RANGE
|
||||
--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2008-01-15 13:09:13.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/src/tools/qvaluevector.h 2015-07-08 15:47:34.758565247 -0500
|
||||
@@ -47,6 +47,7 @@
|
||||
|
||||
#ifndef QT_NO_STL
|
||||
#include <vector>
|
||||
+#include <cstddef>
|
||||
#endif
|
||||
|
||||
template <class T>
|
||||
--- qt-x11-free-3.3.8b/configure 2008-01-15 13:09:15.000000000 -0600
|
||||
+++ qt-x11-free-3.3.8b-fixes/configure 2015-07-08 15:49:03.379560633 -0500
|
||||
@@ -2339,7 +2339,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the $TheLicense? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = yes ]; then
|
||||
break
|
||||
@@ -2397,7 +2397,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of $affix license? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
||||
@@ -2443,7 +2443,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the license? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
||||
@@ -2524,7 +2524,7 @@
|
||||
else
|
||||
echo "Do you accept the terms of the $Platform License? \c"
|
||||
fi
|
||||
- read acceptance
|
||||
+ acceptance=yes
|
||||
echo
|
||||
if [ "$acceptance" = "yes" ]; then
|
||||
break
|
@@ -4,8 +4,8 @@ class Ravel(Package):
|
||||
"""Ravel is a parallel communication trace visualization tool that
|
||||
orders events according to logical time."""
|
||||
|
||||
homepage = "https://github.com/scalability-llnl/ravel"
|
||||
url = 'https://github.com/scalability-llnl/ravel/archive/v1.0.0.tar.gz'
|
||||
homepage = "https://github.com/llnl/ravel"
|
||||
url = 'https://github.com/llnl/ravel/archive/v1.0.0.tar.gz'
|
||||
|
||||
version('1.0.0', 'b25fece58331c2adfcce76c5036485c2')
|
||||
|
||||
|
15
var/spack/repos/builtin/packages/rsync/package.py
Normal file
15
var/spack/repos/builtin/packages/rsync/package.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from spack import *
|
||||
|
||||
class Rsync(Package):
|
||||
"""rsync is an open source utility that provides fast incremental file transfer."""
|
||||
homepage = "https://rsync.samba.org"
|
||||
url = "https://download.samba.org/pub/rsync/rsync-3.1.1.tar.gz"
|
||||
|
||||
version('3.1.2', '0f758d7e000c0f7f7d3792610fad70cb')
|
||||
version('3.1.1', '43bd6676f0b404326eee2d63be3cdcfe')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
make()
|
||||
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