From 42fb368b85fca999d68d928f0985bedb8f774870 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Krup=C4=8D=C3=ADk?= <lukas.krupcik@vsb.cz>
Date: Thu, 14 Dec 2017 15:42:47 +0100
Subject: [PATCH] 	modified:   g/grace/grace-5.1.25-intel-2017a.eb 
 new file:   l/libX11/libX11-1.6.5-intel-2017a.eb 	new file:  
 l/libXt/libXt-1.1.5-intel-2017a-libX11-1.6.5.eb 	new file:  
 m/motif/motif-2.3.4-intel-2017a.eb 	new file:  
 p/protobuf-python/protobuf-python-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb 
 new file:  
 p/protobuf-python/protobuf-python-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb 
 new file:   p/protobuf/protobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb 	new
 file:   s/Singularity/Singularity-2.4.2.eb 	modified:  
 s/Singularity/Singularity-2.4.eb 	new file:  
 s/squashfs-tools/squashfs-tools-2.4.eb

---
 g/grace/grace-5.1.25-intel-2017a.eb           |  2 +-
 l/libX11/libX11-1.6.5-intel-2017a.eb          | 37 ++++++++++++++
 .../libXt-1.1.5-intel-2017a-libX11-1.6.5.eb   | 41 ++++++++++++++++
 m/motif/motif-2.3.4-intel-2017a.eb            | 49 +++++++++++++++++++
 ...ython-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb | 35 +++++++++++++
 ...ython-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb | 35 +++++++++++++
 ...tobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb | 37 ++++++++++++++
 s/Singularity/Singularity-2.4.2.eb            | 28 +++++++++++
 s/Singularity/Singularity-2.4.eb              |  9 +++-
 s/squashfs-tools/squashfs-tools-2.4.eb        | 25 ++++++++++
 10 files changed, 296 insertions(+), 2 deletions(-)
 create mode 100644 l/libX11/libX11-1.6.5-intel-2017a.eb
 create mode 100644 l/libXt/libXt-1.1.5-intel-2017a-libX11-1.6.5.eb
 create mode 100644 m/motif/motif-2.3.4-intel-2017a.eb
 create mode 100644 p/protobuf-python/protobuf-python-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb
 create mode 100644 p/protobuf-python/protobuf-python-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb
 create mode 100644 p/protobuf/protobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb
 create mode 100644 s/Singularity/Singularity-2.4.2.eb
 create mode 100644 s/squashfs-tools/squashfs-tools-2.4.eb

diff --git a/g/grace/grace-5.1.25-intel-2017a.eb b/g/grace/grace-5.1.25-intel-2017a.eb
index 2857cf3b..932700e4 100644
--- a/g/grace/grace-5.1.25-intel-2017a.eb
+++ b/g/grace/grace-5.1.25-intel-2017a.eb
@@ -12,7 +12,7 @@ sources = [SOURCE_TAR_GZ]
 toolchain = {'name': 'intel', 'version': '2017a'}
 
 dependencies = [
-    ('motif', '2.3.7', '', True),
+    ('motif', '2.3.4', '-libX11-1.6.5'),
     ('netCDF', '4.4.1.1'),
 ]
 
diff --git a/l/libX11/libX11-1.6.5-intel-2017a.eb b/l/libX11/libX11-1.6.5-intel-2017a.eb
new file mode 100644
index 00000000..7dd0d460
--- /dev/null
+++ b/l/libX11/libX11-1.6.5-intel-2017a.eb
@@ -0,0 +1,37 @@
+easyblock = 'ConfigureMake'
+
+name = 'libX11'
+version = '1.6.5'
+
+homepage = "http://www.freedesktop.org/wiki/Software/xlibs"
+description = """X11 client-side library"""
+
+toolchain = {'name': 'intel', 'version': '2017a'}
+
+sources = [SOURCE_TAR_GZ]
+source_urls = [XORG_LIB_SOURCE]
+
+builddependencies = [
+    ('xextproto', '7.3.0', '', True),
+    ('xcb-proto', '1.11', '', True),
+    ('inputproto', '2.3', '', True),
+    ('xproto', '7.0.28', '', True),
+    ('libpthread-stubs', '0.4', '', True),
+    ('kbproto', '1.0.7', '', True),
+    ('xtrans', '1.3.5', '', True),
+]
+
+dependencies = [
+    ('libxcb', '1.11.1', '', True),
+]
+
+sanity_check_paths = {
+    'files': ['include/X11/%s' % x for x in [
+        'cursorfont.h', 'ImUtil.h', 'Xcms.h', 'XKBlib.h', 'XlibConf.h', 'Xlib.h', 'Xlibint.h', 'Xlib-xcb.h',
+        'Xlocale.h', 'Xregion.h', 'Xresource.h', 'Xutil.h',
+    ]
+    ],
+    'dirs': [],
+}
+
+moduleclass = 'vis'
diff --git a/l/libXt/libXt-1.1.5-intel-2017a-libX11-1.6.5.eb b/l/libXt/libXt-1.1.5-intel-2017a-libX11-1.6.5.eb
new file mode 100644
index 00000000..e3c71baf
--- /dev/null
+++ b/l/libXt/libXt-1.1.5-intel-2017a-libX11-1.6.5.eb
@@ -0,0 +1,41 @@
+easyblock = 'ConfigureMake'
+
+name = 'libXt'
+version = '1.1.5'
+
+homepage = "http://www.freedesktop.org/wiki/Software/xlibs"
+description = """libXt provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are
+ based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation)."""
+
+toolchain = {'name': 'intel', 'version': '2017a'}
+toolchainopts = {'optarch': True}
+
+sources = [SOURCE_TAR_GZ]
+source_urls = [XORG_LIB_SOURCE]
+
+libx11ver = '1.6.5'
+versionsuffix = '-libX11-%s' % libx11ver
+dependencies = [
+    ('libSM', '1.2.2', '', True),
+    ('libICE', '1.0.9', '', True),
+    ('libX11', libx11ver),
+]
+
+builddependencies = [
+    ('xproto', '7.0.28', '', True),
+    ('kbproto', '1.0.7', '', True),
+]
+
+sanity_check_paths = {
+    'files' : ['include/X11/%s' % x for x in [
+        'CallbackI.h', 'CompositeP.h', 'Constraint.h', 'Core.h', 'CreateI.h', 'HookObjI.h', 'Intrinsic.h',
+        'IntrinsicP.h', 'ObjectP.h', 'RectObj.h', 'ResConfigP.h', 'SelectionI.h', 'ShellI.h', 'StringDefs.h',
+        'TranslateI.h', 'Vendor.h', 'Xtos.h', 'Composite.h', 'ConstrainP.h', 'ConvertI.h', 'CoreP.h', 'EventI.h',
+        'InitialI.h', 'IntrinsicI.h', 'Object.h', 'PassivGraI.h', 'RectObjP.h', 'ResourceI.h', 'Shell.h', 'ShellP.h',
+        'ThreadsI.h', 'VarargsI.h', 'VendorP.h',
+        ]
+    ],
+    'dirs' : [],
+}
+
+moduleclass = 'vis'
diff --git a/m/motif/motif-2.3.4-intel-2017a.eb b/m/motif/motif-2.3.4-intel-2017a.eb
new file mode 100644
index 00000000..a4f483a5
--- /dev/null
+++ b/m/motif/motif-2.3.4-intel-2017a.eb
@@ -0,0 +1,49 @@
+easyblock = 'ConfigureMake'
+
+name = 'motif'
+version = '2.3.8'
+
+homepage = 'http://motif.ics.com/'
+description = """Motif refers to both a graphical user interface (GUI) specification and the widget toolkit for building
+ applications that follow that specification under the X Window System on Unix and other POSIX-compliant systems.
+ It was the standard toolkit for the Common Desktop Environment and thus for Unix."""
+
+toolchain = {'name': 'intel', 'version': '2017a'}
+# use -O1 to dance around icc segfaulting
+toolchainopts = {'lowopt': True}
+
+sources = ['%(name)s-%(version)s-src.tgz']
+source_urls = [SOURCEFORGE_SOURCE]
+
+libx11ver = '1.6.5'
+versionsuffix = '-libX11-%s' % libx11ver
+dependencies = [
+    ('libXt', '1.1.5', versionsuffix),
+    ('libXau', '1.0.8', '', True),
+    ('libX11', libx11ver),
+    ('libXext', '1.3.3', '', True),
+    ('libXdmcp', '1.1.2', '', True),
+    ('libpng', '1.6.29', '', True),
+    ('xbitmaps', '1.1.1', '', True),
+    ('freetype', '2.6.3', '', True),
+    ('libjpeg-turbo', '1.5.1'),
+    ('bzip2', '1.0.6', '', True),
+]
+builddependencies = [
+    ('Autotools', '20150215', '', True),
+    ('flex', '2.6.4', '', True),
+    ('Bison', '3.0.4', '', True),
+    ('util-linux', '2.29.2', '', True),
+]
+
+preconfigopts = "./autogen.sh && "
+
+# makefile is not parallel safe
+parallel = 1
+
+sanity_check_paths = {
+    'files': ['lib/libMrm.a', 'lib/libUil.a', 'lib/libXm.a', 'bin/mwm', 'bin/uil', 'bin/xmbind'],
+    'dirs': ['include/Mrm', 'include/uil', 'include/X11', 'include/Xm'],
+}
+
+moduleclass = 'vis'
diff --git a/p/protobuf-python/protobuf-python-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb b/p/protobuf-python/protobuf-python-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb
new file mode 100644
index 00000000..0ba0b8fe
--- /dev/null
+++ b/p/protobuf-python/protobuf-python-3.2.0-GCC-7.1.0-2.28-Python-3.6.1.eb
@@ -0,0 +1,35 @@
+# IT4Innovations 2017
+
+easyblock = 'PythonPackage'
+
+name = 'protobuf-python'
+version = '3.2.0'
+versionsuffix= '-Python-%(pyver)s'
+
+homepage = 'https://github.com/google/protobuf/'
+description = """Python Protocol Buffers runtime library."""
+
+toolchain = {'name': 'GCC', 'version': '7.1.0-2.28'}
+
+source_urls = ['https://github.com/google/protobuf/archive/v%(version)s']
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.6.1', '', True),
+    ('protobuf', version, '-Python-%(pyver)s')
+]
+
+# use_setup_py_develop = True
+
+start_dir = 'python'
+
+installopts = '--cpp_implementation'
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+options = {'modulename': 'google.protobuf' }
+
+moduleclass = 'devel'
diff --git a/p/protobuf-python/protobuf-python-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb b/p/protobuf-python/protobuf-python-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb
new file mode 100644
index 00000000..d9e134b8
--- /dev/null
+++ b/p/protobuf-python/protobuf-python-3.4.0-GCC-6.4.0-2.28-Python-3.6.1.eb
@@ -0,0 +1,35 @@
+# IT4Innovations 2017
+
+easyblock = 'PythonPackage'
+
+name = 'protobuf-python'
+version = '3.4.0'
+versionsuffix= '-Python-%(pyver)s'
+
+homepage = 'https://github.com/google/protobuf/'
+description = """Python Protocol Buffers runtime library."""
+
+toolchain = {'name': 'GCC', 'version': '6.4.0-2.28'}
+
+source_urls = ['https://github.com/google/protobuf/archive/v%(version)s']
+sources = [SOURCE_TAR_GZ]
+
+dependencies = [
+    ('Python', '3.6.1', '', True),
+    ('protobuf', version, '-Python-%(pyver)s')
+]
+
+# use_setup_py_develop = True
+
+start_dir = 'python'
+
+installopts = '--cpp_implementation'
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+options = {'modulename': 'google.protobuf' }
+
+moduleclass = 'devel'
diff --git a/p/protobuf/protobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb b/p/protobuf/protobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb
new file mode 100644
index 00000000..f8e94e9c
--- /dev/null
+++ b/p/protobuf/protobuf-3.4.0-GCC-7.1.0-2.28-Python-3.6.1.eb
@@ -0,0 +1,37 @@
+easyblock = 'ConfigureMake'
+
+name = 'protobuf'
+version = '3.4.0'
+versionsuffix = '-Python-3.6.1'
+
+homepage = 'https://code.google.com/p/protobuf/'
+description = """Google Protocol Buffers"""
+
+toolchain = {'name': 'GCC', 'version': '7.1.0-2.28'}
+
+sources = ['%(name)s-python-%(version)s.tar.gz']
+source_urls = ['https://github.com/google/protobuf/releases/download/v%(version)s/']
+
+#builddependencies = [
+#    ('GCC', '4.9.3-tf'),
+#]
+
+dependencies = [
+    ('Python', '3.6.1', '', True),
+]
+
+# after instalation: python3 setup.py install --cpp_implementation
+#postinstallcmds = [
+#    'cp %(builddir)s/%(name)s-%(version)s/  %(installdir)s/build -R',
+#]
+
+sanity_check_paths = {
+    'files': ['bin/protoc'],
+    'dirs': [],
+}
+
+modextravars = {
+    'PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION': 'cpp',
+}
+
+moduleclass = 'devel'
diff --git a/s/Singularity/Singularity-2.4.2.eb b/s/Singularity/Singularity-2.4.2.eb
new file mode 100644
index 00000000..56a4e192
--- /dev/null
+++ b/s/Singularity/Singularity-2.4.2.eb
@@ -0,0 +1,28 @@
+# IT4Innovations 2017
+
+easyblock = 'ConfigureMake'
+
+name = 'Singularity'
+version = '2.4.2'
+
+homepage = 'http://gmkurtzer.github.io/singularity'
+description = """Singularity is a container platform focused on supporting \"Mobility of Compute\""""
+
+toolchain = {'name': 'dummy', 'version': ''}
+
+source_urls = ['https://github.com/gmkurtzer/singularity/archive/']
+sources = ['%(version)s.tar.gz']
+
+dependencies = [
+    ('squashfs-tools', '4.3'),
+]
+
+builddependencies = [('Autotools', '20150215')]
+
+preconfigopts = './autogen.sh && '
+
+modextravars = {'SINGULARITY_OVERLAYFS_ENABLED': '1'}
+
+# modluafooter = 'add_property("state","experimental")'
+
+moduleclass = 'tools'
diff --git a/s/Singularity/Singularity-2.4.eb b/s/Singularity/Singularity-2.4.eb
index 59ad3d0f..15c7e638 100644
--- a/s/Singularity/Singularity-2.4.eb
+++ b/s/Singularity/Singularity-2.4.eb
@@ -1,3 +1,5 @@
+# It4Innovations 2017
+
 easyblock = 'ConfigureMake'
 
 name = 'Singularity'
@@ -11,12 +13,17 @@ toolchain = {'name': 'dummy', 'version': ''}
 source_urls = ['https://github.com/gmkurtzer/singularity/archive/']
 sources = ['%(version)s.tar.gz']
 
+dependencies = [
+    ('squashfs-tools', '4.3'),
+]
+
+
 builddependencies = [('Autotools', '20150215')]
 
 preconfigopts = './autogen.sh && '
 
 modextravars = {'SINGULARITY_OVERLAYFS_ENABLED': '1'}
 
-modluafooter = 'add_property("state","experimental")'
+#modluafooter = 'add_property("state","experimental")'
 
 moduleclass = 'tools'
diff --git a/s/squashfs-tools/squashfs-tools-2.4.eb b/s/squashfs-tools/squashfs-tools-2.4.eb
new file mode 100644
index 00000000..7d44f5f9
--- /dev/null
+++ b/s/squashfs-tools/squashfs-tools-2.4.eb
@@ -0,0 +1,25 @@
+easyblock = 'ConfigureMake'
+
+name = 'squashfs-tools'
+version = '4.3'
+
+homepage = 'http://squashfs.sourceforge.net/'
+description = """Squashfs is a compressed read-only filesystem for Linux."""
+
+toolchain = {'name': 'dummy', 'version': ''}
+
+sources = ['master.zip']
+source_urls = ['https://github.com/plougher/squashfs-tools/archive']
+
+skipsteps = ['configure']
+
+start_dir = 'squashfs-tools'
+
+prebuildopts = 'sed -i "s|INSTALL_DIR = /usr/local/bin|INSTALL_DIR = %(installdir)s/bin|g" Makefile && '
+
+sanity_check_paths = {
+    'files': ['bin/mksquashfs', 'bin/unsquashfs'],
+    'dirs': [],
+}
+
+moduleclass = 'devel'