# IT4Innovations 2018 easyblock = 'ConfigureMake' name = 'Mesa' version = '18.1.1' 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': 'foss', '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-17.3.6_fix-strip-llvm-flags.patch'] checksums = [ 'd3312a2ede5aac14a47476b208b8e3a401367838330197c4588ab8ad420d7781', # mesa-18.1.1.tar.xz '5aa4e92ed96e3d47ffbecd1ec3a1642407dff11995c5585eb5e06c396654ee30', # Mesa-17.3.6_fix-strip-llvm-flags.patch ] builddependencies = [ ('flex', '2.6.4', '', True), ('Bison', '3.0.4', '', True), ('Autotools', '20180311', '', True), ('pkg-config', '0.29.1', '', True), ('Mako', '1.0.7', '-Py-2.7', True), ('libxml2', '2.9.4', '', True), ('expat', '2.2.0', '', True), ] dependencies = [ ('zlib', '1.2.11', '', True), ('nettle', '3.4'), ('libdrm', '2.4.92'), ('LLVM', '6.0.0', '-Py-2.7', True), ('X11', '20180604'), ] # 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'