-
Notifications
You must be signed in to change notification settings - Fork 781
{vis}[GCCcore/14.2.0] LLVM v20.1.7, Mesa v25.1.3, lit v18.1.8, ... #23144
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
Merged
Crivella
merged 9 commits into
easybuilders:develop
from
Micket:20250619010219_new_pr_LLVM2017
Sep 11, 2025
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
88c372b
adding easyconfigs: LLVM-20.1.7-GCCcore-14.2.0.eb, Mesa-25.1.3-GCCcor…
Micket 3d0ed94
update checksum
branfosj 79ac1ce
Update config opts to reflect modern Mesa builds better
Micket 6a5b3b2
Update config opts to reflect modern Mesa builds better
Micket 2e6fe79
Update easybuild/easyconfigs/m/Mesa/Mesa-25.1.3-GCCcore-14.2.0.eb
Micket 5aeb087
Remove skip_mod_files_sanity_check as its covered in the easyblock no…
241fad3
Apply suggestions from code review
Crivella b61d612
Merge branch 'develop' of https://github.com/easybuilders/easybuild-e…
Crivella f7400b4
Update easybuild/easyconfigs/l/LLVM/LLVM-20.1.7-GCCcore-14.2.0.eb
Crivella File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
84 changes: 84 additions & 0 deletions
84
easybuild/easyconfigs/l/LLVM/LLVM-20.1.7-GCCcore-14.2.0.eb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| name = 'LLVM' | ||
| version = '20.1.7' | ||
|
|
||
|
|
||
| homepage = "https://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': 'GCCcore', 'version': '14.2.0'} | ||
| toolchainopts = { | ||
| # 'cstd': 'gnu++11', | ||
| 'pic': True | ||
| } | ||
|
|
||
| source_urls = ['https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/'] | ||
| sources = [ | ||
| 'llvm-project-%(version)s.src.tar.xz', | ||
| ] | ||
| patches = [ | ||
| 'LLVM-18.1.8_envintest.patch', | ||
| 'LLVM-19.1.7_libomptarget_tests.patch', | ||
| 'LLVM-19.1.7_clang_rpathwrap_test.patch', | ||
| ] | ||
| checksums = [ | ||
| {'llvm-project-20.1.7.src.tar.xz': 'cd8fd55d97ad3e360b1d5aaf98388d1f70dfffb7df36beee478be3b839ff9008'}, | ||
| {'LLVM-18.1.8_envintest.patch': '8e25dfab8a29a860717b4bd2d8cdd0e795433766d7fffbda32d06a2bde47058d'}, | ||
| {'LLVM-19.1.7_libomptarget_tests.patch': '79a67c118d034cfb74e255696369150c73432d2b422f4834efacb26f7904edbf'}, | ||
| {'LLVM-19.1.7_clang_rpathwrap_test.patch': '5ee6a87ec8ff1c8b736ffe0513aa2098bd2b83a1ffc647a1ad2cf966f567e8a1'}, | ||
| ] | ||
|
|
||
| builddependencies = [ | ||
| ('binutils', '2.42'), | ||
| ('Python', '3.13.1'), | ||
| ('CMake', '3.31.3'), | ||
| ('psutil', '7.0.0'), # Needed to enable test timeout in lit | ||
| ('lit', '18.1.8'), | ||
| ('git', '2.49.0'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('libxml2', '2.13.4'), | ||
| ('ncurses', '6.5'), | ||
| ('zlib', '1.3.1'), | ||
| ('Z3', '4.13.4'), | ||
| ('zstd', '1.5.6'), | ||
| ] | ||
|
|
||
| build_shared_libs = True | ||
|
|
||
| bootstrap = True | ||
| full_llvm = False | ||
| build_clang_extras = True | ||
| build_runtimes = True | ||
| build_lld = True | ||
| build_lldb = True | ||
| build_bolt = True | ||
| build_openmp = True | ||
| build_openmp_tools = True | ||
| build_openmp_offload = True | ||
| use_polly = True | ||
|
|
||
| python_bindings = True | ||
|
|
||
| build_targets = ['all'] | ||
| # disable_werror = True | ||
|
|
||
| skip_all_tests = False | ||
| skip_sanitizer_tests = True | ||
| test_suite_max_failed = 10 | ||
| test_suite_timeout_single = 5 * 60 | ||
| test_suite_ignore_patterns = [ | ||
| "X86/register-fragments-bolt-symbols.s", | ||
| "modularize/ProblemsCoverage.modularize", | ||
| "Driver/atomic.f90", | ||
| "Driver/gcc-toolchain-install-dir.f90", | ||
| "api_tests/test_ompd_get_icv_from_scope.c", | ||
| ] | ||
|
|
||
| moduleclass = 'compiler' | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| easyblock = 'PythonBundle' | ||
|
|
||
| name = 'lit' | ||
| version = '18.1.8' | ||
|
|
||
| homepage = 'https://llvm.org/docs/CommandGuide/lit.html' | ||
| description = """lit is a portable tool for executing LLVM and Clang style test suites, summarizing their results, and | ||
| providing indication of failures.""" | ||
|
|
||
| toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
|
|
||
| builddependencies = [ | ||
| ('binutils', '2.42'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('Python', '3.13.1'), | ||
| ] | ||
|
|
||
| exts_list = [ | ||
| ('ptyprocess', '0.7.0', { | ||
| 'source_tmpl': '%(name)s-%(version)s-py2.py3-none-any.whl', | ||
| 'checksums': ['4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35'], | ||
| }), | ||
| ('pexpect', '4.9.0', { | ||
| 'checksums': ['ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f'], | ||
| }), | ||
| (name, version, { | ||
| 'checksums': ['47c174a186941ae830f04ded76a3444600be67d5e5fb8282c3783fba671c4edb'], | ||
| }), | ||
| ] | ||
|
|
||
| sanity_check_commands = ['lit -h'] | ||
|
|
||
| moduleclass = 'tools' |
67 changes: 67 additions & 0 deletions
67
easybuild/easyconfigs/m/Mesa/Mesa-25.1.3-GCCcore-14.2.0.eb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| # This is a Mesa using software rendering via Gallium-DRI and libglvnd | ||
| # - libglvnd can dynamically choose between system-installed NVidia | ||
| # libGLX/libEGL or the software renderers provided by this Mesa | ||
| # - EGL is available | ||
| # | ||
| # Software renderers enabled (swr deprecated as of v22): | ||
| # - llvmpipe: uses LLVM for JIT code generation (multi-threaded) | ||
| # - softpipe: a reference Gallium driver | ||
| # Default renderer is llvmpipe. To use softpipe, set the environment | ||
| # variable GALLIUM_DRIVER=softpipe | ||
|
|
||
| name = 'Mesa' | ||
| version = '25.1.3' | ||
|
|
||
| homepage = 'https://www.mesa3d.org/' | ||
| description = """Mesa is an open-source implementation of the OpenGL specification - | ||
| a system for rendering interactive 3D graphics.""" | ||
|
|
||
| toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
|
|
||
| source_urls = [ | ||
| 'https://archive.mesa3d.org/', | ||
| 'https://archive.mesa3d.org/older-versions/%(version_major)s.x/', | ||
| ] | ||
| sources = [SOURCELOWER_TAR_XZ] | ||
| checksums = ['ffcb6cadb5fd356d56008e6308641dfe4b2929f30139f6585436ca6e3cddba7f'] | ||
|
|
||
| builddependencies = [ | ||
| ('binutils', '2.42'), | ||
| ('Meson', '1.6.1'), | ||
| ('Ninja', '1.12.1'), | ||
| ('flex', '2.6.4'), | ||
| ('Bison', '3.8.2'), | ||
| ('pkgconf', '2.3.0'), | ||
| ('Mako', '1.3.10'), | ||
| ('libxml2', '2.13.4'), | ||
| ('expat', '2.6.4'), | ||
| ('gettext', '0.24'), | ||
|
Micket marked this conversation as resolved.
|
||
| ('glslang-SPIRV', '15.3.0'), | ||
| ('PyYAML', '6.0.2'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('zlib', '1.3.1'), | ||
| ('zstd', '1.5.6'), | ||
| ('libdrm', '2.4.125'), | ||
| ('libglvnd', '1.7.0'), | ||
| ('libunwind', '1.8.1'), | ||
| ('LLVM', '20.1.7'), | ||
| ('X11', '20250521'), | ||
| ('Wayland', '1.23.92'), | ||
| ] | ||
|
|
||
| configopts = "-Dplatforms=x11,wayland -Dvulkan-drivers='swrast' -Dvulkan-layers='device-select' " | ||
| configopts += "-Dllvm=enabled -Dshared-llvm=enabled -Dlibunwind=enabled -Degl=enabled -Dglvnd=enabled -Dglx=auto " | ||
| configopts += "-Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc,av1dec,av1enc,vp9dec " | ||
|
|
||
| # Easybuild will automatically add appropriate Gallium drivers for the processor architecture of the host | ||
| # If you need a different configuration, it possible to override those values by setting your own configopts | ||
| # configopts += " -Dgallium-drivers=auto" | ||
|
|
||
| # symlink indirect to mesa GLX, similar to Debian, see | ||
| # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881789 | ||
| # This helps in certain X forwarding situations (e.g. XQuartz) | ||
| postinstallcmds = ["ln -s libGLX_mesa.so.0 %(installdir)s/lib/libGLX_indirect.so.0"] | ||
|
|
||
| moduleclass = 'vis' | ||
126 changes: 126 additions & 0 deletions
126
easybuild/easyconfigs/x/Xvfb/Xvfb-21.1.18-GCCcore-14.2.0.eb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,126 @@ | ||
| easyblock = 'Bundle' | ||
|
|
||
| name = 'Xvfb' | ||
| version = '21.1.18' | ||
|
|
||
| homepage = 'https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml' | ||
| description = """Xvfb is an X server that can run on machines with no display hardware and no physical input devices. | ||
| It emulates a dumb framebuffer using virtual memory.""" | ||
|
|
||
| toolchain = {'name': 'GCCcore', 'version': '14.2.0'} | ||
|
|
||
| builddependencies = [ | ||
| ('binutils', '2.42'), | ||
| ('pkgconf', '2.3.0'), | ||
| ('Python', '3.13.1'), | ||
| ('Meson', '1.6.1'), | ||
| ('Ninja', '1.12.1'), | ||
| ('libxslt', '1.1.42'), | ||
| ('gettext', '0.24'), | ||
| ('Bison', '3.8.2'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('X11', '20250521'), | ||
| ('pixman', '0.46.2'), | ||
| ('libdrm', '2.4.125'), | ||
| ('Mesa', '25.1.3'), | ||
| ('nettle', '3.10.1'), | ||
| ('libunwind', '1.8.1'), | ||
| ('XZ', '5.6.3'), | ||
| ] | ||
|
|
||
| default_easyblock = 'ConfigureMake' | ||
|
|
||
| local_xvfb_configopts = "--enable-xvfb --disable-xorg --disable-xnest --disable-xwin " | ||
| local_xvfb_configopts += "--disable-dri --disable-dri2 --disable-dri3 --disable-libunwind " | ||
| local_xvfb_configopts += "--with-fontrootdir=%(installdir)s/share/fonts/X11" | ||
|
|
||
| # use 'make V=1' to see compiler commands | ||
| local_xvfb_buildopts = "V=1 " | ||
|
|
||
| # use static libraries for nettle & libunwind, so avoid errors like "No rule to make target '-lnettle'" | ||
| local_xvfb_buildopts += 'SHA1_LIBS="$EBROOTNETTLE/lib*/libnettle.a" ' | ||
| local_xvfb_buildopts += 'LIBUNWIND_LIBS="$EBROOTLIBUNWIND/lib*/libunwind.a $EBROOTXZ/lib*/liblzma.a"' | ||
|
|
||
| default_component_specs = { | ||
| 'sources': [SOURCE_TAR_GZ], | ||
| 'start_dir': '%(name)s-%(version)s', | ||
| } | ||
|
|
||
| local_font_misc_preconfigopts = "export PKG_CONFIG_PATH=%(installdir)s/lib/pkgconfig:$PKG_CONFIG_PATH && " | ||
| local_font_misc_preconfigopts += "export PATH=%(installdir)s/bin:$PATH && " | ||
|
|
||
| components = [ | ||
| ('mkfontscale', '1.2.3', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/app/'], | ||
| 'checksums': ['3a026b468874eb672a1d0a57dbd3ddeda4f0df09886caf97d30097b70c2df3f8'], | ||
| }), | ||
| ('mkfontdir', '1.0.7', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/app/'], | ||
| 'checksums': ['bccc5fb7af1b614eabe4a22766758c87bfc36d66191d08c19d2fa97674b7b5b7'], | ||
| }), | ||
| ('bdftopcf', '1.1', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/app/'], | ||
| 'checksums': ['699d1a62012035b1461c7f8e3f05a51c8bd6f28f348983249fb89bbff7309b47'], | ||
| }), | ||
| ('font-util', '1.4.1', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/font/'], | ||
| 'checksums': ['f029ae80cdd75d89bee7f7af61c21e07982adfb9f72344a158b99f91f77ef5ed'], | ||
| }), | ||
| ('font-misc-misc', '1.1.3', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/font/'], | ||
| 'checksums': ['bece4a9482b3cb6f7fad2164fd3b394d22dfe1ad2f96f60030a703bcff30f5a5'], | ||
| 'preconfigopts': local_font_misc_preconfigopts, | ||
| }), | ||
| ('xkbcomp', '1.4.7', { | ||
| 'source_urls': ['https://www.x.org/archive/individual/app/'], | ||
| 'checksums': ['00cecc490fcbe2f789cf13c408c459673c2c33ab758d802677321cffcda35373'], | ||
| }), | ||
| ('xkeyboard-config', '2.45', { | ||
| 'easyblock': 'MesonNinja', | ||
| 'source_urls': ['https://www.x.org/archive/individual/data/xkeyboard-config/'], | ||
| 'sources': [SOURCE_TAR_XZ], | ||
| 'checksums': ['169e075a92d957a57787c199e84e359df2931b7196c1c5b4a3d576ee6235a87c'], | ||
| 'configopts': '-Dxorg-rules-symlinks=true', | ||
| }), | ||
| ('xauth', '1.1.3', { | ||
| 'source_urls': ['https://www.x.org/releases/individual/app/'], | ||
| 'checksums': ['88c288e0a30bf071631118644f5232cae3a79713a7c82dd31a236e8e2c6fca15'], | ||
| }), | ||
| ('libxcvt', '0.1.3', { | ||
| 'easyblock': 'MesonNinja', | ||
| 'source_urls': ['https://www.x.org/archive/individual/lib/'], | ||
| 'sources': [SOURCE_TAR_XZ], | ||
| 'checksums': ['a929998a8767de7dfa36d6da4751cdbeef34ed630714f2f4a767b351f2442e01'], | ||
| }), | ||
| (name, version, { | ||
| 'source_urls': ['https://www.x.org/releases/individual/xserver/'], | ||
| 'sources': ['xorg-server-%(version)s.tar.gz'], | ||
| 'patches': [('xvfb-run', '.')], | ||
| 'checksums': [ | ||
| 'c8591ceb70b177440062406542fe52ba60212f217f27f8f802dd20373ca9e74b', # xorg-server-21.1.14.tar.gz | ||
| 'fd6d13182b77871d4f65fccdaebb8a72387a726426066d3f8e6aa26b010ea0e8', # xvfb-run | ||
| ], | ||
| 'start_dir': 'xorg-server-%(version)s', | ||
| 'configopts': local_xvfb_configopts, | ||
| 'buildopts': local_xvfb_buildopts, | ||
| 'installopts': local_xvfb_buildopts, | ||
| }), | ||
| ] | ||
|
|
||
| # enable exec permissions for xvfb-run after copying; | ||
| # need to also enable user write permissions on xvfb-run to ensure that copying with preserved permissions works | ||
| postinstallcmds = ["chmod u+w xvfb-run && cp -a xvfb-run %(installdir)s/bin/ && chmod a+x %(installdir)s/bin/xvfb-run"] | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['bin/Xvfb', 'bin/xvfb-run'], | ||
| 'dirs': ['lib/xorg', 'share/fonts/X11/misc', 'share/fonts/X11/util'], | ||
| } | ||
|
|
||
| sanity_check_commands = [ | ||
| "xvfb-run --help", | ||
| "xvfb-run --error-file %(builddir)s/xvfb-run-test.err echo hello", | ||
| ] | ||
|
|
||
| moduleclass = 'vis' |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.