diff --git a/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb new file mode 100644 index 000000000000..0803920d3920 --- /dev/null +++ b/easybuild/easyconfigs/l/LLVM/LLVM-4.0.1-intel-2017b.eb @@ -0,0 +1,44 @@ +easyblock = 'CMakeMake' + +name = 'LLVM' +version = '4.0.1' + +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 compiler) + to use LLVM as an optimizer and code generator.""" + +toolchain = {'name': 'intel', 'version': '2017b'} +toolchainopts = {'cstd': 'gnu++11'} + +source_urls = ["http://llvm.org/releases/%(version)s"] +sources = ["llvm-%(version)s.src.tar.xz"] +checksums = ['da783db1f82d516791179fe103c71706046561f7972b18f0049242dee6712b51'] + +builddependencies = [ + ('CMake', '3.9.5'), + ('Python', '2.7.14'), +] + +dependencies = [ + ('ncurses', '6.0'), + ('zlib', '1.2.11'), +] + +configopts = '-DBUILD_SHARED_LIBS=ON -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -shared-intel" ' +# required to install extra tools in bin/ +configopts += "-DLLVM_INSTALL_UTILS=ON -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_ENABLE_ZLIB=ON -DLLVM_ENABLE_RTTI=1 " +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/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2017b.eb b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2017b.eb new file mode 100644 index 000000000000..a571bc2d5c84 --- /dev/null +++ b/easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2017b.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libGLU' +version = '9.0.0' + +homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/' +description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """ + +toolchain = {'name': 'intel', 'version': '2017b'} +toolchainopts = {'pic': True} + +source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/'] +sources = ['glu-%(version)s.tar.bz2'] + +dependencies = [ + ('Mesa', '17.2.4'), +] + +sanity_check_paths = { + 'files': ['lib/libGLU.so.1'], + 'dirs': [], +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/l/libdrm/libdrm-2.4.88-GCCcore-6.4.0.eb b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.88-GCCcore-6.4.0.eb new file mode 100644 index 000000000000..b42941af78c7 --- /dev/null +++ b/easybuild/easyconfigs/l/libdrm/libdrm-2.4.88-GCCcore-6.4.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'libdrm' +version = '2.4.88' + +homepage = 'http://dri.freedesktop.org' +description = """Direct Rendering Manager runtime library.""" + +toolchain = {'name': 'GCCcore', 'version': '6.4.0'} + +source_urls = ['http://dri.freedesktop.org/libdrm/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a8b458db6a73c717baee2e249d39511fb6f5c0f5f24dee2770935eddeda1a017'] + +builddependencies = [('binutils', '2.28')] +dependencies = [('X11', '20171023')] + +sanity_check_paths = { + 'files': ['include/xf86drm.h', 'include/xf86drmMode.h', 'lib/libdrm_intel.%s' % SHLIB_EXT, + 'lib/libdrm_radeon.%s' % SHLIB_EXT, 'lib/libdrm.%s' % SHLIB_EXT, 'lib/libkms.%s' % SHLIB_EXT], + 'dirs': ['include/libdrm', 'include/libkms', 'lib/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/m/Mako/Mako-1.0.7-intel-2017b-Python-2.7.14.eb b/easybuild/easyconfigs/m/Mako/Mako-1.0.7-intel-2017b-Python-2.7.14.eb new file mode 100644 index 000000000000..ba493f56eb50 --- /dev/null +++ b/easybuild/easyconfigs/m/Mako/Mako-1.0.7-intel-2017b-Python-2.7.14.eb @@ -0,0 +1,23 @@ +easyblock = 'PythonPackage' + +name = 'Mako' +version = '1.0.7' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://www.makotemplates.org' +description = """A super-fast templating language that borrows the best ideas from the existing templating languages""" + +toolchain = {'name': 'intel', 'version': '2017b'} + +source_urls = [PYPI_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae'] + +dependencies = [('Python', '2.7.14')] + +sanity_check_paths = { + 'files': ['bin/mako-render'], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(name)s-%(version)s-py%(pyshortver)s.egg'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4-intel-2017b.eb b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4-intel-2017b.eb new file mode 100644 index 000000000000..181171b7aaf7 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4-intel-2017b.eb @@ -0,0 +1,70 @@ +# the purpose of the easyconfig is to build a Mesa for software rendering, +# not hardware rendering. This means you want at least SSE4.2. We build: +# - llvmpipe: the high-performance Gallium LLVM driver +# - swr: Intel's OpenSWR +# it will try to use the llvmpipe by default. It you want swr, do: +# GALLIUM_DRIVER=swr + +easyblock = 'ConfigureMake' + +name = 'Mesa' +version = '17.2.4' + +homepage = 'http://www.mesa3d.org/' +description = """Mesa is an open-source implementation of the OpenGL specification - + a system for rendering interactive 3D graphics.""" + +toolchain = {'name': 'intel', 'version': '2017b'} +# swr detects and builds parts specific for AVX and AVX2. If we use +# -xHost, this always gets overwritten and will fail. +toolchainopts = {'optarch': False} + +source_urls = [ + 'https://mesa.freedesktop.org/archive/', + 'https://mesa.freedesktop.org/archive/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/%(version)s', + 'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s', +] +sources = [SOURCELOWER_TAR_XZ] +patches = ['Mesa-%(version)s_fix-strip-llvm-flags.patch'] +checksums = [ + '5ba408fecd6e1132e5490eec1a2f04466214e4c65c8b89b331be844768c2e550', # mesa-17.2.4.tar.xz + '5aa4e92ed96e3d47ffbecd1ec3a1642407dff11995c5585eb5e06c396654ee30', # Mesa-17.2.4_fix-strip-llvm-flags.patch +] + +builddependencies = [ + ('flex', '2.6.4'), + ('Bison', '3.0.4'), + ('Autotools', '20170619'), + ('pkg-config', '0.29.2'), + ('Mako', '1.0.7', '-Python-2.7.14'), + ('libxml2', '2.9.4'), +] + +dependencies = [ + ('zlib', '1.2.11'), + ('nettle', '3.3'), + ('libdrm', '2.4.88'), + ('LLVM', '5.0.0'), + ('X11', '20171023'), +] + +# GLU is not part anymore of Mesa package! +configopts = " --disable-osmesa --enable-gallium-osmesa --enable-gallium-llvm --enable-glx --disable-dri" +configopts += " --disable-gbm --disable-driglx-direct --with-gallium-drivers='swrast,swr' --disable-egl" +configopts += " --with-osmesa-bits=32 --enable-texture-float --enable-llvm-shared-libs " + +buildopts = 'V=1' + +sanity_check_paths = { + 'files': ['lib/libGL.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT, + 'lib/libGLESv1_CM.%s' % SHLIB_EXT, 'lib/libGLESv2.%s' % SHLIB_EXT, + 'include/GL/glext.h', 'include/GL/gl_mangle.h', + 'include/GL/glx.h', 'include/GL/osmesa.h', + 'include/GL/gl.h', 'include/GL/glxext.h', + 'include/GL/glx_mangle.h', 'include/GLES/gl.h', + 'include/GLES2/gl2.h', 'include/GLES3/gl3.h'], + 'dirs': [] +} + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4_fix-strip-llvm-flags.patch b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4_fix-strip-llvm-flags.patch new file mode 100644 index 000000000000..545bee2c9465 --- /dev/null +++ b/easybuild/easyconfigs/m/Mesa/Mesa-17.2.4_fix-strip-llvm-flags.patch @@ -0,0 +1,14 @@ +strip out '-fp-model source' as a whole, rather than only stripping out '-fp-model' which leads to compilation errors: +"File not found: 'source'" + +author: Kenneth Hoste (HPC-UGent), based on patch for Mesa 17.0.2 by Ward Poelmans (VUB) +--- configure.orig 2017-11-11 19:54:40.966320129 +0100 ++++ configure 2017-11-11 19:59:25.921932866 +0100 +@@ -22540,6 +22540,7 @@ + -e 's/[[:space:]]+-O[^[:space:]]*//g' \ + -e 's/[[:space:]]+-g[^[:space:]]*//g' \ + -e 's/-fno-rtti[[:space:]]/-Fno-rtti /g' \ ++ -e 's/[[:space]]+-fp-model[[:space:]][^[:space:]]*//g' \ + -e 's/[[:space:]]+-f[^[:space:]]*//g' \ + -e 's/-Fno-rtti[[:space:]]/-fno-rtti /g' \ + -e 's/^[[:space:]]//' \