From 7c1f166bbad5b041048a82d1f2a13f13a557b3e5 Mon Sep 17 00:00:00 2001
From: easybuild <easybuild@login1.barbora.it4i.cz>
Date: Wed, 20 Nov 2019 08:54:11 +0100
Subject: [PATCH 1/2] 	modified:   l/LLVM/LLVM-7.0.0-intel-2017c.eb 	new
 file:   l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb 	new file:  
 m/Mako/Mako-1.0.6-Py-2.7.eb 	new file:  
 o/Octave/Octave-5.1.0-intel-2017c.eb 	deleted:   
 m/Mako/Mako-1.0.6-Python-2.7.14-base.eb

---
 l/LLVM/LLVM-7.0.0-intel-2017c.eb              |  6 +-
 l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb            | 46 +++++++++++++++
 ...on-2.7.14-base.eb => Mako-1.0.6-Py-2.7.eb} |  8 ++-
 o/Octave/Octave-5.1.0-intel-2017c.eb          | 56 +++++++++++++++++++
 4 files changed, 110 insertions(+), 6 deletions(-)
 create mode 100644 l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb
 rename m/Mako/{Mako-1.0.6-Python-2.7.14-base.eb => Mako-1.0.6-Py-2.7.eb} (65%)
 create mode 100644 o/Octave/Octave-5.1.0-intel-2017c.eb

diff --git a/l/LLVM/LLVM-7.0.0-intel-2017c.eb b/l/LLVM/LLVM-7.0.0-intel-2017c.eb
index a5a6ef92..acfeece9 100644
--- a/l/LLVM/LLVM-7.0.0-intel-2017c.eb
+++ b/l/LLVM/LLVM-7.0.0-intel-2017c.eb
@@ -1,4 +1,4 @@
-# IT4Innovations 2018
+# IT4Innovations 2019
 
 easyblock = 'CMakeMake'
 
@@ -21,12 +21,12 @@ source_urls = ["http://llvm.org/releases/%(version)s"]
 sources = ["llvm-%(version)s.src.tar.xz"]
 
 builddependencies = [
-    ('CMake', '3.11.4', '', ('GCC', '6.3.0-2.27')),
+    ('CMake', '3.16.0', '-rc3', True),
     ('Py', '2.7', '', True),
 ]
 
 dependencies = [
-    ('ncurses', '6.0', '', True),
+    ('ncurses', '6.1', '', True),
     ('zlib', '1.2.11', '', True),
 ]
 
diff --git a/l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb b/l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb
new file mode 100644
index 00000000..bd981a96
--- /dev/null
+++ b/l/LLVM/LLVM-9.0.0-GCCcore-8.3.0.eb
@@ -0,0 +1,46 @@
+# IT4Innovations 2019
+
+easyblock = 'CMakeMake'
+
+name = 'LLVM'
+version = '9.0.0'
+
+homepage = "http://llvm.org/"
+description = """The LLVM Core libraries provide a modern source- and target-independent
+ optimizer, along with code generation support for many popular CPUs
+ (as well as some less common ones!) These libraries are built around a well
+ specified code representation known as the LLVM intermediate representation
+ ("LLVM IR"). The LLVM Core libraries are well documented, and it is
+ particularly easy to invent your own language (or port an existing local_compiler)
+ to use LLVM as an optimizer and code generator."""
+
+toolchain = {'name': 'GCCcore', 'version': '8.3.0'}
+toolchainopts = {'cstd': 'gnu++11'}
+
+source_urls = ["http://llvm.org/releases/%(version)s"]
+sources = ["llvm-%(version)s.src.tar.xz"]
+
+builddependencies = [
+    ('CMake', '3.16.0', '-rc3', True),
+    ('Py', '2.7', '', True),
+    ('binutils', '2.32'),
+]
+
+dependencies = [
+    ('ncurses', '6.1', '', True),
+    ('zlib', '1.2.11', '', True),
+]
+
+configopts = '-DBUILD_SHARED_LIBS=ON '
+# required to install extra tools in bin/
+configopts += '-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=ON '
+configopts += '-DCMAKE_BUILD_TYPE=Release '
+
+sanity_check_paths = {
+    'files': ['bin/llvm-ar', 'bin/FileCheck'],
+    'dirs': ['include/llvm', 'include/llvm-c'],
+}
+
+separate_build_dir = True
+
+moduleclass = 'compiler'
diff --git a/m/Mako/Mako-1.0.6-Python-2.7.14-base.eb b/m/Mako/Mako-1.0.6-Py-2.7.eb
similarity index 65%
rename from m/Mako/Mako-1.0.6-Python-2.7.14-base.eb
rename to m/Mako/Mako-1.0.6-Py-2.7.eb
index 5897e980..f2865c24 100644
--- a/m/Mako/Mako-1.0.6-Python-2.7.14-base.eb
+++ b/m/Mako/Mako-1.0.6-Py-2.7.eb
@@ -1,8 +1,10 @@
+# IT4Innovations 2019
+
 easyblock = 'PythonPackage'
 
 name = 'Mako'
 version = '1.0.6'
-versionsuffix = '-Python-%(local_pyver)s-base'
+versionsuffix = '-Py-2.7'
 
 homepage = 'http://www.makotemplates.org'
 description = """A super-fast templating language that borrows the best ideas from the existing templating languages"""
@@ -12,11 +14,11 @@ toolchain = SYSTEM
 source_urls = [PYPI_SOURCE]
 sources = [SOURCE_TAR_GZ]
 
-dependencies = [('Python', '2.7.14', '-base')]
+dependencies = [('Py', '2.7')]
 
 sanity_check_paths = {
     'files': ['bin/mako-render'],
-    'dirs': ['lib/python%(local_pyshortver)s/site-packages/%(name)s-%(version)s-py%(local_pyshortver)s.egg'],
+    'dirs': ['lib/python2.7s/site-packages/%(name)s-%(version)s-py2.7.egg'],
 }
 
 moduleclass = 'devel'
diff --git a/o/Octave/Octave-5.1.0-intel-2017c.eb b/o/Octave/Octave-5.1.0-intel-2017c.eb
new file mode 100644
index 00000000..9ac7bf0b
--- /dev/null
+++ b/o/Octave/Octave-5.1.0-intel-2017c.eb
@@ -0,0 +1,56 @@
+# IT4Innovations 2019
+
+easyblock = 'ConfigureMake'
+
+name = 'Octave'
+version = '5.1.0'
+versionsuffix = '-without-X11'
+
+homepage = 'http://www.gnu.org/software/octave/'
+description = """GNU Octave is a high-level interpreted language, primarily intended for numerical local_computations."""
+
+toolchain = {'name': 'intel', 'version': '2017c'}
+
+source_urls = [GNU_SOURCE]
+sources = [SOURCELOWER_TAR_GZ]
+
+patches = ['%(name)s-%(version)s_intel.patch']
+
+builddependencies = [
+    ('Bison', '3.3.2', '', True),
+    ('flex', '2.6.4', '', True),
+    ('Autotools', '20180311', '', True),
+    ('libtool', '2.4.6', '', True),
+    ('gperf', '3.0.4'),
+]
+
+dependencies = [
+    ('PCRE', '8.40', '', True),
+    ('ncurses', '6.1', '', True),
+    ('libreadline', '7.0', '', True),
+    ('arpack-ng', '3.5.0'),
+    ('cURL', '7.65.3', '', True),
+    ('FLTK', '1.3.4', '', True),
+    ('zlib', '1.2.11', '', True),
+    ('Qt5', '5.8.0', '', ('GCC', '6.3.0-2.27')),
+    ('HDF5', '1.8.18', '-serial'),
+    ('FFTW', '3.3.6'),
+]
+
+configopts = 'MOC=$EBROOTQT5/bin/moc '
+configopts += 'UIC=$EBROOTQT5/bin/uic '
+configopts += 'RCC=$EBROOTQT5/bin/rcc '
+configopts += 'LRELEASE=$EBROOTQT5/bin/lrelease '
+configopts += '--with-blas="$LIBBLAS" --with-lapack="$LIBLAPACK" --disable-docs '
+configopts += '--without-opengl --without-qhull '
+# correct for both GCC and Intel local_compilers
+configopts += '--enable-fortran-calling-convention=gfortran'
+
+sanity_check_paths = {
+    'files': ['bin/octave'],
+    'dirs': []
+}
+
+sanity_check_commands = [('octave', '--eval "1+2"')]
+
+moduleclass = 'math'

From 0432c517007deed11834f3058c90f14e915831e8 Mon Sep 17 00:00:00 2001
From: easybuild <easybuild@login1.barbora.it4i.cz>
Date: Wed, 20 Nov 2019 13:35:43 +0100
Subject: [PATCH 2/2] 	modified:   o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb

---
 o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb b/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb
index eaace72f..d77440f9 100644
--- a/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb
+++ b/o/OpenMPI/OpenMPI-2.1.5-GCC-6.3.0-2.27.eb
@@ -22,7 +22,7 @@ configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
 # suppress failure modes in relation to mpirun path
 configopts += '--enable-mpirun-prefix-by-default '
 configopts += '--with-hwloc=$EBROOTHWLOC '  # hwloc support
-# configopts += '--disable-dlopen '  # dont disable dlopen!
+configopts += '--disable-dlopen '  # dont disable dlopen!
 # https://github.com/open-mpi/ompi/issues/3630
 configopts += '--with-tm=/opt/pbs '  # Enable PBS
 #configopts += '--enable-mpi-java '  # Java support RT#4090