From d1f127d8eff872cab49db922056df1d21c0514c7 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:15:17 -0500 Subject: Add changes for krell related products to binutils. Add a patch that installs libiberty_pic.a which krell products will favor/use. --- .../packages/binutils/binutilskrell-2.24.patch | 52 ++++++++++++++++++++++ var/spack/packages/binutils/package.py | 26 ++++++++--- 2 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 var/spack/packages/binutils/binutilskrell-2.24.patch (limited to 'var') diff --git a/var/spack/packages/binutils/binutilskrell-2.24.patch b/var/spack/packages/binutils/binutilskrell-2.24.patch new file mode 100644 index 0000000000..f48291a6c9 --- /dev/null +++ b/var/spack/packages/binutils/binutilskrell-2.24.patch @@ -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 diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 5a3059bbcf..43a670585e 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -3,15 +3,29 @@ from spack import * 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') def install(self, spec, prefix): - configure("--prefix=%s" % prefix) + + # Add additional configuration options for use in the OpenSpeedShop project + if '+krellpatch' in spec: + configure('--prefix', self.prefix, + '--libdir', self.prefix.lib, + '--enable-shared', + '--enable-install-libiberty', + '--disable-multilib' + ) + else: + configure("--prefix=%s" % prefix) + make() make("install") -- cgit v1.2.3-70-g09d2 From 0591980cbe4c91f60b5fe2ca811bc7ee306a1171 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:17:37 -0500 Subject: Add configuration change for krell related products, they expect the dyninst includes in include/dyninst. --- var/spack/packages/dyninst/package.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'var') diff --git a/var/spack/packages/dyninst/package.py b/var/spack/packages/dyninst/package.py index 41ec57dd2f..81df9aed80 100644 --- a/var/spack/packages/dyninst/package.py +++ b/var/spack/packages/dyninst/package.py @@ -38,6 +38,8 @@ class Dyninst(Package): version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac', url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz") + variant('krelloptions', default=False, description="build dyninst includes into include/dyninst.") + depends_on("libelf") depends_on("libdwarf") depends_on("boost@1.42:") @@ -48,15 +50,29 @@ class Dyninst(Package): libdwarf = spec['libdwarf'].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_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) + # cbtf-krell and openspeedshop expect to reference dyninst/include, so adding include specification to that end + if '+krelloptions' in spec: + cmake('..', + '-DINSTALL_INCLUDE_DIR=%s' % join_path(self.prefix.include, 'dyninst'), + '-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) + else: + cmake('..', + '-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") -- cgit v1.2.3-70-g09d2 From 13421dc4aa8dd0705728660e5bf6dab657cc170e Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:20:05 -0500 Subject: Add patches that enable features added for krell related products. Update the package file to add a krellpatch variant to control adding the patches. --- .../packages/libmonitor/libmonitorkrell-0000.patch | 18 + .../packages/libmonitor/libmonitorkrell-0001.patch | 395 +++++++++++++++++++++ .../packages/libmonitor/libmonitorkrell-0002.patch | 106 ++++++ var/spack/packages/libmonitor/package.py | 7 + 4 files changed, 526 insertions(+) create mode 100644 var/spack/packages/libmonitor/libmonitorkrell-0000.patch create mode 100644 var/spack/packages/libmonitor/libmonitorkrell-0001.patch create mode 100644 var/spack/packages/libmonitor/libmonitorkrell-0002.patch (limited to 'var') diff --git a/var/spack/packages/libmonitor/libmonitorkrell-0000.patch b/var/spack/packages/libmonitor/libmonitorkrell-0000.patch new file mode 100644 index 0000000000..3a90106850 --- /dev/null +++ b/var/spack/packages/libmonitor/libmonitorkrell-0000.patch @@ -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 diff --git a/var/spack/packages/libmonitor/libmonitorkrell-0001.patch b/var/spack/packages/libmonitor/libmonitorkrell-0001.patch new file mode 100644 index 0000000000..85d69595c0 --- /dev/null +++ b/var/spack/packages/libmonitor/libmonitorkrell-0001.patch @@ -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 = diff --git a/var/spack/packages/libmonitor/libmonitorkrell-0002.patch b/var/spack/packages/libmonitor/libmonitorkrell-0002.patch new file mode 100644 index 0000000000..514dfdf13e --- /dev/null +++ b/var/spack/packages/libmonitor/libmonitorkrell-0002.patch @@ -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); + } diff --git a/var/spack/packages/libmonitor/package.py b/var/spack/packages/libmonitor/package.py index 3b95b86ddf..b31d7576c0 100644 --- a/var/spack/packages/libmonitor/package.py +++ b/var/spack/packages/libmonitor/package.py @@ -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) -- cgit v1.2.3-70-g09d2 From 64c8fd3fa18dd6644a67cbd9e9aa5f20eb5e85a7 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:49:15 -0500 Subject: Add krelloptions variant that is used to turn on a configuration option to build the thread safe lightweight libraries. --- var/spack/packages/mrnet/package.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/mrnet/package.py b/var/spack/packages/mrnet/package.py index 6e9766f275..08c57d7436 100644 --- a/var/spack/packages/mrnet/package.py +++ b/var/spack/packages/mrnet/package.py @@ -8,12 +8,17 @@ class Mrnet(Package): version('4.0.0', 'd00301c078cba57ef68613be32ceea2f') version('4.1.0', '5a248298b395b329e2371bf25366115c') + variant('krelloptions', 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 '+krelloptions' in spec: + configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe") + else: + configure("--prefix=%s" %prefix, "--enable-shared") make() make("install") -- cgit v1.2.3-70-g09d2 From b4e0804b374f1a725d42bdf3a11c3602ff009137 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:50:11 -0500 Subject: Add the latest version to the papi package. --- var/spack/packages/papi/package.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/papi/package.py b/var/spack/packages/papi/package.py index 596f7114d6..947311ce3b 100644 --- a/var/spack/packages/papi/package.py +++ b/var/spack/packages/papi/package.py @@ -11,8 +11,11 @@ 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') + + url = "http://icl.cs.utk.edu/projects/papi/downloads/papi-5.3.0.tar.gz" version('5.3.0', '367961dd0ab426e5ae367c2713924ffb') def install(self, spec, prefix): -- cgit v1.2.3-70-g09d2 From 15ec3cb3cd713e2ae1810440d01535f6990c4909 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:51:53 -0500 Subject: Add qt3 version support and a variant that controls patching the qt3 version for compile issues and answering yes to the license questions during build. --- var/spack/packages/qt/package.py | 22 ++++++++++-- var/spack/packages/qt/qt3krell.patch | 68 ++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 var/spack/packages/qt/qt3krell.patch (limited to 'var') diff --git a/var/spack/packages/qt/package.py b/var/spack/packages/qt/package.py index 0e4abe3b1d..e8d843519d 100644 --- a/var/spack/packages/qt/package.py +++ b/var/spack/packages/qt/package.py @@ -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 @@ class Qt(Package): # 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): diff --git a/var/spack/packages/qt/qt3krell.patch b/var/spack/packages/qt/qt3krell.patch new file mode 100644 index 0000000000..3333eeacd4 --- /dev/null +++ b/var/spack/packages/qt/qt3krell.patch @@ -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 + #include ++#include + #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 + #include ++#include + #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 ++#include + #endif + + template +--- 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 -- cgit v1.2.3-70-g09d2 From f5093094eb715e8e3072ecfc3c526951e47d22fe Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:58:16 -0500 Subject: Add the cbtf-argonavis project package file. cbtf-argonavis is a project based on CBTF that supports performance analysis of GPU applications. --- var/spack/packages/cbtf-argonavis/package.py | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 var/spack/packages/cbtf-argonavis/package.py (limited to 'var') diff --git a/var/spack/packages/cbtf-argonavis/package.py b/var/spack/packages/cbtf-argonavis/package.py new file mode 100644 index 0000000000..5f76a18dae --- /dev/null +++ b/var/spack/packages/cbtf-argonavis/package.py @@ -0,0 +1,65 @@ +################################################################################ +# 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/" + + url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-argonavis-1.5.tar.gz/download" + version('1.5', '8708197dbc08980fcd7b1a3a3a40a2c9') + + # Mirror access template example + #url = "file:/opt/spack-mirror-2015-02-27/cbtf-argonavis/cbtf-argonavis-1.5.tar.gz" + #version('1.5', '1f7f6512f55409ed2135cfceabe26b82') + + depends_on("cmake") + 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/cuda-6.0" + cupti_prefix_path = "/usr/local/cuda-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, + '-DPAPI_ROOT=%s' % spec['papi'].prefix, + '-DCBTF_PREFIX=%s' % spec['cbtf'].prefix, + *std_cmake_args) + make("clean") + make() + make("install") + -- cgit v1.2.3-70-g09d2 From a9c737f9113baa4e7ae16dfe4af3d6669f521b42 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 10:59:52 -0500 Subject: Add spack build package for Xerces-C which is a supporting package for the krell related projects. --- var/spack/packages/xerces-c/package.py | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 var/spack/packages/xerces-c/package.py (limited to 'var') diff --git a/var/spack/packages/xerces-c/package.py b/var/spack/packages/xerces-c/package.py new file mode 100644 index 0000000000..b59ab178ae --- /dev/null +++ b/var/spack/packages/xerces-c/package.py @@ -0,0 +1,36 @@ +# FIXME: +# This is a template package file for Spack. We've conveniently +# put "FIXME" labels next to all the things you'll want to change. +# +# Once you've edited all the FIXME's, delete this whole message, +# save this file, and test out your package like this: +# +# spack install xerces-c +# +# You can always get back here to change things with: +# +# spack edit xerces-c +# +# See the spack documentation for more information on building +# packages. +# +from spack import * + +class XercesC(Package): + """ Xerces-C++ is a validating XML parser written in a portable subset of C++. + Xerces-C++ makes it easy to give your application the ability to read and + write XML data. A shared library is provided for parsing, generating, + manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. + """ + + homepage = "https://xerces.apache.org/xerces-c" + url = "https://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.gz" + version('3.1.2', '9eb1048939e88d6a7232c67569b23985') + + def install(self, spec, prefix): + configure("--prefix=%s" % prefix, + "--disable-network") + make("clean") + make() + make("install") + -- cgit v1.2.3-70-g09d2 From eff5016653980f24c5c55dfb866dbe108f50dedf Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 11:15:53 -0500 Subject: Add the cbtf spack build package. cbtf is the base package for the component based tool framework and is used for building and connecting cbtf components, including distributed components via the MRNet transfer mechanism. --- var/spack/packages/cbtf/package.py | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 var/spack/packages/cbtf/package.py (limited to 'var') diff --git a/var/spack/packages/cbtf/package.py b/var/spack/packages/cbtf/package.py new file mode 100644 index 0000000000..d2023ada85 --- /dev/null +++ b/var/spack/packages/cbtf/package.py @@ -0,0 +1,65 @@ +################################################################################ +# 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" + + url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-1.5.tar.gz/download" + version('1.5', '75a97e0161d19b3a12305ed1ffb3d3e2') + + # Mirror access template example + #url = "file:/opt/spack-mirror-2015-02-27/cbtf/cbtf-1.5.tar.gz" + #version('1.5', '1ca88a8834759c4c74452cb97fe7b70a') + + # Use when the git repository is available + #version('1.5', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf') + + depends_on("cmake") + depends_on("boost@1.41:") + depends_on("mrnet@4.1.0+krelloptions") + 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") -- cgit v1.2.3-70-g09d2 From 23971bae92f387cbcbed8f4ea5d99ce81bf03ff0 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 11:20:27 -0500 Subject: Add the cbtf-krell spack build package. cbtf-krell is the krell contribution to the CBTF project and includes services, messages, and core libraries and components that support performance information gathering, transfer, and reduction. --- var/spack/packages/cbtf-krell/package.py | 114 +++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 var/spack/packages/cbtf-krell/package.py (limited to 'var') diff --git a/var/spack/packages/cbtf-krell/package.py b/var/spack/packages/cbtf-krell/package.py new file mode 100644 index 0000000000..0661b101a1 --- /dev/null +++ b/var/spack/packages/cbtf-krell/package.py @@ -0,0 +1,114 @@ +################################################################################ +# 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/" + + url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-krell-1.5.tar.gz/download" + version('1.5', '86cca5aa48a65206d3ac5502fcbd3ef6') + + # optional mirror access template + #url = "file:/opt/spack-mirror-2015-02-27/cbtf-krell/cbtf-krell-1.5.tar.gz" + #version('1.5', 'b13f6df6a93c44149d977773dd776d2f') + + + # Dependencies for cbtf-krell + + # For binutils service + depends_on("binutils@2.24+krellpatch") + + # collectionTool + depends_on("boost@1.41:") + depends_on("dyninst@8.2.1:+krelloptions") + depends_on("mrnet@4.1.0:+krelloptions") + 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" + # Other possibilities, they will need a -DMVAPICH_DIR=, etc clause in the cmake command to be recognized + # mvapich_prefix_path = "" + # mvapich2_prefix_path = "" + # mpich2_prefix_path = "" + # mpich_prefix_path = "" + # mpt_prefix_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, + #'-DLIB_SUFFIX=64', + + # 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, + '-DCUDA_DIR=%s' % cuda_prefix_path, + '-DCUPTI_DIR=%s' % cupti_prefix_path, + '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + *std_cmake_args) + + make("clean") + make() + make("install") + -- cgit v1.2.3-70-g09d2 From e8235b10c610aae51213e8f090e3bf692f99adcc Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 11:23:23 -0500 Subject: Add the cbtf-lanl spack build package. cbtf-lanl is LANLs contribution to the CBTF project. It contains psTool and memTool which are example tools, showing use case examples for CBTF. --- var/spack/packages/cbtf-lanl/package.py | 59 +++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 var/spack/packages/cbtf-lanl/package.py (limited to 'var') diff --git a/var/spack/packages/cbtf-lanl/package.py b/var/spack/packages/cbtf-lanl/package.py new file mode 100644 index 0000000000..b833871df7 --- /dev/null +++ b/var/spack/packages/cbtf-lanl/package.py @@ -0,0 +1,59 @@ +################################################################################ +# 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/" + + url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-lanl-1.5.tar.gz/download" + version('1.5', '78d42050f9ec7127e8d0a93d87a66702') + + # Mirror access template example + #url = "file:/opt/spack-mirror-2015-02-27/cbtf-lanl/cbtf-lanl-1.5.tar.gz" + #version('1.5', 'c3f78f967b0a42c6734ce4be0e602426') + + # Dependencies for cbtf-krell + depends_on("boost@1.41:") + depends_on("mrnet@4.1.0+krelloptions") + 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") + -- cgit v1.2.3-70-g09d2 From 9fee7be695eb92391b8754593877dded097ea8c8 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Tue, 21 Jul 2015 11:26:59 -0500 Subject: Add the initial version of the OpenSpeedShop spack build file. OpenSpeedShop is an application performance analysis tool that runs on Linux and gathers a number of different types of performance data and displays that data in a command line tool (CLI) and via a graphical user interface (GUI). --- var/spack/packages/openspeedshop/package.py | 193 ++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 var/spack/packages/openspeedshop/package.py (limited to 'var') diff --git a/var/spack/packages/openspeedshop/package.py b/var/spack/packages/openspeedshop/package.py new file mode 100644 index 0000000000..94fec4a21c --- /dev/null +++ b/var/spack/packages/openspeedshop/package.py @@ -0,0 +1,193 @@ +################################################################################ +# 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.1/openspeedshop-2.1.tar.gz/download" + version('2.1', '85ab0f883f16ea23815a670b5ec8e5d6') + + # optional mirror template + #url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.1.tar.gz" + #version('2.1', '85ab0f883f16ea23815a670b5ec8e5d6') + + parallel = False + + variant('offline', default=False, 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.41:") + depends_on("dyninst@8.2.1:+krelloptions") + 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:+krelloptions", when='+cbtf') + + def install(self, spec, prefix): + + openmpi_prefix_path = "/opt/openmpi-1.8.2" + #'-DOPENMPI_DIR=%s' % spec['openmpi'].prefix, + #'-DMPICH_DIR=%s' % spec['mpich'].prefix, + + # 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, + '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + *std_cmake_args) + make("clean") + make() + make("install") + else: + cmake_prefix_path = join_path(spec['dyninst'].prefix) + 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, + '-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_DIR=%s' % spec['python'].prefix, + '-DBOOST_DIR=%s' % spec['boost'].prefix, + '-DDYNINST_DIR=%s' % spec['dyninst'].prefix, + '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + *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): + 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_DIR=%s' % spec['python'].prefix, + '-DBOOST_DIR=%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): + 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_DIR=%s' % spec['python'].prefix, + '-DBOOST_DIR=%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 -- cgit v1.2.3-70-g09d2 From 24c609b6df5f7e30df0aa72f4c16f7272f1086cd Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Sat, 22 Aug 2015 09:34:44 -0500 Subject: Updates to the Krell related product packages. --- var/spack/packages/cbtf-argonavis/package.py | 14 +++++----- var/spack/packages/cbtf-krell/package.py | 12 ++++---- var/spack/packages/cbtf-lanl/package.py | 9 +++--- var/spack/packages/cbtf/package.py | 11 +++----- var/spack/packages/openspeedshop/package.py | 42 ++++++++++++++++++++-------- 5 files changed, 53 insertions(+), 35 deletions(-) (limited to 'var') diff --git a/var/spack/packages/cbtf-argonavis/package.py b/var/spack/packages/cbtf-argonavis/package.py index 5f76a18dae..2dccb0e0c6 100644 --- a/var/spack/packages/cbtf-argonavis/package.py +++ b/var/spack/packages/cbtf-argonavis/package.py @@ -23,14 +23,13 @@ class CbtfArgonavis(Package): libraries that was done as a result of a DOE SBIR grant.""" homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-argonavis-1.5.tar.gz/download" - version('1.5', '8708197dbc08980fcd7b1a3a3a40a2c9') - # Mirror access template example - #url = "file:/opt/spack-mirror-2015-02-27/cbtf-argonavis/cbtf-argonavis-1.5.tar.gz" + #url = "file:/g/g24/jeg/cbtf-argonavis-1.5.tar.gz" #version('1.5', '1f7f6512f55409ed2135cfceabe26b82') - depends_on("cmake") + 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") @@ -44,8 +43,9 @@ class CbtfArgonavis(Package): 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/cuda-6.0" - cupti_prefix_path = "/usr/local/cuda-6.0/extras/CUPTI" + cuda_prefix_path = "/opt/cudatoolkit-6.5" + cupti_prefix_path = "/opt/cudatoolkit-6.5/extras/CUPTI" + with working_dir('CUDA'): with working_dir('build', create=True): diff --git a/var/spack/packages/cbtf-krell/package.py b/var/spack/packages/cbtf-krell/package.py index 0661b101a1..3f486b86ce 100644 --- a/var/spack/packages/cbtf-krell/package.py +++ b/var/spack/packages/cbtf-krell/package.py @@ -25,13 +25,12 @@ class CbtfKrell(Package): HPC levels of scale.""" homepage = "http://sourceforge.net/p/cbtf/wiki/Home/" - url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-krell-1.5.tar.gz/download" - version('1.5', '86cca5aa48a65206d3ac5502fcbd3ef6') - # optional mirror access template - #url = "file:/opt/spack-mirror-2015-02-27/cbtf-krell/cbtf-krell-1.5.tar.gz" + #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 @@ -39,7 +38,7 @@ class CbtfKrell(Package): depends_on("binutils@2.24+krellpatch") # collectionTool - depends_on("boost@1.41:") + depends_on("boost@1.42:") depends_on("dyninst@8.2.1:+krelloptions") depends_on("mrnet@4.1.0:+krelloptions") depends_on("xerces-c@3.1.1:") @@ -66,6 +65,8 @@ class CbtfKrell(Package): # 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 = "" # mvapich2_prefix_path = "" @@ -106,6 +107,7 @@ class CbtfKrell(Package): '-DCUDA_DIR=%s' % cuda_prefix_path, '-DCUPTI_DIR=%s' % cupti_prefix_path, '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") diff --git a/var/spack/packages/cbtf-lanl/package.py b/var/spack/packages/cbtf-lanl/package.py index b833871df7..25f91d8c2f 100644 --- a/var/spack/packages/cbtf-lanl/package.py +++ b/var/spack/packages/cbtf-lanl/package.py @@ -22,15 +22,16 @@ 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/" - url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-lanl-1.5.tar.gz/download" - version('1.5', '78d42050f9ec7127e8d0a93d87a66702') # Mirror access template example - #url = "file:/opt/spack-mirror-2015-02-27/cbtf-lanl/cbtf-lanl-1.5.tar.gz" + #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.41:") + depends_on("boost@1.42:") depends_on("mrnet@4.1.0+krelloptions") depends_on("xerces-c@3.1.1:") depends_on("cbtf") diff --git a/var/spack/packages/cbtf/package.py b/var/spack/packages/cbtf/package.py index d2023ada85..46d47153e6 100644 --- a/var/spack/packages/cbtf/package.py +++ b/var/spack/packages/cbtf/package.py @@ -24,18 +24,15 @@ class Cbtf(Package): networks into sequential and distributed network tools.""" homepage = "http://sourceforge.net/p/cbtf/wiki/Home" - url = "http://sourceforge.net/projects/cbtf/files/cbtf-1.5/cbtf-1.5.tar.gz/download" - version('1.5', '75a97e0161d19b3a12305ed1ffb3d3e2') - # Mirror access template example - #url = "file:/opt/spack-mirror-2015-02-27/cbtf/cbtf-1.5.tar.gz" - #version('1.5', '1ca88a8834759c4c74452cb97fe7b70a') + #url = "file:/g/g24/jeg/cbtf-1.5.tar.gz" + #version('1.6', '1ca88a8834759c4c74452cb97fe7b70a') # Use when the git repository is available - #version('1.5', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf') + version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf') depends_on("cmake") - depends_on("boost@1.41:") + depends_on("boost@1.42:") depends_on("mrnet@4.1.0+krelloptions") depends_on("xerces-c@3.1.1:") depends_on("libxml2") diff --git a/var/spack/packages/openspeedshop/package.py b/var/spack/packages/openspeedshop/package.py index 94fec4a21c..3c24aed882 100644 --- a/var/spack/packages/openspeedshop/package.py +++ b/var/spack/packages/openspeedshop/package.py @@ -30,11 +30,13 @@ class Openspeedshop(Package): 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', '85ab0f883f16ea23815a670b5ec8e5d6') + version('2.1', '64ee17166519838c7b94a1adc138e94f') # optional mirror template - #url = "file:/home/jeg/OpenSpeedShop_ROOT/SOURCES/openspeedshop-2.1.tar.gz" - #version('2.1', '85ab0f883f16ea23815a670b5ec8e5d6') + #url = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz" + #version('2.1', '64ee17166519838c7b94a1adc138e94f') + + parallel = False @@ -56,7 +58,7 @@ class Openspeedshop(Package): depends_on("libelf") depends_on("libdwarf") depends_on("sqlite") - depends_on("boost@1.41:") + depends_on("boost@1.42:") depends_on("dyninst@8.2.1:+krelloptions") depends_on("python") depends_on("qt@3.3.8b+krellpatch") @@ -72,14 +74,14 @@ class Openspeedshop(Package): # 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("cbtf-argonavis", when='+cbtf') depends_on("mrnet@4.1.0:+krelloptions", 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, - #'-DMPICH_DIR=%s' % spec['mpich'].prefix, # FIXME: How do we make this dynamic in spack? That is, can we specify the paths to cuda dynamically? # WAITING for external package support. @@ -99,6 +101,7 @@ class Openspeedshop(Package): '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix, '-DPAPI_DIR=%s' % spec['papi'].prefix, '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") make() @@ -106,6 +109,8 @@ class Openspeedshop(Package): else: cmake_prefix_path = join_path(spec['dyninst'].prefix) with working_dir('build', create=True): + #python_vers=join_path(spec['python'].version[:2]) + python_vers='%d.%d' % spec['python'].version[:2] cmake('..', '-DCMAKE_INSTALL_PREFIX=%s' % prefix, '-DCMAKE_LIBRARY_PATH=%s' % prefix.lib64, @@ -119,10 +124,14 @@ class Openspeedshop(Package): '-DPAPI_DIR=%s' % spec['papi'].prefix, '-DSQLITE3_DIR=%s' % spec['sqlite'].prefix, '-DQTLIB_DIR=%s' % spec['qt'].prefix, - '-DPYTHON_DIR=%s' % spec['python'].prefix, - '-DBOOST_DIR=%s' % spec['boost'].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, '-DOPENMPI_DIR=%s' % openmpi_prefix_path, + '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") make() @@ -133,6 +142,7 @@ class Openspeedshop(Package): 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, @@ -143,8 +153,11 @@ class Openspeedshop(Package): '-DLIBDWARF_DIR=%s' % spec['libdwarf'].prefix, '-DCBTF_DIR=%s' % spec['cbtf'].prefix, '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix, - '-DPYTHON_DIR=%s' % spec['python'].prefix, - '-DBOOST_DIR=%s' % spec['boost'].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) @@ -154,6 +167,8 @@ class Openspeedshop(Package): 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, @@ -166,8 +181,11 @@ class Openspeedshop(Package): '-DCBTF_DIR=%s' % spec['cbtf'].prefix, '-DCBTF_KRELL_DIR=%s' % spec['cbtf-krell'].prefix, '-DQTLIB_DIR=%s' % spec['qt'].prefix, - '-DPYTHON_DIR=%s' % spec['python'].prefix, - '-DBOOST_DIR=%s' % spec['boost'].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) -- cgit v1.2.3-70-g09d2 From d6a2ab08acd8f4cbedca20ac182329d1090af056 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Fri, 6 Nov 2015 11:47:00 -0800 Subject: Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. --- var/spack/packages/binutils/package.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'var') diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 43a670585e..29b8de462b 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -13,19 +13,22 @@ class Binutils(Package): 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.') + def install(self, spec, prefix): - # Add additional configuration options for use in the OpenSpeedShop project - if '+krellpatch' in spec: - configure('--prefix', self.prefix, - '--libdir', self.prefix.lib, - '--enable-shared', - '--enable-install-libiberty', - '--disable-multilib' - ) - else: - configure("--prefix=%s" % prefix) + configure_args = [ + '--prefix=%s' % prefix, + '--disable-dependency-tracking', + '--enable-interwork', + '--enable-multilib', + '--enable-shared', + '--enable-64-bit-bfd', + '--enable-targets=all'] + if '+libiberty' in spec: + configure_args.append('--enable-install-libiberty') + configure(*configure_args) make() make("install") -- cgit v1.2.3-70-g09d2 From 7e6b7795f1cd1e73591c3fba5602220d20d453e6 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Fri, 6 Nov 2015 11:53:53 -0800 Subject: Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. --- var/spack/packages/binutils/package.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'var') diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 29b8de462b..5ef9a80cca 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -15,6 +15,8 @@ class Binutils(Package): variant('libiberty', default=False, description='Also install libiberty.') + variant('libiberty', default=False, description='Also install libiberty.') + def install(self, spec, prefix): configure_args = [ -- cgit v1.2.3-70-g09d2 From aa9b14aff47864c04f99bd4c83fb10dc6a9c49ad Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Fri, 6 Nov 2015 11:55:20 -0800 Subject: Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. --- var/spack/packages/binutils/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 5ef9a80cca..c939822cdb 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -17,8 +17,9 @@ class Binutils(Package): variant('libiberty', default=False, description='Also install libiberty.') - def install(self, spec, prefix): + variant('libiberty', default=False, description='Also install libiberty.') + def install(self, spec, prefix): configure_args = [ '--prefix=%s' % prefix, '--disable-dependency-tracking', -- cgit v1.2.3-70-g09d2 From 2aa501bf3db5c3962b6f2a0932e21afe03db9329 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Fri, 6 Nov 2015 14:19:00 -0800 Subject: Update the checksum value for the new tarball --- var/spack/packages/openspeedshop/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/openspeedshop/package.py b/var/spack/packages/openspeedshop/package.py index 3c24aed882..93f356fb92 100644 --- a/var/spack/packages/openspeedshop/package.py +++ b/var/spack/packages/openspeedshop/package.py @@ -30,7 +30,7 @@ class Openspeedshop(Package): 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', '64ee17166519838c7b94a1adc138e94f') + version('2.1', 'bdaa57c1a0db9d0c3e0303fd8496c507') # optional mirror template #url = "file:/g/g24/jeg/openspeedshop-2.1.tar.gz" -- cgit v1.2.3-70-g09d2 From 0ced060b87b129c47666ef91f79d52d94e79e291 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Fri, 6 Nov 2015 15:15:38 -0800 Subject: cbtf did not compile with boost 1.59, so reverted to boost 1.50 temporarily until we fix the cbtf/boost compile issues. --- var/spack/packages/cbtf/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/cbtf/package.py b/var/spack/packages/cbtf/package.py index 46d47153e6..6f1e49deed 100644 --- a/var/spack/packages/cbtf/package.py +++ b/var/spack/packages/cbtf/package.py @@ -32,7 +32,8 @@ class Cbtf(Package): version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf') depends_on("cmake") - depends_on("boost@1.42:") + #depends_on("boost@1.42:") + depends_on("boost@1.50") depends_on("mrnet@4.1.0+krelloptions") depends_on("xerces-c@3.1.1:") depends_on("libxml2") -- cgit v1.2.3-70-g09d2 From c5b7eba45743ebd131233c035101a0e64bb0c1c7 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 16 Nov 2015 17:00:11 -0500 Subject: hdf5: make mpi support optional --- var/spack/packages/hdf5/package.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/packages/hdf5/package.py b/var/spack/packages/hdf5/package.py index 48997425cd..44d4ede278 100644 --- a/var/spack/packages/hdf5/package.py +++ b/var/spack/packages/hdf5/package.py @@ -15,19 +15,28 @@ class Hdf5(Package): 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['mpich'].prefix.bin + "/mpicc", + "CXX=%s" % spec['mpich'].prefix.bin + "/mpic++", + ]) configure( "--prefix=%s" % prefix, "--with-zlib=%s" % spec['zlib'].prefix, - "--enable-parallel", "--enable-shared", "CC=%s" % spec['mpi'].prefix.bin + "/mpicc", - "CXX=%s" % spec['mpi'].prefix.bin + "/mpic++") + "CXX=%s" % spec['mpi'].prefix.bin + "/mpic++", + *extra_args) make() make("install") -- cgit v1.2.3-70-g09d2 From 79a641ccf16ee0bef0c32730c99b8513a88aa918 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 16 Nov 2015 17:01:01 -0500 Subject: paraview: update hdf5 comment --- var/spack/packages/paraview/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/paraview/package.py b/var/spack/packages/paraview/package.py index b0893237e9..3bee5a1041 100644 --- a/var/spack/packages/paraview/package.py +++ b/var/spack/packages/paraview/package.py @@ -24,7 +24,7 @@ class Paraview(Package): depends_on('bzip2') depends_on('freetype') - depends_on('hdf5') # drags in mpi + depends_on('hdf5') depends_on('jpeg') depends_on('libpng') depends_on('libtiff') -- cgit v1.2.3-70-g09d2 From 6f978af77b7b98ca51e47bc8d3c097fe236e1491 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Thu, 10 Dec 2015 11:53:40 -0500 Subject: hdf5: update dependents to declare MPI support --- var/spack/packages/SAMRAI/package.py | 2 +- var/spack/packages/cleverleaf/package.py | 2 +- var/spack/packages/paraview/package.py | 1 + var/spack/packages/petsc/package.py | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/packages/SAMRAI/package.py b/var/spack/packages/SAMRAI/package.py index a17aea9c99..2c3b9180af 100644 --- a/var/spack/packages/SAMRAI/package.py +++ b/var/spack/packages/SAMRAI/package.py @@ -25,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 diff --git a/var/spack/packages/cleverleaf/package.py b/var/spack/packages/cleverleaf/package.py index 4e7e6a855a..fb400b25c3 100644 --- a/var/spack/packages/cleverleaf/package.py +++ b/var/spack/packages/cleverleaf/package.py @@ -14,7 +14,7 @@ class Cleverleaf(Package): version('develop', git='https://github.com/UK-MAC/CleverLeaf_ref.git', branch='develop') depends_on("SAMRAI@3.8.0:") - depends_on("hdf5") + depends_on("hdf5+mpi") depends_on("boost") def install(self, spec, prefix): diff --git a/var/spack/packages/paraview/package.py b/var/spack/packages/paraview/package.py index 3bee5a1041..1d99b34899 100644 --- a/var/spack/packages/paraview/package.py +++ b/var/spack/packages/paraview/package.py @@ -25,6 +25,7 @@ class Paraview(Package): depends_on('bzip2') depends_on('freetype') depends_on('hdf5') + depends_on('hdf5+mpi', when='+mpi') depends_on('jpeg') depends_on('libpng') depends_on('libtiff') diff --git a/var/spack/packages/petsc/package.py b/var/spack/packages/petsc/package.py index 4864e39bf1..f3ed3d72ec 100644 --- a/var/spack/packages/petsc/package.py +++ b/var/spack/packages/petsc/package.py @@ -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): -- cgit v1.2.3-70-g09d2 From 8df4fd9e942cb4e632e309ae758356c29a72ec02 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Sun, 13 Dec 2015 17:13:34 -0800 Subject: Fix build of krell tools to use spack with minimal impact on rest of spack packages. --- var/spack/packages/binutils/package.py | 6 ----- var/spack/packages/boost/package.py | 3 ++- var/spack/packages/cbtf-krell/package.py | 40 ++++++++++++++--------------- var/spack/packages/cbtf-lanl/package.py | 2 +- var/spack/packages/dyninst/package.py | 33 +++++++----------------- var/spack/packages/openspeedshop/package.py | 33 ++++++++++++++---------- var/spack/packages/papi/package.py | 1 + 7 files changed, 52 insertions(+), 66 deletions(-) (limited to 'var') diff --git a/var/spack/packages/binutils/package.py b/var/spack/packages/binutils/package.py index 47234367d7..123f4598f6 100644 --- a/var/spack/packages/binutils/package.py +++ b/var/spack/packages/binutils/package.py @@ -15,12 +15,6 @@ class Binutils(Package): variant('libiberty', default=False, description='Also install libiberty.') - variant('libiberty', default=False, description='Also install libiberty.') - - variant('libiberty', default=False, description='Also install libiberty.') - - variant('libiberty', default=False, description='Also install libiberty.') - def install(self, spec, prefix): configure_args = [ '--prefix=%s' % prefix, diff --git a/var/spack/packages/boost/package.py b/var/spack/packages/boost/package.py index 81dadbbf61..fc721753c7 100644 --- a/var/spack/packages/boost/package.py +++ b/var/spack/packages/boost/package.py @@ -58,7 +58,8 @@ class Boost(Package): parts = [str(p) for p in Version(version)] dots = ".".join(parts) underscores = "_".join(parts) - return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % ( + #return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % ( + return "http://downloads.sourceforge.net/project/boost/boost/%s.0/boost_%s_0.tar.bz2" % ( dots, underscores) def determine_toolset(self): diff --git a/var/spack/packages/cbtf-krell/package.py b/var/spack/packages/cbtf-krell/package.py index 3f486b86ce..d9a2b7f8b5 100644 --- a/var/spack/packages/cbtf-krell/package.py +++ b/var/spack/packages/cbtf-krell/package.py @@ -38,8 +38,8 @@ class CbtfKrell(Package): depends_on("binutils@2.24+krellpatch") # collectionTool - depends_on("boost@1.42:") - depends_on("dyninst@8.2.1:+krelloptions") + depends_on("boost@1.50") + depends_on("dyninst@8.2.1") depends_on("mrnet@4.1.0:+krelloptions") depends_on("xerces-c@3.1.1:") depends_on("cbtf") @@ -64,8 +64,8 @@ class CbtfKrell(Package): # 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" + #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 = "" @@ -76,18 +76,22 @@ class CbtfKrell(Package): # 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, - #'-DLIB_SUFFIX=64', + #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): @@ -104,10 +108,6 @@ class CbtfKrell(Package): '-DDYNINST_DIR=%s' % spec['dyninst'].prefix, '-DXERCESC_DIR=%s' % spec['xerces-c'].prefix, '-DCMAKE_PREFIX_PATH=%s' % cmake_prefix_path, - '-DCUDA_DIR=%s' % cuda_prefix_path, - '-DCUPTI_DIR=%s' % cupti_prefix_path, - '-DOPENMPI_DIR=%s' % openmpi_prefix_path, - '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") diff --git a/var/spack/packages/cbtf-lanl/package.py b/var/spack/packages/cbtf-lanl/package.py index 25f91d8c2f..14651723cd 100644 --- a/var/spack/packages/cbtf-lanl/package.py +++ b/var/spack/packages/cbtf-lanl/package.py @@ -31,7 +31,7 @@ class CbtfLanl(Package): # Dependencies for cbtf-krell - depends_on("boost@1.42:") + depends_on("boost@1.50") depends_on("mrnet@4.1.0+krelloptions") depends_on("xerces-c@3.1.1:") depends_on("cbtf") diff --git a/var/spack/packages/dyninst/package.py b/var/spack/packages/dyninst/package.py index 81ea7b7e48..0111dcbe08 100644 --- a/var/spack/packages/dyninst/package.py +++ b/var/spack/packages/dyninst/package.py @@ -38,8 +38,6 @@ class Dyninst(Package): version('8.1.1', 'd1a04e995b7aa70960cd1d1fac8bd6ac', url="http://www.paradyn.org/release8.1/DyninstAPI-8.1.1.tgz") - variant('krelloptions', default=False, description="build dyninst includes into include/dyninst.") - depends_on("libelf") depends_on("libdwarf") depends_on("boost@1.42:") @@ -50,28 +48,15 @@ class Dyninst(Package): libdwarf = spec['libdwarf'].prefix with working_dir('spack-build', create=True): - # cbtf-krell and openspeedshop expect to reference dyninst/include, so adding include specification to that end - if '+krelloptions' in spec: - cmake('..', - '-DINSTALL_INCLUDE_DIR=%s' % join_path(self.prefix.include, 'dyninst'), - '-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) - else: - cmake('..', - '-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) + cmake('..', + '-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") diff --git a/var/spack/packages/openspeedshop/package.py b/var/spack/packages/openspeedshop/package.py index 93f356fb92..d439fba734 100644 --- a/var/spack/packages/openspeedshop/package.py +++ b/var/spack/packages/openspeedshop/package.py @@ -28,9 +28,14 @@ class Openspeedshop(Package): as open source code primarily under LGPL. """ + 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') + 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" @@ -40,7 +45,7 @@ class Openspeedshop(Package): parallel = False - variant('offline', default=False, description="build with offline instrumentor enabled.") + 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.") @@ -58,8 +63,8 @@ class Openspeedshop(Package): depends_on("libelf") depends_on("libdwarf") depends_on("sqlite") - depends_on("boost@1.42:") - depends_on("dyninst@8.2.1:+krelloptions") + depends_on("boost@1.50") + depends_on("dyninst@8.2.1") depends_on("python") depends_on("qt@3.3.8b+krellpatch") @@ -79,15 +84,17 @@ class Openspeedshop(Package): def install(self, spec, prefix): - openmpi_prefix_path = "/opt/openmpi-1.8.2" - mvapich_prefix_path = "/usr/local/tools/mvapich-gnu" + #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 '+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" @@ -100,8 +107,6 @@ class Openspeedshop(Package): '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix, '-DLIBUNWIND_DIR=%s' % spec['libunwind'].prefix, '-DPAPI_DIR=%s' % spec['papi'].prefix, - '-DOPENMPI_DIR=%s' % openmpi_prefix_path, - '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") make() @@ -110,6 +115,8 @@ class Openspeedshop(Package): 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, @@ -130,8 +137,6 @@ class Openspeedshop(Package): '-DBoost_NO_SYSTEM_PATHS=TRUE', '-DBOOST_ROOT=%s' % spec['boost'].prefix, '-DDYNINST_DIR=%s' % spec['dyninst'].prefix, - '-DOPENMPI_DIR=%s' % openmpi_prefix_path, - '-DMVAPICH_DIR=%s' % mvapich_prefix_path, *std_cmake_args) make("clean") make() diff --git a/var/spack/packages/papi/package.py b/var/spack/packages/papi/package.py index f7c087c69b..910e0aa9f9 100644 --- a/var/spack/packages/papi/package.py +++ b/var/spack/packages/papi/package.py @@ -12,6 +12,7 @@ class Papi(Package): 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.4.1.tar.gz" version('5.4.1', '9134a99219c79767a11463a76b0b01a2') version('5.3.0', '367961dd0ab426e5ae367c2713924ffb') -- cgit v1.2.3-70-g09d2 From 0a0cd4b9d3c86e7e8438261b94be05caac5ea178 Mon Sep 17 00:00:00 2001 From: alalazo Date: Tue, 15 Dec 2015 16:29:36 +0100 Subject: gnuplot : added package --- var/spack/packages/gnuplot/package.py | 59 ++++++++++++++++++++++++++++++ var/spack/packages/libcerf/package.py | 42 +++++++++++++++++++++ var/spack/packages/libgd/package.py | 51 ++++++++++++++++++++++++++ var/spack/packages/ncurses/package.py | 2 + var/spack/packages/ncurses/patch_gcc_5.txt | 12 ++++++ var/spack/packages/wx/package.py | 2 + 6 files changed, 168 insertions(+) create mode 100644 var/spack/packages/gnuplot/package.py create mode 100644 var/spack/packages/libcerf/package.py create mode 100644 var/spack/packages/libgd/package.py create mode 100644 var/spack/packages/ncurses/patch_gcc_5.txt (limited to 'var') diff --git a/var/spack/packages/gnuplot/package.py b/var/spack/packages/gnuplot/package.py new file mode 100644 index 0000000000..e034cb0995 --- /dev/null +++ b/var/spack/packages/gnuplot/package.py @@ -0,0 +1,59 @@ +############################################################################## +# 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') + + 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") diff --git a/var/spack/packages/libcerf/package.py b/var/spack/packages/libcerf/package.py new file mode 100644 index 0000000000..15e87ce4fe --- /dev/null +++ b/var/spack/packages/libcerf/package.py @@ -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") diff --git a/var/spack/packages/libgd/package.py b/var/spack/packages/libgd/package.py new file mode 100644 index 0000000000..b066b43878 --- /dev/null +++ b/var/spack/packages/libgd/package.py @@ -0,0 +1,51 @@ +############################################################################## +# 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') + + 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") diff --git a/var/spack/packages/ncurses/package.py b/var/spack/packages/ncurses/package.py index cc180bbae1..31f53b6c43 100644 --- a/var/spack/packages/ncurses/package.py +++ b/var/spack/packages/ncurses/package.py @@ -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", diff --git a/var/spack/packages/ncurses/patch_gcc_5.txt b/var/spack/packages/ncurses/patch_gcc_5.txt new file mode 100644 index 0000000000..f85e07cb8d --- /dev/null +++ b/var/spack/packages/ncurses/patch_gcc_5.txt @@ -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 > $@ diff --git a/var/spack/packages/wx/package.py b/var/spack/packages/wx/package.py index 1813a8c8a5..206fde7775 100644 --- a/var/spack/packages/wx/package.py +++ b/var/spack/packages/wx/package.py @@ -16,6 +16,8 @@ class Wx(Package): version('3.0.1', 'dad1f1cd9d4c370cbc22700dc492da31', url="https://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2") + depends_on('gtkplus') + def install(self, spec, prefix): configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers") -- cgit v1.2.3-70-g09d2 From 917fb328bb5d992b71b28c7fb86e2a0a82e06d02 Mon Sep 17 00:00:00 2001 From: Mike Nolta Date: Tue, 15 Dec 2015 12:25:31 -0500 Subject: cmake: enable ssl, for https downloads By default cmake builds its own curl, without SSL support. This patch enables SSL when building cmake, fixing the following error: error: downloading 'https://...' failed status_code: 1 status_string: "Unsupported protocol" log: Protocol "https" not supported or disabled in libcurl --- var/spack/packages/cmake/package.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/packages/cmake/package.py b/var/spack/packages/cmake/package.py index c24a80748c..cb54c92d69 100644 --- a/var/spack/packages/cmake/package.py +++ b/var/spack/packages/cmake/package.py @@ -43,6 +43,7 @@ class Cmake(Package): def install(self, spec, prefix): configure('--prefix=' + prefix, - '--parallel=' + str(make_jobs)) + '--parallel=' + str(make_jobs), + '--', '-DCMAKE_USE_OPENSSL=ON') make() make('install') -- cgit v1.2.3-70-g09d2 From d5018e77a39bc25d654b4bc9bd057b7798889fb7 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Wed, 16 Dec 2015 09:32:48 +0100 Subject: gnuplot : modifications to build on RHLE 6 --- var/spack/packages/fontconfig/package.py | 3 ++- var/spack/packages/gnuplot/package.py | 4 +++- var/spack/packages/libgd/package.py | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/packages/fontconfig/package.py b/var/spack/packages/fontconfig/package.py index 89b13604e8..517c9d1813 100644 --- a/var/spack/packages/fontconfig/package.py +++ b/var/spack/packages/fontconfig/package.py @@ -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") diff --git a/var/spack/packages/gnuplot/package.py b/var/spack/packages/gnuplot/package.py index e034cb0995..71c09bd43d 100644 --- a/var/spack/packages/gnuplot/package.py +++ b/var/spack/packages/gnuplot/package.py @@ -45,7 +45,9 @@ class Gnuplot(Package): depends_on('libgd') depends_on('cairo') depends_on('pango') - depends_on('wx') + 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 diff --git a/var/spack/packages/libgd/package.py b/var/spack/packages/libgd/package.py index b066b43878..d920957ef1 100644 --- a/var/spack/packages/libgd/package.py +++ b/var/spack/packages/libgd/package.py @@ -39,6 +39,8 @@ class Libgd(Package): version('2.1.1', 'e91a1a99903e460e7ba00a794e72cc1e') + depends_on('libpng') + def install(self, spec, prefix): with working_dir('spack-build', create=True): -- cgit v1.2.3-70-g09d2 From cc9266e56c3b72e707dc5b1370c1eca8b3014223 Mon Sep 17 00:00:00 2001 From: alalazo Date: Wed, 16 Dec 2015 12:45:58 +0100 Subject: gsl : added package --- var/spack/packages/gsl/package.py | 46 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 var/spack/packages/gsl/package.py (limited to 'var') diff --git a/var/spack/packages/gsl/package.py b/var/spack/packages/gsl/package.py new file mode 100644 index 0000000000..789eb49d85 --- /dev/null +++ b/var/spack/packages/gsl/package.py @@ -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") -- cgit v1.2.3-70-g09d2 From c02cbaecd8cad7154b5507c0122a5163544fd349 Mon Sep 17 00:00:00 2001 From: Jim Galarowicz Date: Thu, 17 Dec 2015 07:41:49 -0800 Subject: Change back the previous boost change and change the mrnet variant name to lwthreads. --- var/spack/packages/boost/package.py | 3 +-- var/spack/packages/cbtf-argonavis/package.py | 7 ++++--- var/spack/packages/cbtf-krell/package.py | 4 ++-- var/spack/packages/cbtf-lanl/package.py | 2 +- var/spack/packages/cbtf/package.py | 7 +++---- var/spack/packages/mrnet/package.py | 4 ++-- var/spack/packages/openspeedshop/package.py | 6 +++--- 7 files changed, 16 insertions(+), 17 deletions(-) (limited to 'var') diff --git a/var/spack/packages/boost/package.py b/var/spack/packages/boost/package.py index fc721753c7..81dadbbf61 100644 --- a/var/spack/packages/boost/package.py +++ b/var/spack/packages/boost/package.py @@ -58,8 +58,7 @@ class Boost(Package): parts = [str(p) for p in Version(version)] dots = ".".join(parts) underscores = "_".join(parts) - #return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % ( - return "http://downloads.sourceforge.net/project/boost/boost/%s.0/boost_%s_0.tar.bz2" % ( + return "http://downloads.sourceforge.net/project/boost/boost/%s/boost_%s.tar.bz2" % ( dots, underscores) def determine_toolset(self): diff --git a/var/spack/packages/cbtf-argonavis/package.py b/var/spack/packages/cbtf-argonavis/package.py index 2dccb0e0c6..7b07933911 100644 --- a/var/spack/packages/cbtf-argonavis/package.py +++ b/var/spack/packages/cbtf-argonavis/package.py @@ -33,7 +33,7 @@ class CbtfArgonavis(Package): depends_on("papi") depends_on("cbtf") depends_on("cbtf-krell") - #depends_on("cuda") + depends_on("cuda") parallel = False @@ -43,8 +43,8 @@ class CbtfArgonavis(Package): 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 = "/opt/cudatoolkit-6.5" - cupti_prefix_path = "/opt/cudatoolkit-6.5/extras/CUPTI" + cuda_prefix_path = "/usr/local/cudatoolkit-6.0" + cupti_prefix_path = "/usr/local/cudatoolkit-6.0/extras/CUPTI" with working_dir('CUDA'): @@ -56,6 +56,7 @@ class CbtfArgonavis(Package): '-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) diff --git a/var/spack/packages/cbtf-krell/package.py b/var/spack/packages/cbtf-krell/package.py index d9a2b7f8b5..9458ac113c 100644 --- a/var/spack/packages/cbtf-krell/package.py +++ b/var/spack/packages/cbtf-krell/package.py @@ -38,9 +38,9 @@ class CbtfKrell(Package): depends_on("binutils@2.24+krellpatch") # collectionTool - depends_on("boost@1.50") + depends_on("boost@1.50.0") depends_on("dyninst@8.2.1") - depends_on("mrnet@4.1.0:+krelloptions") + depends_on("mrnet@4.1.0:+lwthreads") depends_on("xerces-c@3.1.1:") depends_on("cbtf") diff --git a/var/spack/packages/cbtf-lanl/package.py b/var/spack/packages/cbtf-lanl/package.py index 14651723cd..2da9e8a1f7 100644 --- a/var/spack/packages/cbtf-lanl/package.py +++ b/var/spack/packages/cbtf-lanl/package.py @@ -32,7 +32,7 @@ class CbtfLanl(Package): # Dependencies for cbtf-krell depends_on("boost@1.50") - depends_on("mrnet@4.1.0+krelloptions") + depends_on("mrnet@4.1.0:+lwthreads") depends_on("xerces-c@3.1.1:") depends_on("cbtf") depends_on("cbtf-krell") diff --git a/var/spack/packages/cbtf/package.py b/var/spack/packages/cbtf/package.py index 6f1e49deed..52e6a07020 100644 --- a/var/spack/packages/cbtf/package.py +++ b/var/spack/packages/cbtf/package.py @@ -32,9 +32,9 @@ class Cbtf(Package): version('1.6', branch='master', git='http://git.code.sf.net/p/cbtf/cbtf') depends_on("cmake") - #depends_on("boost@1.42:") - depends_on("boost@1.50") - depends_on("mrnet@4.1.0+krelloptions") + #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") @@ -43,7 +43,6 @@ class Cbtf(Package): 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. diff --git a/var/spack/packages/mrnet/package.py b/var/spack/packages/mrnet/package.py index 08c57d7436..3eb33d0714 100644 --- a/var/spack/packages/mrnet/package.py +++ b/var/spack/packages/mrnet/package.py @@ -8,14 +8,14 @@ class Mrnet(Package): version('4.0.0', 'd00301c078cba57ef68613be32ceea2f') version('4.1.0', '5a248298b395b329e2371bf25366115c') - variant('krelloptions', default=False, description="Also build the MRNet LW threadsafe libraries") + variant('lwthreads', default=False, description="Also build the MRNet LW threadsafe libraries") parallel = False depends_on("boost") def install(self, spec, prefix): # Build the MRNet LW thread safe libraries when the krelloptions variant is present - if '+krelloptions' in spec: + if '+lwthreads' in spec: configure("--prefix=%s" %prefix, "--enable-shared", "--enable-ltwt-threadsafe") else: configure("--prefix=%s" %prefix, "--enable-shared") diff --git a/var/spack/packages/openspeedshop/package.py b/var/spack/packages/openspeedshop/package.py index d439fba734..8c71bcb7c3 100644 --- a/var/spack/packages/openspeedshop/package.py +++ b/var/spack/packages/openspeedshop/package.py @@ -63,7 +63,7 @@ class Openspeedshop(Package): depends_on("libelf") depends_on("libdwarf") depends_on("sqlite") - depends_on("boost@1.50") + depends_on("boost@1.50.0") depends_on("dyninst@8.2.1") depends_on("python") depends_on("qt@3.3.8b+krellpatch") @@ -79,8 +79,8 @@ class Openspeedshop(Package): # 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:+krelloptions", when='+cbtf') + depends_on("cbtf-argonavis", when='+cbtf') + depends_on("mrnet@4.1.0:+lwthreads", when='+cbtf') def install(self, spec, prefix): -- cgit v1.2.3-70-g09d2 From f91e1ae83fd60f575eb9e316125ca9a2a63be52e Mon Sep 17 00:00:00 2001 From: David Beckingsale Date: Thu, 17 Dec 2015 15:21:26 -0800 Subject: Added Lmod package --- var/spack/packages/lmod/package.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 var/spack/packages/lmod/package.py (limited to 'var') diff --git a/var/spack/packages/lmod/package.py b/var/spack/packages/lmod/package.py new file mode 100644 index 0000000000..d642594f92 --- /dev/null +++ b/var/spack/packages/lmod/package.py @@ -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") -- cgit v1.2.3-70-g09d2