-
Notifications
You must be signed in to change notification settings - Fork 763
add easyconfigs for PerfExpert, ROSE, HPCToolkit + deps #839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| name = 'Autoconf' | ||
| version = '2.69' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/autoconf/' | ||
| description = """Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of M4 macro calls.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
|
|
||
| source_urls = [GNU_SOURCE] | ||
| sources = [SOURCELOWER_TAR_GZ] | ||
|
|
||
| dependencies = [('M4', '1.4.16')] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ["bin/%s" % x for x in ["autoconf", "autoheader", "autom4te", "autoreconf", | ||
| "autoscan", "autoupdate", "ifnames"]], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'devel' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| name = 'Bison' | ||
| version = '3.0.2' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/bison' | ||
| description = """Bison is a general-purpose parser generator that converts an annotated context-free grammar | ||
| into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
|
|
||
| sources = [SOURCELOWER_TAR_GZ] | ||
| source_urls = [GNU_SOURCE] | ||
|
|
||
| builddependencies = [('M4', '1.4.17')] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ["bin/%s" % x for x in ["bison", "yacc"]] + ["lib/liby.a"], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'lang' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| name = 'Boost' | ||
| version = '1.47.0' | ||
|
|
||
| homepage = 'http://www.boost.org/' | ||
| description = """Boost provides free peer-reviewed portable C++ source libraries.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
| toolchainopts = {'pic': True} | ||
|
|
||
| source_urls = [SOURCEFORGE_SOURCE] | ||
| sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] | ||
|
|
||
| dependencies = [('bzip2', '1.0.6')] | ||
|
|
||
| configopts = '--without-libraries=python' | ||
|
|
||
| toolset = 'gcc' | ||
|
|
||
| osdependencies = ['zlib-devel'] | ||
|
|
||
| moduleclass = 'devel' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| name = 'byacc' | ||
| version = '20140422' | ||
|
|
||
| homepage = 'http://invisible-island.net/byacc/byacc.html' | ||
| description = """Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. | ||
| In contrast to bison, it is written to avoid dependencies upon a particular compiler.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
|
||
| sources = [SOURCELOWER_TGZ] | ||
| source_urls = ['ftp://invisible-island.net/byacc'] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ["bin/yacc"], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'lang' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| name = 'flex' | ||
| version = '2.5.39' | ||
|
|
||
| homepage = 'http://flex.sourceforge.net/' | ||
| description = """Flex (Fast Lexical Analyzer) is a tool for generating scanners. A scanner, | ||
| sometimes called a tokenizer, is a program which recognizes lexical patterns in text.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
| toolchainopts = {'pic': True} | ||
|
|
||
| sources = [SOURCELOWER_TAR_GZ] | ||
| source_urls = ['http://prdownloads.sourceforge.net/%(namelower)s'] | ||
|
|
||
| moduleclass = 'lang' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| name = 'GMP' | ||
| version = '5.0.5' | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why not 6.0.0? 😉
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think I tried that, something didn't like it (ROSE?). |
||
|
|
||
| homepage = 'http://gmplib.org/' | ||
| description = """GMP is a free library for arbitrary precision arithmetic, | ||
| operating on signed integers, rational numbers, and floating point numbers. """ | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
|
||
| sources = [SOURCELOWER_TAR_BZ2] | ||
| source_urls = [GNU_SOURCE] | ||
|
|
||
| runtest = 'check' | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['lib/libgmp.so', 'include/gmp.h'], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'math' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name = 'google-sparsehash' | ||
| version = '2.0.2' | ||
|
|
||
| homepage = 'http://code.google.com/p/google-sparsehash/' | ||
| description = """An extremely memory-efficient hash_map implementation. 2 bits/entry overhead! The SparseHash library | ||
| contains several hash-map implementations, including implementations that optimize for space or speed.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
| toolchainopts = {'optarch': True} | ||
|
|
||
| sources = ['%s-%s.tar.gz' % (name.split('-')[1].lower(), version)] | ||
| source_urls = ['http://sparsehash.googlecode.com/files'] | ||
|
|
||
| runtest = "check" | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['include/sparsehash/%s' % x for x in ['dense_hash_map', 'dense_hash_set', 'sparse_hash_map', | ||
| 'sparse_hash_set', 'sparsetable', 'template_util.h', 'type_traits.h' | ||
| ] | ||
| ], | ||
| 'dirs': [] | ||
| } | ||
|
|
||
| moduleclass = 'devel' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| name = 'guile' | ||
| version = '1.8.8' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/guile' | ||
| description = """Guile is the GNU Ubiquitous Intelligent Language for Extensions, | ||
| the official extension language for the GNU operating system.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
|
|
||
| sources = [SOURCELOWER_TAR_GZ] | ||
| source_urls = [GNU_SOURCE] | ||
|
|
||
| dependencies = [ | ||
| ('libtool', '2.4.2'), | ||
| ('GMP', '5.0.5'), | ||
| ('libunistring', '0.9.3'), | ||
| ('pkg-config', '0.27.1'), | ||
| ('libffi', '3.0.11'), | ||
| ('libreadline', '6.2'), | ||
| ] | ||
|
|
||
| configopts = " --enable-error-on-warning=no" | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ["bin/%s" % x for x in ["guile", 'guile-config', 'guile-snarf', 'guile-tools']] + | ||
| ["lib/libguile.a", "include/libguile.h"], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'devel' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| name = 'HPCToolkit' | ||
| version = '5.3.2' | ||
|
|
||
| homepage = 'http://hpctoolkit.org/' | ||
| description = """HPCToolkit is an integrated suite of tools for measurement and analysis of program performance | ||
| on computers ranging from multicore desktop systems to the nation's largest supercomputers.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} # empty version to make sure dependencies are loaded | ||
|
|
||
| rev = 'r4197' | ||
| source_urls = [GOOGLECODE_SOURCE] | ||
| sources = [ | ||
| '%%(namelower)s-%%(version)s-%s.tar.gz' % rev, | ||
| '%%(namelower)s-externals-%%(version)s-%s.tar.gz' % rev, | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('Boost', '1.47.0', '', True), | ||
| ('PAPI', '5.3.0'), | ||
| ] | ||
|
|
||
| start_dir = "%%(builddir)s/%%(namelower)s-%%(version)s-%s" % rev | ||
| preconfigopts = "mkdir -p %(installdir)s/externals && cp -a ../hpctoolkit-externals-*/* %(installdir)s/externals && cd %(installdir)s/externals && " | ||
| preconfigopts += "./configure --with-boost=$EBROOTBOOST && make && cd - && " | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why not use the EB version of libxml2, libunwind?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no good reason for this, it should probably be cleaned up, you're right I didn't have time to look into it at the time. There are other open issues to be taken care of, e.g. ROSE requires a GCC 4.4.x (and now that's not being enforced). |
||
| configopts = "--with-externals=%(installdir)s/externals --with-papi=$EBROOTPAPI" | ||
|
|
||
| keeppreviousinstall = True | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['bin/hpc%s' % x for x in ['link', 'prof', 'run', 'struct', 'summary']] + ['include/hpctoolkit.h'], | ||
| 'dirs': ['lib/hpctoolkit'], | ||
| } | ||
|
|
||
| moduleclass = 'tools' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name = 'libffi' | ||
| version = '3.0.11' | ||
|
|
||
| homepage = 'http://sourceware.org/libffi' | ||
| description = """The libffi library provides a portable, high level programming interface to various calling conventions. | ||
| This allows a programmer to call any function specified by a call interface description at run-time. | ||
|
|
||
| FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that | ||
| allows code written in one language to call code written in another language.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
|
||
| source_urls = [ | ||
| 'ftp://sourceware.org/pub/libffi/', | ||
| 'http://www.mirrorservice.org/sites/sourceware.org/pub/libffi/', | ||
| ] | ||
| sources = [SOURCELOWER_TAR_GZ] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['lib/libffi.a'], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'lib' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| name = 'libmatheval' | ||
| version = '1.1.11' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/libmatheval/' | ||
| description = """GNU libmatheval is a library (callable from C and Fortran) to parse | ||
| and evaluate symbolic expressions input as text.""" | ||
|
|
||
| source_urls = [GNU_SOURCE] | ||
| sources = [SOURCELOWER_TAR_GZ] | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
| toolchainopts = {'pic': True} | ||
|
|
||
| dependencies = [ | ||
| ('flex', '2.5.39'), | ||
| ('Bison', '3.0.2'), | ||
| ('byacc', '20140422'), | ||
| ('guile', '1.8.8'), | ||
| ] | ||
|
|
||
| configopts = '--with-pic ' | ||
|
|
||
| # fix for guile-config being broken because shebang line contains full path to bin/guile | ||
| configopts += 'GUILE_CONFIG="$EBROOTGUILE/bin/guile -e main -s $EBROOTGUILE/bin/guile-config"' | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['lib/libmatheval.a', 'include/matheval.h'], | ||
| 'dirs': [], | ||
| } | ||
|
|
||
| moduleclass = 'lib' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name = 'libreadline' | ||
| version = '6.2' | ||
|
|
||
| homepage = 'http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html' | ||
| description = """The GNU Readline library provides a set of functions for use by applications that | ||
| allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. | ||
| The Readline library includes additional functions to maintain a list of previously-entered command lines, | ||
| to recall and perhaps reedit those lines, and perform csh-like history expansion on previous commands.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
| toolchainopts = {'pic': True} | ||
|
|
||
| sources = ['readline-%(version)s.tar.gz'] | ||
| source_urls = ['http://ftp.gnu.org/gnu/readline'] | ||
|
|
||
| dependencies = [('ncurses', '5.9')] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files' : ['lib/libreadline.a', 'lib/libhistory.a'] + | ||
| ['include/readline/%s' % x for x in ['chardefs.h', 'history.h', 'keymaps.h', 'readline.h', 'rlconf.h', | ||
| 'rlstdc.h', 'rltypedefs.h', 'tilde.h']], | ||
| 'dirs' : [], | ||
| } | ||
|
|
||
| moduleclass = 'lib' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| name = 'libtool' | ||
| version = '2.4.2' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/libtool' | ||
| description = """GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries | ||
| behind a consistent, portable interface.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
|
||
| sources = [SOURCELOWER_TAR_GZ] | ||
| source_urls = [GNU_SOURCE] | ||
|
|
||
| moduleclass = 'lib' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| name = 'libunistring' | ||
| version = '0.9.3' | ||
|
|
||
| homepage = 'http://www.gnu.org/software/libunistring/' | ||
| description = """This library provides functions for manipulating Unicode strings and for manipulating C strings | ||
| according to the Unicode standard.""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': 'dummy'} | ||
|
|
||
| sources = [SOURCELOWER_TAR_GZ] | ||
| source_urls = [GNU_SOURCE] | ||
|
|
||
| parallel = 1 | ||
|
|
||
| sanity_check_paths = { | ||
| 'files' : ['lib/libunistring.a', 'lib/libunistring.so', 'include/unistring'] + | ||
| ['include/uni%s.h' % x for x in ['case', 'conv', 'ctype', 'lbrk', 'name', 'norm', | ||
| 'stdio', 'str', 'types', 'wbrk', 'width']], | ||
| 'dirs' : [], | ||
| } | ||
|
|
||
| moduleclass = 'lib' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| easyblock = 'ConfigureMake' | ||
|
|
||
| name = 'libxml2' | ||
| version = '2.9.1' | ||
|
|
||
| homepage = 'http://xmlsoft.org/' | ||
| description = """Libxml2 is the XML C parser and toolchain developed for the Gnome project (but usable | ||
| outside of the Gnome platform).""" | ||
|
|
||
| toolchain = {'name': 'dummy', 'version': ''} | ||
|
|
||
| source_urls = [ | ||
| 'http://xmlsoft.org/sources/', | ||
| 'http://xmlsoft.org/sources/old/' | ||
| ] | ||
| sources = [SOURCELOWER_TAR_GZ] | ||
|
|
||
| configopts = 'CC="$CC" CXX="$CXX" --with-pic --without-python' | ||
| makeopts = 'LDFLAGS="-L$EBROOTZLIB/lib" V=1' | ||
|
|
||
| dependencies = [('zlib', '1.2.7')] | ||
|
|
||
| moduleclass = 'lib' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not the latest version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a requirement of ROSE, which is very picky about versions of dependencies.